Comment est-padding-top en tant que pourcentage de la mère de la largeur?
Voici un exemple:
Avis de la façon dont tout le rouge divs sont les mêmes height
et ont padding-top:100%;
, mais ils A & B sont différents rembourrage tailles... et il semble que le largeur du parent changements de cette valeur (note que C modifie la height
de la mère, mais qui n'altère pas le rembourrage).
Pourquoi est-rembourrage liées à la largeur de cette façon?
Edit: pour des raisons historiques, et dans le cas jsfiddle s'en va, le code que j'ai utilisé dans mon exemple est comme suit...
CSS:
.outer {
background-color: green;
height: 300px;
width: 70px;
float: left;
margin-right: 10px;
}
.middle {
background-color: red;
height: 100px;
width: 50px;
padding-top: 100%;
}
.inner {
background-color: blue;
height: 3px;
width: 100%;
}
HTML:
<div class='outer'>
<div class='middle'>
A
<div class='inner'>
</div>
</div>
</div>
<div class='outer' style='width:100px'>
<div class='middle'>
B
<div class='inner'>
</div>
</div>
</div>
<div class='outer' style='height:400px'>
<div class='middle'>
C
<div class='inner'>
</div>
</div>
</div>
Vous devez vous connecter pour publier un commentaire.
De CSS design fluide: margin-top sur la base du pourcentage augmente lorsque le conteneur largeur augmente :
Directement de la bouche du cheval:
Juste parce que c'est la façon dont il est censé être 🙂 http://www.w3.org/TR/CSS2/box.html#propdef-padding-top
C'est vrai que le rembourrage de pourcentage par rapport à la largeur, mais plus précisément,
padding: 100%
peut être aussi lu commepadding: *width-of-container*px
.La Un et C blocs avaient une largeur de
70px
. L'application depadding: 100%
était la même quepadding: 70px
La hauteur d'un élément s'appuie sur son contenu, qui comprennent le remplissage et la marge de ses éléments enfant, de sorte que serait une boucle, si l'enfant les éléments de compter sur ses parents hauteur.