前面的话

  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种方法的更多相关文章

  1. 网页开发中利用CSS以图换字的多中实现方法总汇

    在h1标签中,新增span标签来保存标题内容,然后将其样式设置为display:none <style> h1 { width: 64px; height: 64px; backgroun ...

  2. 用 CSS 隐藏页面元素的 5 种方法

    原文链接:用 CSS 隐藏页面元素的 5 种方法,转载请注明来源! 用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 disp ...

  3. CSS 隐藏页面元素的 几 种方法总结

    用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0.将 visibility 设为 hidden.将 display 设为 none 或者将 position 设为 absolu ...

  4. CSS中隐藏内容的3种方法及属性值

    CSS中隐藏内容的3种方法及属性值 (2011-02-11 13:33:59)   在制作网页时,隐藏内容也是一种比较常用的手法,它的作用一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出 ...

  5. css划隔横线的两种方法

    css划隔横线的两种方法  方法一:用DIV,代码如下:(推荐此方法)    <div style="width:800px;height:1px;margin:0px auto;pa ...

  6. 【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?

    摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class ...

  7. css实现垂直水平居中的5种方法

    css实现垂直水平居中的5种方法 给父元素设置table-cell,text-align,vertical-align #big{ width: 200px; height: 200px; borde ...

  8. CSS中隐藏内容的3种方法

    CSS中隐藏内容的3种方法 一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等. 1.使用display:none来隐藏所有内容 display:none可 ...

  9. css清除浮动float的几种方法

    摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?     一.抛一块问题砖(display: block)先看现象: 这里我没有给最外层的DIV.outer 设置高度, ...

随机推荐

  1. c++连接数据库 在vc6.0

    配置相关环境 我的mysql安装路径为E:\mysql-5.5.28-win32所以要在VC中设置include路径和lib的路径. 添加MySql的include目录到VC工作台中Project-& ...

  2. Java基础笔记13

    1.集合与对象数组的区别 集合与对象数组共同点:都是存放对象的容器: 区别在于:①集合是没有长度限制的:②集合容器中没有类型的限制. 2.集合(都在Java.util包下) 常用的集合:Collect ...

  3. Element ui表格展示多张图片问题

    显示一张图片的方法: <el-table-column label="头像" width="100"> <template scope=&qu ...

  4. ES6新特新之箭头函数使用细节

    <=这个大家都知道是小于等于,那么=>是什么呢?今天我们就来探究一下ES6的新特新-----胖箭头函数. 其他语言的函数定义都是很简洁的,但是为什么javaScript的就那么复杂呢?还必 ...

  5. BZOJ-1968

    1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 2308  Solved: 1768[Submit] ...

  6. Spring AOP分析(1) -- 基本概念

    AOP全称是Aspect Oriented Programming,面向切面编程,是面向对象编程(OOP:Object Oriented Programming)的补充和完善.一般在系统中,OOP利用 ...

  7. String类型

    String字符串的length属性返回的是该字符串里面16位字符的数量,如果字符串包含double-byte的字符,那么返回的数量可能不对   字符串一旦创建就修改不了 var lang = “Ja ...

  8. linux-echo

    echo 更新时间: 2017-10-11-11:55:24 echo:打印输出内容 参数选择 -e 激活转义字符 命令:echo 123    ,此命令 就会输出123 命令: echo -e &q ...

  9. Mac Os系统设置

    显示Mac隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bool true 隐藏Mac隐藏文件的命令:defaults wri ...

  10. 关于史考特证券(scottrade Inc)资金转出的手续费问题

    投资美股账户的朋友可能开始的时候并没有关心史考特账户转出的费用,其实,仔细算一下这个费用还是蛮贵的,根据官网的文档可以明确知道,转出史考特账户资金到国内银行的费用由以下几项组成: 1. 国际电汇资金费 ...