Compte tenu de ce HTML:
<div>foo</div><div>bar</div><div>baz</div>
Comment les faites-vous afficher en ligne comme ceci:
foo bar baz
pas comme ça:
foo
bar
baz
C'est autre chose alors:
div.inline { float:left; }
.clearBoth { clear:both; }
<div class="inline">1<br />2<br />3</div>
<div class="inline">1<br />2<br />3</div>
<div class="inline">1<br />2<br />3</div>
<br class="clearBoth" /><!-- you may or may not need this -->
Un div en ligne est un monstre du web et doit être battu jusqu'à ce qu'il devienne une travée (au moins 9 fois sur 10) ...
... répond à la question d'origine ...
la source
Essayez de l'écrire comme ceci:
la source
Après avoir lu cette question et les réponses à quelques reprises, tout ce que je peux faire est de supposer qu'il y a eu pas mal de modifications en cours, et je soupçonne que vous avez reçu une réponse incorrecte basée sur le fait de ne pas fournir suffisamment d'informations. Mon indice vient de l'utilisation du
br
tag.Toutes mes excuses à Darryl. J'ai lu class = "inline" comme style = "display: inline". Vous avez la bonne réponse, même si vous utilisez des noms de classe sémantiquement discutables ;-)
La mauvaise utilisation de
br
pour fournir une disposition structurelle plutôt que pour une disposition textuelle est beaucoup trop répandue à mon goût.Si vous voulez mettre plus que des éléments en ligne à l'intérieur de ceux-ci,
divs
vous devriez les faire flotterdiv
plutôt que de les faire en ligne.Divs flottants:
Divs en ligne:
Si vous recherchez l'ancien, alors c'est votre solution et perdez ces
br
balises:notez que la largeur de ces divs est fluide, alors n'hésitez pas à leur donner des largeurs si vous voulez contrôler le comportement.
Merci, Steve
la source
Utilisation
display:inline-block
avec une marge et une requête média pour IE6 / 7:la source
Voici le code html selon vos besoins:
Vous avez deux façons de procéder
display:inline-block;
float:left;
vous devez donc changer la propriété d'affichage
display:inline-block;
avec forceExemple un
Exemple deux
la source
Comme mentionné, display: inline est probablement ce que vous voulez. Certains navigateurs prennent également en charge les blocs en ligne.
http://www.quirksmode.org/css/display.html#inlineblock
la source
Il suffit d'utiliser un div wrapper avec "float: left" et de mettre des boîtes à l'intérieur contenant également float: left:
CSS:
HTML:
la source
<span>
?la source
OK pour moi :
la source
J'utiliserais des travées ou ferais flotter le div à gauche. Le seul problème avec flottant est que vous devez effacer le flotteur par la suite ou que le div contenant doit avoir le style de débordement réglé sur auto
la source
Je sais que les gens disent que c'est une idée terrible, mais cela peut en pratique être utile si vous voulez faire quelque chose comme des images de tuiles avec des commentaires en dessous. Par exemple, Picasaweb l'utilise pour afficher les vignettes d'un album.
Voir par exemple / demo http://closure-library.googlecode.com/svn/trunk/closure/goog/demos/inline_block_quirks.html (classe goog-inline-block; je l'abrège en ib ici)
Étant donné que CSS, définissez votre div sur la classe ib, et maintenant c'est magiquement un élément de bloc en ligne.
la source
Vous devez contenir les trois divs. Voici un exemple:
CSS
Remarque: les attributs border-radius sont facultatifs et ne fonctionnent que dans les navigateurs compatibles CSS3.
HTML
Notez que les divs 'foo' 'bar' et 'baz' sont chacun tenus dans le div 'contain'.
la source
la source
Je pense que vous pouvez utiliser cette méthode sans utiliser de CSS -
En ce moment, vous utilisez l'élément de niveau bloc de cette façon, vous obtenez un résultat indésirable. Ainsi, vous pouvez vous en ligne élément comme span, small etc.
la source
on peut faire ça comme
la source
http://jsfiddle.net/f8L0y5wx/
la source
la source
J'ai juste tendance à leur faire des largeurs fixes afin qu'elles correspondent à la largeur totale de la page - ne fonctionne probablement que si vous utilisez une page à largeur fixe. Aussi "flotter".
la source