《CSS揭秘》技巧三 灵活的背景定位

本节要实现的效果是:背景图片距容器底10px,距右边缘20px。

<b>解决方案一:background-position</b>

div { 
  background: url(http://csssecrets.io/images/code-pirate.svg) no-repeat bottom right #58a; 
/*上面写bottom right的目的是为了在浏览器不支持bg-position定位的时候图片不至于默认贴近左上角*/
  background-position: right 20px bottom 10px;
}

<b>解决方案二:background-origin</b>
background-origin:padding-box/border-box/content-box;

盒模型.png

<b>background-origin:padding-box;</b>

    .bgOrigin{
        color: white;
        width: 500px;
        height: 500px;
        background: url("0.jpg") no-repeat #58a 100% 100%;
        padding:10px;
        border:10px solid hsla(0,0%,100%,.5);
        background-origin: content-box;
    }
    <div class="bgOrigin">
        哈喽!这里展示background-origin的效果~
</div>
padding-box.png

<b>background-origin:border-box;</b>

border-box.png

<b>background-origin:content-box;</b>
因为样式里设置了padding:10px;

content-box.png

<b>结论:当出现偏移量与容器的内边距一致时,我们就运用background-origin:content-box;就省去了写right 10px bottom 10px的麻烦,直接定义一个padding值就可以了。</b>

<b>解决方案三:calc( )</b>

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

推荐阅读更多精彩内容

  • **参考资料** - 《CSS揭秘》 - w3school ---------- ## 背景 ## 很多时候,我们...
    HappyAdu阅读 326评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,810评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,342评论 0 11
  • 小编来大深圳也有一年多了,平时跟朋友出门逛街的时候她们都是刷信用卡,而且随处可见办信用卡的优惠活动。前不久,公司来...
    1dd789fbd996阅读 1,653评论 0 0