当前位置: 首页 > news >正文

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>

 

转载于:https://www.cnblogs.com/xiaohuochai/p/7988987.html

相关文章:

  • 部署Oracle 11.2.0.3 RAC (二)
  • [WinForm]DataGridView通过代码新增行问题
  • linux下配置SS5(SOCK5)代理服务
  • Spring.net 学习笔记之ASP.NET底层架构
  • stagefright框架 Video Playback的流程
  • EF架构~LinqToEntity里实现left join的一对一与一对多
  • Linux一般由四个主要部分组成
  • sshfs
  • Trie树(字典树)
  • MYSQL 的一些基本操作
  • Alpine上安装Docker引擎
  • glulookat函数
  • oracle执行一条插入语句一直执行
  • SAP QM Batch to Batch的转移过账事务中的Vendor Batch
  • addMusic 和playMusic(AVAudioPlayer)
  • 深入了解以太坊
  • 【Leetcode】101. 对称二叉树
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 「面试题」如何实现一个圣杯布局?
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript HTML DOM
  • JS 面试题总结
  • LeetCode18.四数之和 JavaScript
  • MobX
  • mongodb--安装和初步使用教程
  • rc-form之最单纯情况
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Theano - 导数
  • 创建一种深思熟虑的文化
  • 和 || 运算
  • 机器学习 vs. 深度学习
  • 软件开发学习的5大技巧,你知道吗?
  • 学习HTTP相关知识笔记
  • ​ubuntu下安装kvm虚拟机
  • $$$$GB2312-80区位编码表$$$$
  • $NOIp2018$劝退记
  • (39)STM32——FLASH闪存
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三)终结任务
  • (十五)使用Nexus创建Maven私服
  • (转)使用VMware vSphere标准交换机设置网络连接
  • ***利用Ms05002溢出找“肉鸡
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .NET Core 版本不支持的问题
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .net core控制台应用程序初识
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net 后台导出excel ,word
  • .NET开源项目介绍及资源推荐:数据持久层
  • .Net语言中的StringBuilder:入门到精通
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现