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 设置高度, ...
随机推荐
- 【转】open参数O_DIRECT的学习
open参数O_DIRECT的学习 使用 O_DIRECT 需要注意的地方 posix_memalign详细解释 free:这里好几个方法我都没测试成功,最后还是用posix_memalign 对齐的 ...
- 使用Angularjs和Vue.js对比
使用Angularjs和Vue.js对比 之前项目都是使用Angularjs,(注明此处主要讲Angularjs 1)在初步使用Vue.js后做一个简答的对比笔记. 首先从理论上简单说一下各自的特点, ...
- Python 由__dict__和dir()引发的一些思考
关于__dict__和dir()的区别和作用请参考这篇文章:http://blog.csdn.net/lis_12/article/details/53521554 说下我当时遇到的问题: class ...
- eclipse查看类源码出现failed to create the part's controls的解决方法
刚装好eclipse和Tomcat ,在看准备使用的一个开源框架jeesite,可是在查看源代码的时候出现这个问题
- 值得学习的C/C++开源框架(转)
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...
- 脑残手贱:被NFS祸害的调度系统
建议:任何时候,都要三思而后行!!! 事请的缘由 系统中采用slurm调度系统来进行并行计算.但是在GPU节点上,无论如何都无法启动slurmd,报插件初始化错误的故障. 因此需要编译新的munge和 ...
- SQLAlchemy复杂查询
最近个人用python + flask搞了一个小项目,ORM用到的是SQLAlchemy. SQLAlchemy的查询方式非常灵活,你所能想像到的复杂SQL 语句,基本上都可以实现.这里简单的总结 ...
- robotframework自动化:登陆操作
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自 ...
- eclipse禁用svg文件Validation
1.打开window>preferences>validation找到xml validator 2.点击xml validator最右侧的按钮打开xml校验规则窗口,选中exclude ...
- 【经验分享】Trachtenberg system(特拉亨伯格速算系统)
二战期间,俄国的数学家Jakow Trachtenberg(1888-1953)被关进纳粹集中营,在狱中,他开发出了一套心算算法,这套算法后来被命名为Trachtenberg(特拉亨伯格)速算系统. ...