當我使用此 CSS 代碼洗掉所有樣式時:
* {
all: unset;
display: revert;
}
CSS 連字符不影響 Chrome 瀏覽器。例如:
div {
font-size: 3rem;
-webkit-hyphens: auto;
hyphens: auto;
word-break: break-word;
word-wrap: break-word;
width: 200px;
background: #ddd;
}
CodePen 上的演示
有什么方法可以在不洗掉上面的 CSS 重置代碼的情況下解決它?
uj5u.com熱心網友回復:
我對hyphens
CSS 屬性并不十分熟悉,但它似乎只在您使用lang=
. 例如<html lang="en">...</html>
,將允許您hyphens
在檔案中的任何位置使用。
在您的CodePen 示例中,該lang="en"
屬性由 CodePen 自動添加到<html>
屬性中。
現在 Chrome 似乎做了(而 Firefox沒有做)是它看到了all: unset;
HTML 屬性上的屬性,只是忘記了它的lang="en"
存在,至少對于連字符的目的。
您可以通過lang
直接向 div 添加屬性并all: unset;
僅在該 div 上添加,然后將其從 div 中洗掉來確認這一點。
這里的一個快速解決方法是將您的 CSS 重置選擇器更改為html *
而不是*
,即保留<html>
標簽內的所有內容,但不包括<html>
標簽本身,如果您對這種折衷方案滿意的話:
html * {
all: unset;
display: revert;
}
CodePen 上的完整示例
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/469520.html