pb display inline

Invité
Invité n'ayant pas de compte PHPfrance

07 mai 2007, 15:10

Bonjour à tous,

J'ai une balise div à laquelle j'ai appliqué un style display: inline, pour la positionner à la suite d'un autre élément, sur la meme ligne.

Mon pb est que avec display: inline, je n'arrive plus à modifier la largeur et la longueur de ma balise div.
Je sais que display: inline supprime les propriétés block... ça veut dire qu'on ne peut pas dimensionner une balise div inline?

y aurait-il une astuce pour positionner un élémément à la suite d'un autre sans perdre la gestion des dimensions?

Merci pour vos réponses.

ViPHP
AB
ViPHP | 5818 Messages

07 mai 2007, 15:50

Tu peux positionner des blocs <div> ou <p> en absolu (et en leur fixant des dimensions) à l'intérieur d'un autre bloc positionné en relatif.

oox
Invité n'ayant pas de compte PHPfrance

07 mai 2007, 22:51

Bonjour.

Il faut savoir qu'il existe une propriété inline-block qui répond à ce dont tu as besoin mais qui n'est pas prise en compte sous Firefox. Ce dernier possède toutefois la valeur -moz-inline-box qui répond aux mêmes exigences.

Alors la solution ? Faire une feuille de style invalide avec les 2 valeurs :

Code : Tout sélectionner

display: -moz-inline-box !important; display: inline-block;
Ou alors, appliquer un display block et aligner grâce à un float: left tous les éléments.

Code : Tout sélectionner

ul li { display: block; width: 150px; float: left; }

Mammouth du PHP | 2937 Messages

08 mai 2007, 15:56

Ou alors, appliquer un display block et aligner grâce à un float: left tous les éléments.

Code : Tout sélectionner

ul li { display: block; width: 150px; float: left; }
Dans ce dernier cas, display: block est superflu, les élements div, ul et li étant des éléments de bloc.