如何制作没有内容的DIV有宽度?

时间:2010-11-13 06:24:12

标签: html css width css-float

我正在尝试为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>

13 个答案:

答案 0 :(得分:138)

div通常至少需要一个不间断的空间(&amp; nbsp;)才能有宽度。

答案 1 :(得分:82)

使用paddingheight&nbsp使宽度生效div

修改

非零min-height也很有效

答案 2 :(得分:60)

使用min-height: 1px;所有物品的最小高度均为1px,因此不会占用额外的空间或者填充物,或者被迫首先知道高度。

答案 3 :(得分:27)

使用CSS为div添加零宽度空间。 div的内容不占用空间,但会强制div显示

.test1::before{
   content: "\200B";
}

答案 4 :(得分:9)

它有宽度但没有内容或高度。将height属性添加到类test1。

答案 5 :(得分:6)

使用float: leftfloat: right可见的空DIV有不同的方法。

以下是我所知道的:

  • 使用width(或min-width
  • 设置height(或min-height
  • 或设置padding-top
  • 或设置padding-bottom
  • 或设置border-top
  • 或设置border-bottom
  • 或使用伪元素::before::after
    • {content: "\200B";}
    • {content: "."; visibility: hidden;}
  • 或将&nbsp;置于DIV内(这有时会带来意想不到的影响,例如与text-decoration: underline;结合使用)

答案 6 :(得分:1)

尝试将display:block;添加到test1

答案 7 :(得分:1)

我有同样的问题。 我希望通过按下按钮来显示图标,但不要移动并滑动环境,就像灯泡一样:开和关,出现和消失,所以我需要制作一个固定大小的空div。

width: 13px;
min-width: 13px;

对我有用吗

答案 8 :(得分:0)

&#160;可以做到这一点;适用于XSL docs

答案 9 :(得分:0)

回答太迟了,但不过。

在使用CSS时,为div设置样式(无内容),必须将min-height属性设置为&#34; n&#34; px以使div可见(与webkits和chrome一起使用,但不确定如果这个技巧适用于IE6及更低版本)

代码:

&#13;
&#13;
.shape-round{
  width: 40px;
  min-height: 40px;
  background: #FF0000;
  border-radius: 50%;
}
&#13;
<div class="shape-round"></div>
&#13;
&#13;
&#13;

答案 10 :(得分:0)

您将添加到该DIV的CSS position: relative中,它将完成所有工作。

答案 11 :(得分:0)

如果在没有内容的元素上将 display: 设置为 inline-blockblockflex、...,然后

要使 min-width 对没有内容的标签生效,您只需为顶部 bot 应用填充。

要使 min-height 对没有内容的标签生效,您只需为左右应用填充。

This example showcases it; here I only sat the padding-left for the min-width to take effect on an empty span tag

答案 12 :(得分:0)

您可以使用 position:absolute 直接指定宽度和高度,无需任何内容。

如果您正在考虑使用单个 div,这很容易做到。