2010-11-17 6 views

Répondre

9

L'espace total de votre élément (tout élément, flottant ou non) prend comme suit:

totalWidth = contentWidth + margin + border + padding

Lorsque vous spécifiez une propriété width avec CSS, vous définissez seulement le contentWidth du au-dessus de l'équation. Par exemple, si vous essayez d'insérer un élément dans un espace donné, vous devez prendre en compte tous les facteurs de largeur, pas un seul. Donc, si vous avez seulement 200px de l'espace, et que vous voulez une marge 5px autour du contenu, avec une bordure 1px et 10px de rembourrage, vous devez travailler comme suit:

contentWidth = availableWidth - margin - border - padding 
contentWidth = 200px - (2x5px) - (2x1px) - (2x10px) 
contentWidth = 200px - 10px - 2px - 20px 
contentWidth = 168px 

**note that the (2xNN) refers to the fact that you have to 
    consider both the impact to both the left and right side 
    of the element in the total. 

Donc, dans votre CSS , vous le style de l'élément comme:

width: 168px; 
border: 1px <color> <type>; 
padding: 10px; 
margin: 5px; 

Voici comment le W3C (à savoir la norme) modèle de boîte fonctionne. Vous pouvez forcer d'autres modèles de boîte en utilisant la propriété CSS box-sizing pour définir le mode de fonctionnement de votre modèle de boîte, mais vous devez utiliser le modèle de boîte standard lorsque cela est possible.

+1

Comment le faire lorsque nous utilisons pour cent? –

3

Rappelez-vous que le remplissage est ajouté à votre largeur. Donc, votre largeur 200px est en réalité 210px si vous incluez le remplissage 5px. La largeur correcte devrait être 190px.

3

La largeur d'un élément ne pas comprennent un rembourrage. Si vous ajoutez un remplissage à un élément, doit diminuer la largeur et la hauteur en conséquence.

Questions connexes