目前,我想到的唯一解决方案是你必须用两个额外div
的 s 包裹桌子。
这是小提琴
正如我们所说,我正在尝试改进解决方案以摆脱 div。
目前,我使用一个 div 作为wrapper
宽度设置为 100% 的 div,然后在其中有另一个 div ( innerWrapper
) 绝对定位并扩展到wrapper
的尺寸。为了设置 div 的高度,我使用了一个简单的技巧 - 将一个伪:after
元素添加到设置为 133%的 divwrapper
中。padding-bottom
填充百分比值是从父级继承的width
(是的!)。如果有人问 - 我们不能省略innerWrapper
div 并将其样式直接设置为table
因为top, right, bottom, left
方法不适用于它(两者都width
设置height
为100%
)。div 是block
元素,表有display: table
.
整个代码如下所示:
HTML:
<div id="wrapper">
<div id="innerWrapper">
<table></table>
</div>
</div>
CSS:
#wrapper {
width:100%;
position: relative;
}
#wrapper:after {
content: "";
display: block;
padding-bottom: 133%;
}
#innerWrapper {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
table {
width: 100%;
height: 100%;
}