css - 高度:auto sometimes it`s 0是什么原因

标签 css image height responsive

#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> 的背景, 它必须包含一些内容,或者手动设置其高度。

关于css - 高度:auto sometimes it`s 0是什么原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55936359/

相关文章:

html - 调整到屏幕高度的图像高度

html - CSS:如何实现与内容最多的列的高度相匹配的两个列高?

javascript - 引用 HTML/JavaScript/CSS 的另一种方法是什么?

html - 更改下拉菜单的外观

php - 添加介绍图像 fadeIn wordpress

javascript - Kendo ui 条形图宽度/条形的最大宽度

image - Image::ValidJpeg 和内存文件的段错误

python - PyGTK:如何使图像自动缩放以适合其父窗口小部件?

ios - 将UILabel的高度动画化为0

java - java中使用RC4加密图像