2009-09-09 6 views
5


Rembourrage le haut et le bas de l'élément en ligne

Citation du Chef premier html:

Vous pouvez ajouter un rembourrage en haut et en bas de l'élément en ligne, mais le rembourrage ne modifie pas la l'espacement des autres éléments en ligne autour d'elle, de sorte que le rembourrage se chevaucher d'autres éléments en ligne

a) pour autant que je comprends la citation ci-dessus, en ajoutant un rembourrage à la partie supérieure et inférieure de l'élément de ligne ne fonctionne pas (toujours) avoir des effets sur les éléments environnants et donc sur le look de la page ?!

b) Mais qu'entend-on exactement par "padding chevaucher d'autres éléments en ligne"? Cela suggère-t-il que dans certaines circonstances, le rembourrage (haut et bas d'un élément en ligne) aura un effet sur le look de la page ?!


thanx

Répondre

6

Si je comprends bien, et d'un example je viens de faire:

a) le texte est un élément en ligne, donc me ajoutant une période avec le dessus et le rembourrage inférieur b) comme vous pouvez le voir, puisque j'ai ajouté une couleur à la plage, la couleur chevauchera les autres lignes.

J'espère que cela est à la fois à droite, et répond à votre question: D

+1

Bizarre, la couleur d'arrière-plan (jaune) de l'élément en ligne ne cache pas le texte sur la ligne au-dessous de l'élément, alors qu'il cache les textes sur la ligne au-dessus de l'élément. Pourquoi? – SourceC

+1

@SourceC: Ce que je ne peux pas répondre :(Je suppose qu'il change probablement de navigateur en navigateur, mais je ne l'ai pas vérifié – theIV

+1

Il peint le texte du début à la fin, donc il peint la première ligne , puis le fond jaune de l'élément inline, qui écrase la première ligne à cause du padding, puis le texte noir de l'élément inline spécial, puis les lignes suivantes: – fret

1

Le rembourrage aura une incidence sur l'élément lui-même. Par exemple, tout texte dans l'élément sera plus rembourré à partir d'autres éléments DOM.

+0

Que sont les éléments DOM? – SourceC

+1

Eléments du modèle d'objet de document. Fondamentalement, toute balise HTML. –

+0

ne sera pas en ligne élément seulement être rembourré à partir des éléments à gauche et à droite de celui-ci, mais pas des éléments sur le dessus ou en dessous d'elle? – SourceC

2

Essayez ceci:

<style type="text/css"> 
    div { background: blue; height: 4em; padding: 1em } 
    span { background: red; padding: .5em; } 
</style> 

<div> 
    <span>one</span> 
    <br/> 
    <span>two</span> 
</div> 
13

Utiliser inline-block à la place. Ajoutez ces propriétés à tous les éléments sur lesquels vous souhaitez ajouter un remplissage. Par exemple:

a:link { 
display: inline-block; 
display: -moz-inline-box; 
-moz-box-orient: vertical; 
vertical-align: top; 
zoom: 1; 
*display: inline; 
} 
+0

Que fait le '*' avant le dernier affichage? erreur? En tout cas, cela fonctionne très bien. – radbyx

Questions connexes