CSS 百分比高度和自动宽度不在 IE 中创建纵横比

标签 css height width percentage

我找遍了,找不到解决办法。我想设置图像的百分比高度并保持宽度的纵横比。

不适用于 IE 中的高度:

img{
    height: 70%;
    width: auto;
    position: absolute;
    top: 0;
    left: 0;
}

在 IE 中对宽度有效:

img{
    height: auto;
    width: 70%;
    position: absolute;
    top: 0;
    left: 0;
}

非常感谢任何帮助。

最佳答案

百分比声明是父元素的百分比,而不是您声明它的元素。宽度起作用的原因是因为您包含的 block 元素,即 display:block 默认情况下将跨越页面。如果您为父级分配固定高度,那么它将按您预期的那样工作。

HTML

<div class="parent">
    <img src="http://placehold.it/300x200"/>
</div>

CSS

.parent{
    height:200px;
    position:relative;
}
img{
    height: 70%;
    width: auto;
    position: absolute;
    top: 0;
    left: 0;
}

关于CSS 百分比高度和自动宽度不在 IE 中创建纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878709/

相关文章:

html - 固定宽度的 div 和灵活宽度的 div 彼此相邻

iPhone - 如何设置 uinavigationbar 高度?

jquery - 如何指定DataTable中的列宽?

C#/WPF - DataGrid - 将 RowDetails 中 TextBox 的宽度绑定(bind)到包含 DataGrid 的宽度

jquery - 我如何获取在 iPad 和移动网站上使用 RWD 图像 map 的代码?

HTML 5 导航菜单在悬停时显示子菜单中的重叠列表项

html - 在标题中获取排队 Logo 和导航

jquery - 根据视口(viewport)高度动态设置DIV高度

jquery - 固定高度,带有流畅的最大高度文本区域 - 自动溢出

c++ - QGridLayout 设置最大列宽