CSS以图换字的9种方法
2024-10-18 22:27:04
前面的话
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>
最新文章
- Python黑帽编程 4.0 网络互连层攻击概述
- “全能”选手—Django 1.10文档中文版Part2
- Understanding the Internal Message Buffers of Storm
- U盘容量减少的解决办法
- Ubuntu 14.10 下安装Synergy,不同电脑之间公用一套键盘鼠标
- 试图从数据库 ‘UFData_001_2003&#39; 中提取的逻辑页 (1:10720) 属于对象 &#39;0&#39;,而非对象 &#39;syscolumns&#39;
- Weka 入门3
- runas /user:administrator cmd 以管理员身份运行CMD
- NOT EXISTS优化
- C++ STL基本容器的使用
- web 前端 shopnc项目 首页分类一开始做前端,我是拒绝的
- linux网络编程学习笔记之三 -----多进程并发服务端
- 软件工程期末考试 AHNU
- ubuntu配置https
- centos7的systemd命令对比
- Python设计模式 - UML - 定时图(Timing Diagram)
- 谷歌被爆秘密研发新系统 欲5年内取代Android
- 查看MySQL版本的命令及常用命令
- Android 动态的给Button、TextView、ImageView等控件设置了background后,再设置padding属性时该属性不起作用
- 51Nod 1084:矩阵取数问题 V2(多维DP)
热门文章
- Fastify 系列教程二 (中间件、钩子函数和装饰器)
- LeetCode 235. Lowest Common Ancestor of a Binary Search Tree (二叉搜索树最近的共同祖先)
- [Bayesian] “我是bayesian我怕谁”系列 - Latent Variables
- JS实现移动端购物车左滑删除功能
- C++ 标准库之iomanip
- C++ 空间配置器(allocator)
- Leetcode题解(二)
- HDU 6143 Killer Names
- poj 2345 Central heating
- 刘强1109 JavaScript基础二(分支与循环结构)