Div高度:0px不起作用?

nmd*_*mdr 32 html css

<div style="height:0px;max-height:0px">
</div>
Run Code Online (Sandbox Code Playgroud)

将div高度设置为0px似乎不起作用.

div扩展以显示其内容,我们如何防止这种情况发生?

Gab*_*ley 60

如果你真的想确定它没有高度,你可以使用这样的东西:

display: block;
line-height:0;
height: 0;
overflow: hidden;
Run Code Online (Sandbox Code Playgroud)

如果你在IE上仍然遇到问题,你也可以添加

zoom: 1;
Run Code Online (Sandbox Code Playgroud)

在一个针对IE的样式表中使用条件注释.这将触发IE中的hasLayout属性.

并且显示:none与将其设置为零高度不同.只需查看各种clearfix解决方案,即将其从流中移除至关重要.

  • 你还想确保填充:0; 诚实地处理这类问题的最简单方法是始终以reset.css开始 - 使调试这些东西更容易实现x-browser合规性 (5认同)
  • 你可能想要添加位置:相对; 太.在某些情况下,似乎也需要这样做. (2认同)

Gum*_*mbo 21

设置overflow:hidden.否则,内容将扩展包装元素.

  • 不,内容将溢出包装元素并在其外部可见.容器不会扩展(某些Microsoft浏览器除外(但在某些渲染模式下除外)). (4认同)

Phi*_*ber 9

尝试也设置 line-height: 0;

如果你想div完全隐藏你,请使用display: none;

  • 听起来OP真正想要的是"display:none;". (2认同)

小智 7

对我来说,在 Windows 10、Firefox 58.0.1 上,除非使用以下命令,否则它不会完全隐藏:

display: block !important;
line-height: 0 !important;
height: 0 !important;
overflow: hidden !important;
zoom: 1 !important;
padding: 0 !important;
margin-bottom: 0;
border: none;
Run Code Online (Sandbox Code Playgroud)

  • `padding: 0` 帮我解决了这个问题 (3认同)