使用此HTML:
<div class="navbar-header">
<a href="">
<img id="logo" src="logo.png">
</a>
</div>
假设#logo
的宽度为100px。如果我按百分比调整图像大小:
#logo {
width: 10%;
}
#logo
的宽度已更改为10px
,但#navbar-header
仍为100px
。如果我设置图像的宽度(以像素为单位),我就没有这个问题。
如何调整图像的宽度并调整其父容器的大小?
答案 0 :(得分:2)
问题的关键解决方案是使用 display:inline-block;
HTML
<div class="navbar-header">
<a href="">
<img id="logo" src="logo.png" alt="Camaupoint">
</a>
</div>
CSS
.navbar-header
{
display:inline-block;
}
#logo
{
width: 10%;
}
答案 1 :(得分:1)
当您在px
中设置徽标的大小并且未指定其父级的大小时,父级将获得其内容的大小。但是当你在%
中设置徽标的大小时,这个百分比应该计算一些值,因为它的父级没有指定的宽度,它试图依赖某些东西,在这种情况下,只有徽标的原生图像宽度可以依赖。通过这种方式,父级将获得原始徽标宽度的大小,然后徽标将获得其父级大小的计算百分比。
我可以看到3种不同的方法来解决您的问题:
display:block
vw
单位代替px
或%
答案 2 :(得分:0)
您可以在容器上使用内联块,就像有人说的那样
或者您可以将img 100%和容器盒设为您想要的尺寸
.navbar-header {
width: 10%
}
#logo {
width: 100%;
}