前端小知识——图片平铺问题

图片平铺有两种方式,直接写img标签或者通过background-image方式

1,img标签

HTML:

<div class="row">
    <img src=''/>
    <img src=''/>
    <img src=''/>
</div>

CSS:

.row{
margin:0,auto;
width:100%;
}
img{
width:100%;
height:100%;
margin: 0 auto;
display: block;
font-size: 0;
}

这样写的话,三张图片能够垂直平铺,且随着浏览器的缩放而缩放,可以添加alt关于图片的描述,利于SEO,且写法方便,不用考虑兼容性

2,background-image方式

HTML:

<div class="layout">
    <div class="header"></div>
    <div class="body-bg"></div>
    <div class=" lianxi"></div>
</div>

CSS:

.layout{
    position: relative;
    max-width: 640px;
    min-width: 320px;
    margin: 0 auto;
}
.header{
background-size: cover;
    background-image: url("img/header@2x.png");
    padding-top: 11.875%;
}

在上面样式中,layout表示居中,最大宽度为640px,最小为320px,常用在手机端,
在header中设置padding-top: 11.875%;表示的是图片的高度和宽度比例

工作中遇到的问题

1,当设置一张图片向上移动且想覆盖上一张图片一部分,那么要绝对定位一下,且使用top,或者bottom的时候,虽然图片能上移下移但是上移后底部的空间还是要占据,这时候要使用margin-top:-n%;使用百分比是相对外层有定位的元素,而且能够随着浏览器缩放大概位置不变。
2,活动页面背景图宽度写死的方法
最外层div设置最大宽度和最小宽度,居中,且写背景色,或者在body写背景色,第二层div设置背景图,居中,最大宽度定死
HTML:

<body><div class="bg"><div class="img"></div></div></body>

CSS:

    body{
        padding: 0;
        margin: 0;
    }
    .bg{
        margin: 0 auto;
        max-width: 320px;
    }
    .img{
        background-position: center;
        height: 210px;
        background: url("body-bg@2x.png");
        background-size: 100% 100%;
    }

3,在写手机端页面的时候有事设计稿高度不够,此时为了自适应满屏,需要在HTML和body中设置高度100%

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 1、垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,...
    kiddings阅读 3,207评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,807评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,342评论 0 11
  • 天了噜,正如“没有挂科的大学是不完整的”,你没搞点破坏(误删点什么),你的职业生涯也是不完美的。这不,今天就犯蠢,...
    搬砖的老鲜肉阅读 818评论 2 1