在Firefox中,连字符既适用于普通文本,也适用于超链接,原因我不明白。
然而,由于我有:not(a)
伪类,所以选择器不应该影响a
元素,也就是说,超链接不应该被连字符。
换句话说,我认为浏览器应该将div :not(a)
理解为“div中的任何元素,除非这样的元素是a
元素”。但它似乎不像我期望的那样起作用..。
还有一个附带的问题。
如果第一个字母是大写字母,那么Chrome/Edge和Firefox连字符为什么都不能理解呢?
我的代码:
body {
outline: 1px solid red;
width: 5em;
}
div :not(a) {
hyphens: auto;
}
a {
overflow-wrap: break-word;
word-break: break-word;
}
<div>
<p lang="en-US">
incomprehensibility incomprehensibility incomprehensibility
<a href="https://incomprehensibility.inc/">https://incomprehensibility.inc/</a>
incomprehensibility
</p>
</div>
发布于 2022-04-30 12:39:41
只需在hyphens
上禁用a
body {
outline: 1px solid red;
width: 5em;
}
div {
hyphens: auto;
}
a {
hyphens: initial; /* this */
overflow-wrap: break-word;
word-break: break-word;
}
<div>
<p lang="en-US">
incomprehensibility incomprehensibility incomprehensibility
<a href="https://incomprehensibility.inc/">https://incomprehensibility.inc/</a>
incomprehensibility
</p>
</div>
https://stackoverflow.com/questions/72068004
复制相似问题