Div-Anzeige: Initialisierung funktioniert nicht wie vorgesehen in ie10 und chrome 29

7

Ich möchte ein div mit den folgenden Einschränkungen anzeigen:

  • versteckt sich automatisch unter 1024px width
  • kann mit einer Schaltfläche unter 1024px Breite umschaltbar sein, aber wenn ich irgendwo (nicht innerhalb des div) klicke, sollte die activeDiv Klasse entfernt werden

Ich habe ein Dummy-Beispiel im Codepen

Die folgenden Probleme traten auf:

  • In IE10 funktioniert der Umschaltknopf einfach nicht (div nicht ein- / ausblenden) Ich überprüfe mit den Entwicklertools, aber kein Zeichen von display: initial
  • In Chrome 29 erschien der Div als nächstes der Button nicht darunter. (Firefox ist das gleiche)
    Ich weiß, dass der Standardwert display für div block ist, aber dieser CSS ist nicht nur für div -Tags, deshalb versuche ich initial .
  • zu benutzen
Péter 17.09.2013, 13:20
quelle

2 Antworten

20

initial macht nicht bedeutet "der Standardwert einer gegebenen Eigenschaft für ein bestimmtes Element". Es bedeutet "der Standardwert einer bestimmten Eigenschaft, wie durch die Spezifikation definiert". Der Anfangswert von display ist inline , nicht block , wie angegeben hier . Dies ist unabhängig davon, auf welche Art von Element Sie es anwenden. Und wie bereits erwähnt, unterstützt IE das initial Schlüsselwort nicht.

Wenn Sie möchten, dass ein Element als Block angezeigt wird, verwenden Sie display: block . Wenn Sie es inline anzeigen möchten, verwenden Sie display: inline . Wenn Sie möchten, dass es den Standardwert für den Browser verwendet, setzen Sie nicht die Eigenschaft display überhaupt.

    
BoltClock 17.09.2013, 13:52
quelle
1

Was meinst du damit?

  

diese CSS ist nicht nur für div Tags

display: initial ist CSS3 und wird nicht von IE10 unterstützt. Wenn keine Anzeigeregel angegeben ist, von der sie erben kann, wird sie wieder angezeigt: inline.

%Vor%

bietet eine Fallback-Anzeige: block.

    
urz0r 17.09.2013 13:35
quelle

Tags und Links