Как сделать DIV без содержания имеют ширину?
Я пытаюсь добавить ширину к DIV, но я, кажется, столкнулся с проблемой, потому что у него нет контента. Вот CSS и HTML у меня есть до сих пор, но это не работает:
CSS
body{
margin:0 auto;
width:1000px
}
ul{
width:800px;
}
ul li{
clear:both;
}
.test1{
width:200px;
float:left;
}
HTML
<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>
9 ответов:
использовать
padding
,height
или 
чтобы ширина вступила в силу с пустымdiv
EDIT:
ненулевое
min-height
работает
использовать
min-height: 1px;
все имеет по крайней мере минимальную высоту 1px, поэтому никакое дополнительное пространство не занимает nbsp или обивка, или быть вынужденным знать высоту в первую очередь.
используйте CSS, чтобы добавить пространство нулевой ширины к вашему div. Содержимое div не займет места, но заставит div отображать
.test1::before{ content: "0B"; }
существуют различные методы, чтобы сделать пустой DIV с
float: left
илиfloat: right
видны.здесь представлены те, кого я знаю:
- set
width
(илиmin-width
) Сheight
(илиmin-height
)- или set
padding-top
- или set
padding-bottom
- или set
border-top
- или set
border-bottom
- или использовать псевдо-элементами:
::before
или::after
С:
{content: "0B";}
- или
{content: "."; visibility: hidden;}
- или поставить
внутри DIV (это иногда может принести неожиданные эффекты, например. в сочетании сtext-decoration: underline;
)
слишком поздно отвечать, но тем не менее.
при использовании CSS, чтобы стиль div (content-less), свойство min-height должно быть установлено в "n" px, чтобы сделать div видимым (работает с webkits и chrome, хотя не уверен, что этот трюк будет работать на IE6 и ниже)
код:
.shape-round{ width: 40px; min-height: 40px; background: #FF0000; border-radius: 50%; }
<div class="shape-round"></div>