前面的话

  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>

最新文章

  1. Python黑帽编程 4.0 网络互连层攻击概述
  2. “全能”选手—Django 1.10文档中文版Part2
  3. Understanding the Internal Message Buffers of Storm
  4. U盘容量减少的解决办法
  5. Ubuntu 14.10 下安装Synergy,不同电脑之间公用一套键盘鼠标
  6. 试图从数据库 ‘UFData_001_2003&#39; 中提取的逻辑页 (1:10720) 属于对象 &#39;0&#39;,而非对象 &#39;syscolumns&#39;
  7. Weka 入门3
  8. runas /user:administrator cmd 以管理员身份运行CMD
  9. NOT EXISTS优化
  10. C++ STL基本容器的使用
  11. web 前端 shopnc项目 首页分类一开始做前端,我是拒绝的
  12. linux网络编程学习笔记之三 -----多进程并发服务端
  13. 软件工程期末考试 AHNU
  14. ubuntu配置https
  15. centos7的systemd命令对比
  16. Python设计模式 - UML - 定时图(Timing Diagram)
  17. 谷歌被爆秘密研发新系统 欲5年内取代Android
  18. 查看MySQL版本的命令及常用命令
  19. Android 动态的给Button、TextView、ImageView等控件设置了background后,再设置padding属性时该属性不起作用
  20. 51Nod 1084:矩阵取数问题 V2(多维DP)

热门文章

  1. Fastify 系列教程二 (中间件、钩子函数和装饰器)
  2. LeetCode 235. Lowest Common Ancestor of a Binary Search Tree (二叉搜索树最近的共同祖先)
  3. [Bayesian] “我是bayesian我怕谁”系列 - Latent Variables
  4. JS实现移动端购物车左滑删除功能
  5. C++ 标准库之iomanip
  6. C++ 空间配置器(allocator)
  7. Leetcode题解(二)
  8. HDU 6143 Killer Names
  9. poj 2345 Central heating
  10. 刘强1109 JavaScript基础二(分支与循环结构)