Ich stieß auf einen CSS-Fehler in Firefox, der in IE und Chrome funktioniert. Das folgende Beispiel zeigt mehrere a
Tags, die alle die kleinste mögliche Größe haben sollten und die a
Tags mit .first-capitalized
sollten ihren ersten Buchstaben groß geschrieben haben. Aber die Änderung mit dem Pseudo Selektor ::first-letter
zerstört dieses Verhalten. Gibt es einen CSS-Hack, so verhält es sich in Chrome und IE?css erster Buchstabe Glitch in Firefox
(Sie können die korrekte Darstellung in Firefox angezeigt werden, wenn Sie die font-size
Regel in der .first-capitalized
Wählschalter deaktivieren und reaktiv.)
a{
font-size: 14pt;
display: inline-block;
}
.first-capitalized{
font-size: 9pt;
}
.first-capitalized::first-letter{
font-size: 14pt;
}
<a href="">LOREM</a>
<a href="" class="first-capitalized">IPSUM</a>
<a href="">DOLOR</a>
<a href="" class="first-capitalized">SIT</a>
<a href="">AMET</a>
<a href="" class="first-capitalized">CONSETETUR</a>
<a href="">SADIPSCING</a>
<a href="" class="first-capitalized">ELITR</a>
Diese fixen nicht zuverlässig arbeiten Nach 20 Aktualisierungen scheinen sie ihre Funktionalität zu verlieren!
EDIT:
Ich schrieb ein "fix" in js, die ebenso wie die Korrektur funktioniert von @LukyVi
var continueFlag = true;
for (var i = 0; continueFlag && i < document.styleSheets.length; i++) {
var sheet = document.styleSheets[i];
for (var n = 0; continueFlag && n < sheet.cssRules.length; n++) {
var rule = sheet.cssRules[n];
if (rule.selectorText == '.first-capitalized') {
var orig = rule.style['font-size'];
rule.style['font-size'] = '0px';
continueFlag = false
window.requestAnimationFrame(function (rule) {
//font size = 0px gets rendered
window.requestAnimationFrame(function (rule) {
//font size = orig gets rendered
rule.style['font-size'] = orig;
}.bind(this, rule))
}.bind(this, rule)
)
}
}
}
Es scheint so, als ob die Elemente mit dem Pseudonym-Element des ersten Buchstabens so viel Platz einnehmen, als wenn das ganze Wort die größere Schriftgröße hätte. Dann, wenn in Entwickler-Tools umgeschaltet Firefox korrigiert dies (wie OP erwähnt) Sieht aus wie ein Firefox-Fehler für mich – Danield
@Danield genau was ich though :(Haben Sie irgendwelche Ideen, wie Sie dieses Problem beheben? – Feirell