首頁 >web前端 >css教學 >淺談CSS以圖換字的9種方法

淺談CSS以圖換字的9種方法

小云云
小云云原創
2017-12-09 10:26:351910瀏覽

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 &#39;微软雅黑&#39;;
    }
    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 &#39;微软雅黑&#39;;
      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 &#39;微软雅黑&#39;;
      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 &#39;微软雅黑&#39;;
    }
  </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 &#39;微软雅黑&#39;;
    }
    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 &#39;微软雅黑&#39;;
    }
    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 &#39;微软雅黑&#39;;
    }
  </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的文字字體顏色如何設定

CSS3圖片混合怎麼使用

怎麼用css3做出圖示效果

以上是淺談CSS以圖換字的9種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn