當我使用此 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熱心網友回復:
我對hyphensCSS 屬性并不十分熟悉,但它似乎只在您使用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
