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
で有効にします
編集:
非ゼロmin-height
も素晴らしい
min-height: 1px;
を使用してください。すべてが少なくとも1pxの最小高さを持っているので、nbspまたはパディングで余分なスペースが占有されることはありません。
CSSを使用して、divにゼロ幅のスペースを追加します。 divのコンテンツはスペースを取りませんが、divを強制的に表示します
.test1::before{
content: "\200B";
}
幅はありますが、内容や高さはありません。クラスtest1に高さ属性を追加します。
float: left
またはfloat: right
を使用して空のDIVを表示するには、さまざまな方法があります。
ここに私が知っているものを示します:
width
(またはmin-width
)でheight
(またはmin-height
)を設定しますpadding-top
を設定しますpadding-bottom
を設定しますborder-top
を設定しますborder-bottom
を設定します::before
または::after
with:を使用します{content: "\200B";}
{content: "."; visibility: hidden;}
をDIV内に配置します(これにより、たとえばtext-decoration: underline;
と組み合わせて予期しない効果が生じることがあります)答えるには遅すぎますが、それでもなお。
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>
display:block;
をtest1に追加してみてください
このDIVのCSS position: relative
に追加すると、すべての作業が実行されます。
 
がトリックを行うことがあります。 XSLドキュメントで動作します