我正在使用:字体变体:小型大写字母;对于某些元素,例如 <h1>、<h2>、...
但是,在德语中,特殊字符“ß”(尖 s)没有等效的大写字母。(“ß”永远不会出现在单词的开头)。
德国正字法规定,在大写字母或小写大写字母的情况下,“ß”必须替换为“ss”。我想知道为什么浏览器不处理这个。
CSS 上的文本作者并不总是知道他的文本是否会以大写字母显示。所以我想使用一个 CSS 声明,用“ss”替换“ß”,但是我不相信这个声明存在。
有什么建议么?
我正在使用:字体变体:小型大写字母;对于某些元素,例如 <h1>、<h2>、...
但是,在德语中,特殊字符“ß”(尖 s)没有等效的大写字母。(“ß”永远不会出现在单词的开头)。
德国正字法规定,在大写字母或小写大写字母的情况下,“ß”必须替换为“ss”。我想知道为什么浏览器不处理这个。
CSS 上的文本作者并不总是知道他的文本是否会以大写字母显示。所以我想使用一个 CSS 声明,用“ss”替换“ß”,但是我不相信这个声明存在。
有什么建议么?
这是一个有趣的问题。在 2007 年,实际上有人提议引入 Unicode 字符的大写变体(http://std.dkuug.dk/jtc1/sc2/wg2/docs/N3227.pdf)。这通过并进入了 2008 年 Unicode 集,为 U+1E9E (ẞ):
ẞ // uppercase
ß // lowercase
然而,根本没有小型股的等价物。
“Capital Esszet”甚至没有用于世界上任何官方正字法中,当然也没有在任何拼音字母中使用它的小写字母形式。因此,您没有 Unicode 代码点。[来源]
text-transform:uppercase
将“ß”(常规 Eszett)转换为“SS”(两个 S 字符)。与此相反,text-transform:lowercase
将“ẞ”(Unicode 大写)转换为“ß”(常规 Eszett)。
这允许我们font-variant:small-caps
通过结合text-transform:uppercase
减小的字体大小来创建一个 hacky 解决方法:
<p class="small-caps">abcß</p>
.small-caps {
text-transform:uppercase;
font-size:75%;
}
这是一个展示所有可能性的JSFiddle 演示。