为什么 height:auto 有时是 0
What`s the reason that height:auto sometimes it`s 0
#banner {
background: url(http://www.lazarangelov.com/wp-content/uploads/2015/12/lazar1-1920.jpg) no-repeat center center/contain;
height: auto;
max-width: 100%;
<div id="banner"></div>
img {
height: auto;
max-width: 100%;}
<img src="http://www.lazarangelov.com/wp-content/uploads/2015/12/lazar1-1920.jpg" alt="">
我 运行 总是遇到响应图像的问题,但我没有找到澄清问题的答案。
图像有问题
image {
height:auto;
width:100%;
}
当我添加一个简单的图像并为其设置样式时,它起作用了。当我开始一个包含很多 div 的更复杂的项目时,我设置相同的属性不再起作用。对此最纯粹的解释是什么。
这是因为当您直接将<img>
添加到html时,浏览器会将元素的高度设置为您提供的图像的高度(除非另有说明)。当您将图像添加为 <div>
的背景并将高度设置为自动时,它会尝试将 div 的大小调整为内容的高度。但是,在这种情况下,没有内容——只有一个背景,一旦 div 具有一定的高度,它就会成为背景。空 div 没有高度。因此,如果您希望图像作为<div>
的背景,它必须包含一些内容,或者手动设置其高度。
#banner {
background: url(http://www.lazarangelov.com/wp-content/uploads/2015/12/lazar1-1920.jpg) no-repeat center center/contain;
height: auto;
max-width: 100%;
<div id="banner"></div>
img {
height: auto;
max-width: 100%;}
<img src="http://www.lazarangelov.com/wp-content/uploads/2015/12/lazar1-1920.jpg" alt="">
我 运行 总是遇到响应图像的问题,但我没有找到澄清问题的答案。
图像有问题
image {
height:auto;
width:100%;
}
当我添加一个简单的图像并为其设置样式时,它起作用了。当我开始一个包含很多 div 的更复杂的项目时,我设置相同的属性不再起作用。对此最纯粹的解释是什么。
这是因为当您直接将<img>
添加到html时,浏览器会将元素的高度设置为您提供的图像的高度(除非另有说明)。当您将图像添加为 <div>
的背景并将高度设置为自动时,它会尝试将 div 的大小调整为内容的高度。但是,在这种情况下,没有内容——只有一个背景,一旦 div 具有一定的高度,它就会成为背景。空 div 没有高度。因此,如果您希望图像作为<div>
的背景,它必须包含一些内容,或者手动设置其高度。