Ответ 1
div обычно требует, по крайней мере, неразрывного пространства (& nbsp;), чтобы иметь ширину.
Я пытаюсь добавить ширину в DIV, но я, похоже, сталкиваюсь с проблемой, потому что у нее нет содержимого. Вот CSS и HTML, которые я имею до сих пор, но он не работает:
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>
div обычно требует, по крайней мере, неразрывного пространства (& nbsp;), чтобы иметь ширину.
Используйте либо padding
, height
или  
, чтобы ширина вступила в силу с пустым div
EDIT:
Не нуль min-height
также отлично работает
Использовать min-height: 1px;
Все имеет как минимум минимальную высоту 1px, поэтому дополнительное пространство не занято nbsp или дополнением, или сначала необходимо знать высоту.
Используйте CSS, чтобы добавить нулевую ширину в div. Содержимое div не будет занимать места, но заставит div отображать
.test1::before{
content: "\200B";
}
Он имеет ширину, но без содержимого или высоты. Добавьте атрибут height в класс test1.
Существуют различные способы сделать пустой DIV с помощью float: left
или float: right
видимым.
Здесь представлены те, которые я знаю:
width
(или min-width
) с height
(или min-height
)padding-top
padding-bottom
border-top
border-bottom
::before
или ::after
с: {content: "\200B";}
{content: "."; visibility: hidden;}
{content: "."; visibility: hidden;}
внутри DIV (иногда это может привести к неожиданным эффектам, например, в сочетании с text-decoration: underline;
)Попробуйте добавить display:block;
к вашему test1
Слишком поздно, чтобы ответить, но тем не менее.
При использовании CSS для стилизации div (без содержимого) свойство min-height должно быть установлено равным "n" px, чтобы сделать div видимым (работает с webkit и chrome, но не уверен, будет ли этот трюк работать в IE6 и ниже)
Код:
.shape-round{
width: 40px;
min-height: 40px;
background: #FF0000;
border-radius: 50%;
}
<div class="shape-round"></div>
 
может сделать трюк; работает в документах XSL
Вы добавляете в эту position: relative
CSS DIV position: relative
, он сделает всю работу.