巧用css text-indent減小中文標點符號的占位大小


由於設計需要,我們的頁面中經常會有如下效果:

效果圖

可是我們實現出來的效果確實這樣的:

實現效果圖

看起來兩行文本沒有對齊嘛,仔細檢查后原來是字符的原因,因為是中文標點符號占半個字的位置。不信?選中下漢字標點符號看一下即可。至於為什么會占半個字的位置,個人覺得可能是為了方便排版,標點符號也要占一個漢字的空間(想想小時候寫的作文標點符號是不是都占一格)。標點符號相對於格子左對齊,所以自然一側留下一半空間。具體原因求科普!查明原因即對症下葯,既然中文標點符號占漢字半個位置,那么我們使用CSStext-indent:-.5em;樣式修改即可。修改后的效果如下圖所示:

修改后的效果圖

text-indent:CSS1版本屬性,規定文本塊中首行文本的縮進。允許使用負值。如果使用負值,那么首行會被縮進到左邊。可使用指定長度或百分比和inherit任何的版本的 Internet Explorer (包括 IE8)都不支持屬性值 "inherit"。

emCSS3相對單位,基准點為父節點字體的大小,如果自身定義了font-size按自身來計算(瀏覽器默認字體是16px),整個頁面內1em不是一個固定的值。

除了上述的使用,那么text-indent還有什么妙用呢?

  • 首行縮進兩字符:text-indent:2em;
  • 隱藏字符:text-indent: -999em;
  • 更多玩法,等你發掘

擴展鏈接:

  1. CSS text-indent屬性
  2. [text-indent:-9999px 字體隱藏問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM