Warum berücksichtigt meine Legende nicht die Auffüllung des übergeordneten Feldsets?

8

Schau dir das an:

Das <fieldset> hat oben ein Padding von 50px . <legend> respektiert dies nicht, aber <p> tut dies. Warum ist das?

Hinweis: Ich verwende Bootstrap im Bild unten und in meinem Code-Stift, aber die Frage gilt unabhängig davon, ob Bootstrap verwendet wird.

HTML

%Vor%

CSS

%Vor%

Code Pen

    
Adam Zerner 18.09.2015, 22:01
quelle

2 Antworten

2

Weil der Abschnitt Rendering der HTML5-Spezifikation besagt also

  

10.3.13 Die fieldset und legend Elemente

     

Wenn das fieldset -Element über ein Kind verfügt, das den Bedingungen entspricht   In der folgenden Liste ist das erste Kind das fieldset   element gerenderte Legende :

     
  • Das Kind ist ein legend -Element.
  •   
  • Das Kind ist nicht out-of-flow (z. B. nicht absolut positioniert oder floated).
  •   
  • Das Kind erzeugt eine Box (z. B. ist es nicht "display: none").
  •   

A fieldset Element rendered legende , falls vorhanden, wird erwartet   über den oberen Rand des fieldset -Elements gerendert werden   als "Block" -Box (Überschreiben eines expliziten "Anzeige" -Wertes).

    
Oriol 19.09.2015, 00:04
quelle
0

Filedset und Legend arbeiten zusammen und p agiert als eigene Entity. Aus diesem Grund respektiert die Legende das Padding nicht. Die Legende befindet sich im Feldsatz. Wenn du die Legende unter fieldset haben willst, kannst du das css:

verwenden %Vor%     
Victor Luna 18.09.2015 23:14
quelle

Tags und Links