一般来说,我们在做banner切换的时候,经常用背景来代替插入img图片 ,但是图片有很好的伸缩性,但是插入背景却没有 ,如果能够让banner切换是背景图又能自适应屏幕宽高呢? 其实有办法可以解决 ,用padding-bottom 可以解决。
我想起切版网几个月前给客户做的仿国外网站的web前端外包项目,刚好就用到了padding-bottom, 而它的原理很简单:
因为垂直方向的padding值,根据宽度的大小来计算的。
方法如下:
<style>
.wrap{
width: 100%;
}
.banner{
width: 100%;
max-width: 490px; /**图片的宽度不大于图片实际像素**/
height: 0;
max-height: 329px;
padding-bottom: 67.14%; /**根据图片高宽比计算*/
margin: 0 auto;
background: url("images/test.jpg") no-repeat center;
background-size: cover;
}
@media only screen and (min-width: 490px) {
/**屏幕大于490时,将背景框高度设置为图片高度的实际像素**/
.banner{
height: 329px;
padding-bottom: 0;
}
}
</style>
<div class="wrap">
<!--role属性 aria-label属性增强html的可读性,更语义化-->
<div role="img" aria-label="banner img" class="banner"></div>
</div>