父集div使用relative定位,padding-bottom值充当空间,子集video元素absolute定位
具体例子如下,比如视频是16:9的比例,这样比例就不会变了,并且适配div的等高比例
css
.vid-wrapper{width:100%
position:relative
padding-bottom:56.25% /*需要用padding来维持16:9比例,也就是9除以16*/
height: 0
}
.vid-wrapper video{
position: absolute
top:0
left: 0
width: 100%
height: 100%
}
html
<div class="vid-wrappper"><video src=""></video>
</div
以 4:3 为例, 想要DIV按照这个宽高比,在网页中随着横向的伸缩,在纵向上等比伸缩, 用一个外围DIV来包裹它,且将这个外围DIV称之为Wrapper, Wrapper 的CSS样式如下:
这个Wrapper的宽高比就是 4:3 , 其中的奥妙就在于 padding-bottom:75% , padding-bottom 是相对宽度的.也就是整个Wrapper的高度等于 padding-bottom 的高度,Wrapper 没有内容高度.没有内容高度如何往其中放置我们准备的DIV呢?答案是 绝对定位 , 所以Wrapper的样式中有 position:relative , 方便子元素相对Wrapper的左顶点定位.
最后我们把想要保持宽高比的DIV放到Wrapper中去, 这个DIV且称之为Inner, 下面是这个Inner的CSS样式:
结束.
div的100%是从其上一级div的宽高继承来的,有一点很关键,就是要设置div100%显示,必须设置其上一级div的宽度或高度,否则无效。举例说明:父div(deman)宽300高200,子div(cc)如果在这个条件下设置divcc的宽高都为100%的话,那cc的确切大小就是父div的大小(宽300高200),在尝试中你会发现,div显示会受自身和其上一级div的padding和margin影响,而其实际宽高不受影响。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)