最小宽度:100%;宽度:汽车实际上呢?

时间:2017-02-01 18:44:24

标签: html css

我在CodePen上找到了一个全屏视频的好例子: https://codepen.io/dudleystorey/pen/knqyK

我很难理解以下样式:

video {
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

为什么我们不能只指定最小宽度和最小高度?为什么我们需要将宽度和高度设置为自动?

4 个答案:

答案 0 :(得分:6)

min-width:100%确保元素至少与其容器一样宽。 width: auto允许元素保持原始大小。

所以两者的组合可以理解为"让元素占用所需的空间,除非它小于其容器的宽度,在这种情况下使它与容器和#34 ;.所以基本上代码所说的是"我不在乎它是否溢出,只是让它填满页面"。

话虽如此,没有理由添加width:auto,因为它是width的初始值,除非覆盖应用于该元素的其他一些CSS样式。

在此示例代码中,min-width就足够了。

答案 1 :(得分:1)

我在Chrome中对其进行了测试,并且删除了width: auto;height: auto;属性后效果很好。

你可能会看到一个Cargo-Cult Programming的例子(即代码存在,因为程序员认为这是必要的,但实际上并不是必需的) - 或者它可能是遗留的浏览器错误(如果这是奇怪的,因为所有支持<video>的浏览器都支持CSS布局以达到高度合规性。

答案 2 :(得分:0)

这不是一个很好的例子div{ width:100%; min-width:600px; } 对我来说毫无意义。

考虑一下:

Get-Content "file.csv" | Where {$_.Column -ne "Known Value" |Export new.csv

在这种情况下,如果div的页面或容器的宽度小于600px,比如400px。在这种情况下,它会将div的宽度默认为600px并添加一个滚动条 - 大于100%

答案 3 :(得分:-1)

宽度:自动

  

像div或p这样的块级元素的初始宽度是auto。这个   使其扩展以占据其内部的所有可用水平空间   包含块。如果它有任何水平填充或边框,则   这些宽度不会增加元素的总宽度。

宽度100%

  

另一方面,如果指定width:100%,则为元素的总和   宽度将是其包含块的100%加上任何水平边距,   填充和边框(除非你使用了box-sizing:border-box,其中   只有边距被添加到100%才能改变其总宽度   计算)。这可能是你想要的,但很可能不是。

最小宽度:

  

CSS中的min-width属性用于设置a的最小宽度   指定的元素。 min-width属性始终覆盖宽度   属性是否在声明中宽度之前或之后。

A way to visualize

下面的一些链接可供进一步参考和澄清

https://i.stack.imgur.com/9yBHP.png

https://css-tricks.com/almanac/properties/m/min-width/

http://www.456bereastreet.com/archive/201112/the_difference_between_widthauto_and_width100/