J'essaie d'ajouter une largeur à une DIV, mais il semble que je rencontre un problème car il n'a pas de contenu.
body{
margin:0 auto;
width:1000px
}
ul{
width:800px;
}
ul li{
clear:both;
}
.test1{
width:200px;
float:left;
}
<body>
<div id="test">
<ul>
<li>
<div class="test1">width1</div>
<div class="test1">width2</div>
<div class="test1">width3</div>
</li>
<li>
<div class="test1"></div>
<div class="test1">width2</div>
<div class="test1">width3</div>
</li>
<li>
<div class="test1"></div>
<div class="test1">width2</div>
<div class="test1">width3</div>
</li>
</ul>
</div>
une div nécessite généralement au moins un espace insécable (& nbsp;) pour avoir une largeur.
Utilisez soit padding
, height
ou  
pour que la largeur prenne effet avec div
vide
MODIFIER:
min-height
non nul fonctionne également très bien
Utilisez min-height: 1px;
Tout a au moins une hauteur minimale de 1 px, de sorte qu'aucun espace supplémentaire n'est utilisé avec nbsp ou remplissage, ou que vous soyez obligé de connaître la hauteur en premier.
Utilisez CSS pour ajouter un espace zéro-largeur-à votre div. Le contenu de la div ne prendra pas de place mais forcera la div à afficher
.test1::before{
content: "\200B";
}
Il a une largeur mais pas de contenu ni de hauteur. Ajoutez un attribut height à la classe test1.
Il existe différentes méthodes pour rendre la DIV vide avec float: left
ou float: right
visible.
Voici ceux que je connais:
width
(ou min-width
) avec height
(ou min-height
)padding-top
padding-bottom
border-top
border-bottom
::before
ou ::after
avec: {content: "\200B";}
{content: "."; visibility: hidden;}
dans DIV (cela peut parfois entraîner des effets inattendus, par exemple en combinaison avec text-decoration: underline;
)Essayez d'ajouter display:block;
à votre test1
Vous ajoutez au CSS position: relative
de cette DIV, il fera tout le travail.
 
peut faire l'affaire; fonctionne dans les documents XSL
Trop tard pour répondre, mais quand même.
Lors de l’utilisation de CSS pour dénommer div (content-less), la propriété min-height doit être définie sur "n" px pour que la div soit visible (fonctionne avec les kits Web et chrome, sans savoir si cette astuce fonctionnera sous IE6 et inférieur)
Code:
.shape-round{
width: 40px;
min-height: 40px;
background: #FF0000;
border-radius: 50%;
}
<div class="shape-round"></div>