溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css中text-emphasis屬性有什么用

發(fā)布時間:2021-07-05 13:46:16 來源:億速云 閱讀:170 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“css中text-emphasis屬性有什么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“css中text-emphasis屬性有什么用”這篇文章吧。

就一般而言,我們所做的頁面并非對于文學類用戶,因此也不太可能會接觸到“著重號”這個符號。如果對于 word 不陌生的朋友應該會知道在 word 中有一個文本設置,就是設置“著重號”的。

css中text-emphasis屬性有什么用

電腦中沒有 word,就從百度上搜了一張,反正呢,大概就是這個效果了。

那么本文要說的 CSS 屬性也就是這個“著重號”的屬性,我們可以通過 text-emphasis 屬性設置文本“著重號”樣式。這是 text-emphasis-colortext-emphasis-style 這兩個屬性的簡寫方式,也就是說,我們可以通過 text-emphasis 同時設定“著重號”字符樣式以及顏色,比如:

p {
    -webkit-text-emphasis: dot red;
    text-emphasis: dot red;
}

至于在 word 中看到的是不是這樣的效果,這個我也不知道了,反正呢,在 web 頁面中,我們所看到的著重號不僅可以修改字符樣式以及顏色,還可以修改大小和位置。

  • text-emphasis-style 有好幾個屬性值,并且也可以輸入任意字符;

  • text-emphasis-color 則可以使用常規(guī)的 web 中使用的顏色值,rgba()、rgb()什么的都可以;

而如果想要調(diào)整位置的話,那么就是要額外一個屬性 text-emphasis-position,雖然看著這個屬性跟 stylecolor 很相近,但并不是 text-emphasis 簡寫中的一個。那么對于 text-emphasis-position 在常規(guī)的情況下,我們能控制的位置是以及這兩個方向,也就是:

  • text-emphasis-position: over;

  • text-emphasis-position: under;

如想要了解更多的話,可以翻閱一下 MDN 中的具體介紹,這里不贅述。那么按照上面說的,我們把 CSS 部分修改一下,就像這樣:

p {
    -webkit-text-emphasis: '——' rgba(255, 0, 0, .5);
    text-emphasis: '——' rgba(255, 0, 0, .5);
    -webkit-text-emphasis-position: under;
    text-emphasis-position: under;
}

看著是不是很像文本的下劃線 text-decoration: underline; 的效果呢?那我們再增加一條這個屬性看看效果。

p {
    -webkit-text-emphasis: '——' rgba(255, 0, 0, .5);
    text-emphasis: '——' rgba(255, 0, 0, .5);
    -webkit-text-emphasis-position: under;
    text-emphasis-position: under;
    text-decoration: underline;
}

這兩個是不同的屬性,差異必定也是有的。具體就不細化,主要的差異通過文檔也是可以看到。這里需要提一下的是,text-decoration 屬性值如果父級設定了 underline 樣式,那么子級設定 overline,兩個線條樣式是會存在,就算是更換了 text-decoration-style 值也是如此。

text-emphasis 當我們改變了其中的屬性值之后,結(jié)果也就不同。同時,如果我們未設定顏色值的話,“著重號”的顏色將會繼承元素自身的文本顏色。因為可以設定顏色值,所以我們同樣可以使用 transparent 直接設置元素為透明

提到繼承,這里需要注意一個點,“著重號”的文本大小差不多是正常文本的一半左右。

回顧一下前面提到的幾個點:

  • 可以輸入任意字符;

  • 如未設定顏色將繼承元素自身的 color 值,也可以設置為透明;

  • “著重號”的大小是正常文本的一半左右;

結(jié)合這幾個點,我們可以這樣玩一下。

css中text-emphasis屬性有什么用

這里有一些地方是沒有“著重號”,有一些是空白的或者特殊字符,部分是隨便輸入,部分是故意而為之。主要是想看看在一些特殊字符情況下,“著重號”的顯示情況。

  • 只會顯示一個字符,無論該字符是全角還是半角字符,甚至是 emoji 特殊字符;

  • 只在可見文本字符上展示“著重號”;

那么這個效果的代碼就是:

<p>文本內(nèi)容,<span>一個 span 元素</span><em>是 em&nbsp;&yen;&#67;元素哦</em>,啊啊啊……</p>

css中text-emphasis屬性有什么用

那么這篇內(nèi)容就到這?不,還有一個東西我想說一下。從上面的效果圖中可以看到,“著重號”是在文本下面或者上面的,那么對于一個正常的文本來說,行高(line-height)相信大家不會陌生。那么在有“著重號”的部分,加上 line-height 后會是怎么樣的效果呢?

line-height: 20px; 加到 p 中之后,并未看到任何變化;而如果把 20px 換成 60px,有變化了,高度撐開了一丟丟;那再加大點,撐開了,“著重號”緊隨著文本隔開了上下行內(nèi)容。

css中text-emphasis屬性有什么用

突發(fā)奇想,當 line-height 的值比較小的時候,并未看到效果,正常情況下,沒有 text-emphasis 時,比較小的 line-height 會讓多行內(nèi)容重疊,就像這樣:

css中text-emphasis屬性有什么用

可現(xiàn)在有了 text-emphasis 后,并不會重疊了,看來是直接影響了 line-height 最小值的情況,必須保證多行之間的高度值在某個特定值,看著似乎是 1em 左右的大小,以便于放得下比文字正常 font-size 小一半的,且要與文本內(nèi)容保持一定間距的“著重號”。

回到「冷門的 text-emphasis有什么用呢?」這個話題上。是啊,有什么用呢,除了正常表示某部分的文字內(nèi)容是著重標記的以外,似乎也感受不到有什么用了。除非就是我們重復利用這個“著重號”的特性來玩,尤其是會撐開 line-height,以保證最少有 1em 左右的空間存在于多行之間。那么如果我們使用一個透明顏色的“著重號”,是不是代表著這部分文字的永遠都不會疊加呢?

然后再結(jié)合 emoji 或者上下錯亂的組合,會不會玩出不一樣的天空呢?

回頭想想啊,一個好好的“著重號”,還是讓它做自己的事情,用來標注文本著重說明吧,還是不玩了。

以上是“css中text-emphasis屬性有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI