Html 为什么';父div是否与包含的图像大小相同?

Html 为什么';父div是否与包含的图像大小相同?,html,css,Html,Css,我现在的处境让我无法改变 .navigation{ 位置:绝对位置; } .navigation>img{ 高度:自动; 最大宽度:50%; } 因为您将导航样式应用于图像,而不是div 如果希望图像采用div的大小,可以根据需要设置div的高度和宽度,并为图像设置宽度:100%: .navigation { width: 20%; //change it height: 20%; //change it } .navigation > img {

我现在的处境让我无法改变

.navigation{
位置:绝对位置;
}
.navigation>img{
高度:自动;
最大宽度:50%;
}

因为您将导航样式应用于图像,而不是div

如果希望图像采用div的大小,可以根据需要设置div的
高度
宽度
,并为图像设置
宽度:100%

.navigation {
    width: 20%; //change it
    height: 20%; //change it
}

.navigation > img {         
    width: 100%;
}

叉开你的小提琴。

这是因为
%的百分比是正确的。默认的div
width
值是
auto
,因此现在如果您在
%percentage
中定义子元素,那么在这种情况下,当在
%percentage
中指定时,您的父元素将根据子元素的宽度计算其宽度,即子元素对父元素的
100%

在这里,我们将
50%的宽度
分配给
子元素
,而
父元素
没有任何宽度。但它会自动分配,因为子项必须是父项的50%。而在
px
中,两者是相同的

/*使用百分比*/
.导航{
位置:绝对位置;
背景:#111;
}
.navigation>img{
高度:自动;
最大宽度:50%;
}
/*使用像素*/
.以前的{
位置:绝对位置;
背景:#111;
}
.previous>img{
高度:自动;
宽度:100px;
}







给出图像
显示:block
可能?css规则不会向上流动。将你的img宽度设为50%不会神奇地使家长也变小50%
您还必须设置
宽度:100%
,否则div将折叠以填充可能的最小宽度。@MarcB
div
定位为绝对,因此初始值(如果内部没有元素)将为
0
。如果将
img
设置为固定宽度
25px
,则也将具有
25px
。是的,但这只是因为使用了固定宽度。OP有一个相对宽度,它是相对于父对象的。如果父对象将自身调整为子对象,浏览器将进入无限递归循环。e、 父级渲染速度为100px,因此子级渲染速度为50px。但是,嘿,父母也必须是50%,所以它下降到50像素,嘿,现在孩子必须是50%,所以它下降到25像素,诸如此类。