• 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>

  • 相关阅读:
    20159302 《网络攻击与防范》第三周学习总结
    Json序列化空时间字段出异常
    IIS 原理
    谴责盛大Bambook 的ADB.EXE流氓进程
    Fix: ADB server didn’t ACK
    在线UI设计
    解决装Windows蓝屏问题。
    如何成为一个C++高级程序员
    Python编程规范及性能优化
    iDempiere 使用指南 插件安装过程
  • 原文地址:https://www.cnblogs.com/xiaohuochai/p/7988987.html
Copyright © 2020-2023  润新知