CSS以图换字的9种方法
前面的话
CSS以图换字的技术,很久都没人提起了。它是一种在h1标签内,使用图像替换文本元素的技术,使页面在设计和可访问性之间达到平衡。本文将详细介绍CSS以图换字的9种方法
文字隐藏
在h1标签中,新增span标签来保存标题内容,然后将其样式设置为display:none
<style>
h1 {
width: 64px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
font: 12px/1 '微软雅黑';
}
span {
display: none;
}
</style>
<h1>
<span>小火柴的蓝色理想</span>
</h1>
负缩进
通过使用text-index:-9999px,这样一个比较大的负缩进,使文本移到页面以外的区域
<style>
h1 {
width: 64px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
font: 12px/1 '微软雅黑';
text-indent:-9999px;
}
</style>
<h1>小火柴的蓝色理想</h1>
负margin
通过使用margin-left:-2000px,使盒模型向左偏移2000px,然后将宽度设置为2064px,从而页面中只显示2064px中64px的部分。将图片的背景设置为右对齐,且不重复
<style>
h1 {
width: 2064px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico) right no-repeat;
font: 12px/1 '微软雅黑';
margin-left:-2000px;
}
</style>
<h1>小火柴的蓝色理想</h1>
上padding
因为背景是显示在padding-box区域中的,而文本是显示在content-box区域中。所以,将height设置为0,用padding-top来替代height,并设置overflow:hidden。则,可以只显示背景不显示文本
<style>
h1 {
width: 64px;
padding-top: 64px;
height:0;
overflow:hidden;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
font: 12px/1 '微软雅黑';
}
</style>
<h1>小火柴的蓝色理想</h1>
0宽高
通过新增一个span标签来保存文本内容,并将该标签的宽高设置为0,再设置溢出隐藏即可
<style>
h1 {
width: 64px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
font: 12px/1 '微软雅黑';
}
span{display:block;width: 0;height:0;overflow:hidden;}
</style>
<h1><span>小火柴的蓝色理想</span></h1>
文本透明
设置文本的颜色为transparent,并设置font-size为1px,即减少行高的影响
<style>
h1 {
width: 64px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
color:transparent;
font-size:1px;
}
</style>
<h1>小火柴的蓝色理想</h1>
伪元素
使用before伪元素,content设置为图片的URL,在h1元素上设置溢出隐藏
<style>
h1 {
width: 64px;
height: 64px;
overflow: hidden;
font: 12px/1 '微软雅黑';
}
h1:before {
content: url(https://static.xiaohuochai.site/icon/icon_64.ico);
display: block;
}
</style>
<h1>小火柴的蓝色理想</h1>
正缩进
设置text-indent:100%,使文本缩进到父元素宽度区域的右侧。然后配合设置white-space:nowrap和overflow:hidden,使文本不换行,并溢出隐藏。从而隐藏文本内容
<style>
h1 {
width: 64px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
font: 12px/1 '微软雅黑';
}
</style>
<h1>小火柴的蓝色理想</h1>
字体大小
通过设置font-size:0,可以将字体大小设置为0
<style>
h1 {
width: 64px;
height: 64px;
background: url(https://static.xiaohuochai.site/icon/icon_64.ico);
font-size:0;
}
</style>
<h1>小火柴的蓝色理想</h1>
CSS以图换字的9种方法的更多相关文章
- 网页开发中利用CSS以图换字的多中实现方法总汇
在h1标签中,新增span标签来保存标题内容,然后将其样式设置为display:none <style> h1 { width: 64px; height: 64px; backgroun ...
- 用 CSS 隐藏页面元素的 5 种方法
原文链接:用 CSS 隐藏页面元素的 5 种方法,转载请注明来源! 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 disp ...
- CSS 隐藏页面元素的 几 种方法总结
用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolu ...
- CSS中隐藏内容的3种方法及属性值
CSS中隐藏内容的3种方法及属性值 (2011-02-11 13:33:59) 在制作网页时,隐藏内容也是一种比较常用的手法,它的作用一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出 ...
- css划隔横线的两种方法
css划隔横线的两种方法 方法一:用DIV,代码如下:(推荐此方法) <div style="width:800px;height:1px;margin:0px auto;pa ...
- 【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? 一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class ...
- css实现垂直水平居中的5种方法
css实现垂直水平居中的5种方法 给父元素设置table-cell,text-align,vertical-align #big{ width: 200px; height: 200px; borde ...
- CSS中隐藏内容的3种方法
CSS中隐藏内容的3种方法 一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等. 1.使用display:none来隐藏所有内容 display:none可 ...
- css清除浮动float的几种方法
摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? 一.抛一块问题砖(display: block)先看现象: 这里我没有给最外层的DIV.outer 设置高度, ...
随机推荐
- Docker部属Nsq集群
用一了段时间NSQ还是很稳定的.除了稳定,还有一个特别值的说的就是部署非常简单.总想写点什么推荐给大家使用nsq来做一些东西.但是就是因为他太简单易用,文档也比较简单易懂.一直不知道要写啥!!!!! ...
- ELK系列~对fluentd参数的理解
这段时候一直在研究ELK框架,主要集成在对fluentd和nxlog的研究上,国内文章不多,主要看了一下官方的API,配合自己的理解,总结了一下,希望可以帮到刚入行的朋友们! Fluentd(日志收集 ...
- Apache常用配置
Apache配置文件:conf/httpd.conf.(注意:表示路径时使用‘/’而不使用‘\’,注释使用‘#’) 1. ServerRoot:服务器根目录,也就是Apache的安装目录,其他的目录配 ...
- Tomcat 服务器及使用Eclipse绑定Tomcat并发布应用
一.简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成 ...
- java基础解析系列(九)---String不可变性分析
java基础解析系列(九)---String不可变性分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---In ...
- chromium源码阅读--进程间通信(IPC)
第一篇就有提到Chromium是目前默认是采用多进程架构,当然,chromium有singe-process的版本. 多进程与多线程的区别,确实有很多可以讲的,我的另一篇博客也讲了一些,这里是从浏览器 ...
- linux学习(九)set_uid、set_gid、stick_bit、软链接、硬链接
一.set_uid set_uid其实是一种特殊权限,我们看一个文件: [root@iZ25lzba47vZ ~]# ls -l /usr/bin/passwd -rwsr-xr-x. root ro ...
- redis源码分析之发布订阅(pub/sub)
redis算是缓存界的老大哥了,最近做的事情对redis依赖较多,使用了里面的发布订阅功能,事务功能以及SortedSet等数据结构,后面准备好好学习总结一下redis的一些知识点. 原文地址:htt ...
- NFS启动时报错Linux NFS:could not open connection for tcp6
1.1 启动时出现的错误 [root@znix ~]#/etc/init.d/nfs start Shutting down NFS daemon: ...
- awk巩固练习题
第1章 awk数组练习题 1.1 文件内容(仅第一行) [root@znix test]# head -1 secure-20161219 access.log ==> secure-20161 ...