Html 如何使div*not*展开以填充它';谁的父母?

Html 如何使div*not*展开以填充它';谁的父母?,html,css,layout,Html,Css,Layout,我将一个div环绕在一个图像上,如下所示: 废话废话。 现在,我希望imagewrapper获取图像的大小,而不是更多。但事实并非如此;而是填充到包含div的高度。(请参见此处的实际页面:) 我的CSS是: 。图像包装器{ 浮动:左; 盒影:镶嵌0px 4px 10px黑色; 背景图片:url('image.jpg'); } .图像包装器img{ 可见性:隐藏; } .无关的东西{ 浮动:左; } 现在,如果我没有声明Doctype,它可以正常工作。但如果我这么做,我尝试过的一切都失败了

我将一个div环绕在一个图像上,如下所示:


废话废话。
现在,我希望
imagewrapper
获取图像的大小,而不是更多。但事实并非如此;而是填充到包含div的
高度。(请参见此处的实际页面:)

我的CSS是:

。图像包装器{
浮动:左;
盒影:镶嵌0px 4px 10px黑色;
背景图片:url('image.jpg');
}
.图像包装器img{
可见性:隐藏;
}
.无关的东西{
浮动:左;
}
现在,如果我没有声明Doctype,它可以正常工作。但如果我这么做,我尝试过的一切都失败了

在仍使用
时,如何使
图像包装器
与图像大小相同?

您是否尝试过:

.image-wrapper {
  display: inline;
}
或:

或:

CSS应该是

。图像包装器
{
宽度:0;
身高:0;
}

除非您为图像包装器设置溢出属性,否则图像包装器将自动采用图像的宽度和高度。

float并不是这里的最佳选项。。。内联(-block)更合适;所有这些都是有用的。他们确定它的宽度,但出于某种原因,它不是高度。看这页,它有浮动:左开。:)再次更正:如果我没有声明doctype,所有这些都可以工作。但它们不能与HTML5或HTML4 doctype一起工作:P@snostorm尝试清除您的历史记录和缓存,看看它是否有效。您还可以尝试为
.image包装器
类提供硬值。让它像
.image wrapper{width:600;height:200;}
我不知道实际值应该是什么,但这是一个alternet,但不是一个好的方法,你可以尝试。使用@bdparrish指出的
.image wrapper{width:0;height:0;}
可以更容易地让它自动调整大小,使其达到它应该达到的大小。我一直挂在缓存的CSS上。尝试过了,没有改变它。硬值起作用,尽管图像大小是可变的,所以我必须使用一些Javascript。宽度为0,高度为0时,它不会自动调整大小;它只是将高度和宽度设置为零。
.image-wrapper {
  display: inline-block;
}
.image-wrapper {
  float: left;
}