IE nicht einfärben: vorher als Tabellenzelle, warum?

8
%Vor%

Ich würde erwarten, dass dies zu etwas wie führt, aber ich bekomme stattdessen nur bei Internet Explorer (beliebiger Version).

Ist das ein Fehler oder mache ich etwas falsch?

    
Fabio Iotti 11.07.2014, 08:24
quelle

2 Antworten

4

Dies scheint ein Fehler in IE zu sein. Wenn Sie das Element in IE 11 Developer Tools überprüfen, werden alle Deklarationen für das Pseudoelement :before durchgestrichen angezeigt (z. B. font settings, wenn Sie sie hinzufügen), aber die Einstellungen display und content wirken sich aus das Rendern.

Um diesen Fehler zu umgehen, genügt es in diesem einfachen Fall display: block zu setzen, wie @BeatAlex suggeriert. In einer komplizierteren Situation benötigen Sie wahrscheinlich kompliziertere Problemumgehungen.

    
Jukka K. Korpela 11.07.2014, 08:57
quelle
3

Dies scheint eine Regression zu sein. Es funktioniert auf IE8 unter Windows 7, aber nicht IE9 oder höher, sogar im IE8-Modus. Komisch, ich habe das vorher nicht bemerkt, da ich mich erinnere, dass ich vor einiger Zeit auf dasselbe Problem gestoßen bin. Ich dachte nie, dass so etwas jemals zurückgehen könnte, geschweige denn daran, die Ergebnisse in IE8 und IE9 zu vergleichen.

Andere Schriftart-bezogene Stile sind ebenfalls betroffen. Es wurde vorher gemeldet, aber dort scheint keine Antwort zu geben, außer "wir schauen uns das an", und das war vor einem Jahr.

Problemumgehungen umfassen die Verwendung von display: table-cell mit einem tatsächlichen Element anstelle eines Pseudo-Elements oder die einfache Verwendung von display: table-cell überhaupt - verwenden Sie stattdessen display-block , wenn Sie nicht unbedingt ein tabellenbasiertes Layout benötigen.

    
BoltClock 11.07.2014 08:55
quelle