css高度之间的差异:100%vs height:auto

Gow*_*kan 152 css

我在接受采访时被问到"css height:100%height:auto?之间有什么区别?"

可以解释一下吗?

Man*_*hra 218

height:100% 暗示元素将具有其父容器的100%高度.

height:auto 意味着,该元素将具有灵活的高度,即其高度将取决于其子元素的高度

考虑下面的例子:

身高:100%

<div style="height:50px">
    <div id="innerDiv" style="height:100%">
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

#innerDiv 会有 height:50px

高度:汽车

<div style="height:50px">
    <div id="innerDiv" style="height:auto">
          <div id="evenInner" style="height:10px">
          </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

现在#innerDiv将会有height:10px

  • 我认为在'height:auto #innerDiv将是'10px +它自己内容所需的大小'的情况下 - 请参阅[jsfiddle](https://jsfiddle.net/wf0zo5bu/) (5认同)
  • @Manish Mishra:最好的响应式设计是什么?设置子元素或容器元素的高度,并让另一个元素导出其高度? (2认同)
  • 我认为一种思考汽车的好方法就是你"不安" - 就像没有设定它一样. (2认同)
  • 我修改了 BornToCode 上面共享的小提琴,以便更明显地看出“auto”使元素增长以容纳其内容及其子元素的内容。相比之下,固定高度值不会增长(或显示)无法适应声明高度的内容。https://jsfiddle.net/m3f8y6xr/1/ 我认为,这个答案的措辞不够明显,元素将增长以包含所有内容,无论是它自己的文本还是子元素的内容。当然可以说,它自己的文本也是一个孩子。这提供了行为的视觉确认。 (2认同)

小智 10

height:100% 如果父容器具有指定的高度属性,则有效,否则,它将不起作用


Roh*_*zad 6

一个100%的高度的是,据推测,您的身高浏览器的内部窗口,因为这是其母公司的高度,页面。的auto高度将是最小高度必要遏制

  • 如果父元素的定义高度不适合浏览器窗口的大小,则这不一定正确 (3认同)