我的github地址:https://github.com/FannieGirl/ifannie

源码都在这上面哦!

喜欢的给我一个星吧

背景定位

问题:很多时候,我们想针对容器某个角对背景图片做便宜定位。
个人觉得,背景定位应用还是很广的,在实践中经常遇到。在实践中才会发现它的美,真是强大。

background-position的扩展语法方案

在css背景与边框中,background-position属性已经得到了扩展,它允许我们指定背景图片距离任意角的偏移量,只要我们在偏移量前面指定关键字。

例如:

效果演示地址:https://jsfiddle.net/Fannie/06sjmL6n/7/

上述方案在不支持background-position扩展语法的浏览器中,背景图片会紧贴在左上角,这看起来很奇怪啊!,如是想到一个回退的方案,就是把bottom right 定位值写进background的简写属性中。

background-origin 方案

有一种情况:偏移量与容器的内边距一致。如果用上述的方案,代码可能是这样的

效果是出现了,但是不够好,不容易维护(每次更改内边距的时候,需要改动三个值)。可能你就会想,让它自动跟着我们设计的内边距走,不用另外的声明偏移量的值

小知识点:每个元素都有三个矩形框,border Box | padding Box | content Box

在默认情况下,background-position 是以padding box 为准的。这样边框才不会遮住背景图片,因此 top left 默认是值padding box 的左上角。然而用background-origin 可以改变这种行为。如果我们把它的值改成 ceontent box ,我们在background-position 属性使用边角关键字将以内容区作为基准。就可以达到我们想要的效果

例如:

演示地址:https://jsfiddle.net/Fannie/06sjmL6n/8/

在必要的时候,其实这两种技巧组合起来,效果更加DIY了。

calc 方案

先get一下这个calc函数(我相信 很多人对它还是不那么熟悉的)
推荐看一篇博客,你就知道calc这个函数了:http://www.w3cplus.com/css3/how-to-use-css3-calc-function.html

知识点:请不要忘记在calc函数内部的 - 和 + 运算符两侧加上一个空白符,否则解析错误哦

然后,我们回归我们的问题:把背景图片定位到距离底边 10px 且距离右边 20px 的位置。
其实我们是不是希望它有一个 100% - 20px 的水平偏移量 以及 100% - 10px 的垂直偏移量。

例如:

演示地址:https://jsfiddle.net/Fannie/06sjmL6n/9/

calc 的web 段浏览器的支持还可以,但是移动端的支持不是很好哦!需要写兼容。

后言:
如果你对基础的知识点已经很熟悉,你可以自动跳过。写上去的原因是查漏补缺,巩固一下基础。
如果有不对的地方,欢迎你来吐槽。
本文主要参考《CSS 揭秘》一书 以及w3school;
参考链接 :http://www.w3school.com.cn/cssref/pr_background-clip.asp

[css 揭秘]:CSS揭秘 技巧(三):背景定位的更多相关文章

  1. [css]《css揭秘》学习(三)-灵活的背景定位

    一.background-position属性 使用该属性,在不确定容器大小的情况下,也可以指定图案距离容器边缘的位置:但是需要为不支持该属性的浏览器指定回退方案,否则,图案会默认放在左上角. < ...

  2. 经验分享:多屏复杂动画CSS技巧三则

    当下CSS3应用已经相当广泛,其中重要成员之一就是CSS3动画.并且,随着CSS动画的逐渐深入与普及,更复杂与细腻的动画场景也如雨后春笋般破土而出.例如上个月做的「企业QQ-新年祝福」活动: 感谢sh ...

  3. 【css笔记】css中的盒模型和三种定位机制(固定定位,绝对定位,浮动)

    html页面上的元素都可以看成是框组成的,框通过三种定位机制排列在一起就过程了我们看到的页面.而框就是盒模型. 盒模型 1.页面上的每个元素可以看成一个矩形框,每个框由元素的内容,内边距,边框和外边距 ...

  4. css background之设置图片为背景技巧

    css background之设置图片为背景技巧-css 背景 Background是什么意思,翻译过来有背景意思.同样在css里面作为css属性一成员同样是有背景意思,并且是设置背景图片.背景颜色. ...

  5. CSS 3. 文本|字体|背景|定位

    1.文本属性和字体属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  6. IT兄弟连 HTML5教程 CSS3揭秘 CSS简介

    HTML使用标签将内容放到网页上,也可使用元素和属性来控制简单的文档外观.如果希望更全面地控制Web页面的外观和布局,则需要使用层叠样式表(简写为CSS).CSS规范的工作原理在于允许用户制定一些规则 ...

  7. 多屏复杂动画CSS技巧三则(转载)

    本文转载自: 经验分享:多屏复杂动画CSS技巧三则

  8. [css]《css揭秘》学习(四)-一个元素实现内圆角边框

    如图所示的圆角边框有两个元素很好实现,用一个元素也可以实现. <html> <head> <meta charset="utf-8"> < ...

  9. 笔记《精通css》第4章 背景图像,平铺方式,背景定位,圆角框,投影,不透明

    第4章  背景图像,平铺方式,背景定位,圆角框,投影,不透明 1.背景图像 background-image:url() 2.平铺方式 background-repeat:repeat-x repea ...

随机推荐

  1. 利用OpenSSL创建证书链并应用于IIS7

    一.系统环境说明 Linux & OpenSSL Linux localhost -.el5 # SMP Tue Mar :: EDT x86_64 x86_64 x86_64 GNU/Lin ...

  2. stm32实现待机唤醒

    STM32的低功耗模式有3种:1.睡眠模式(CM3内核停止,外设仍然运行)2.停机模式(所有时钟都停止)3.待机模式(1.8v内核电源关闭) 进入待机模式的方法,以及设置WK_UP引脚用于把STM32 ...

  3. listview 去掉header和footer中的分割线

    在listView中加上android:headerDividersEnabled="false" android:footerDividersEnabled="fals ...

  4. SVN本地服务器的搭建

    本来一直在研究Git,Github,TortoiseGit,最近一个项目要用到SVN,所有开始着手SVN SVN一般和Tortoise配合使用,windows下一般使用VisualSVN版本 一.安装 ...

  5. CentOS 7修复MBR和GRUB

    (转载) 一.修复MBR: MBR(Master Boot Record主引导记录): 硬盘的0柱面.0磁头.1扇区称为主引导扇区.其中446Byte是bootloader,64Byte为Partit ...

  6. ArcGisServer根据最大最小坐标换算瓦片行列号(转载)

    ArcGisServer根据最大最小坐标换算瓦片行列号 1.前言 在上一节中我们知道了屏幕上一像素等于实际中多少单位长度(米或经纬度)的换算方法,而知道这个原理后,接下来我们要怎么用它呢?它和我们前端 ...

  7. iOS 类库列表

    1. LinqToObjectiveC  #import "NSArray+LinqExtensions.h" 它为NSArray添加了许多方法,能让你用流式API来转换.排序.分 ...

  8. EverNote剪藏插件安装问题

    安装EverNote印象笔记的剪藏插件时出现插件不能使用的问题,可以采用如下的方法(可以参考知乎的解决办法:https://www.zhihu.com/question/29875051) (下载地址 ...

  9. js事件监听器用法实例详解-注册与注销监听封装

    本文实例讲述了js事件监听器用法.分享给大家供大家参考.具体分析如下: 1.当同一个对象使用.onclick的写法触发多个方法的时候,后一个方法会把前一个方法覆盖掉,也就是说,在对象的onclick事 ...

  10. 40+ Sublime Text 最佳插件汇总

    大家好!我想要收集最好的Sublime Text插件,因为这可以改善我们的工作流程.我搜索了许多网站,下面就是我的发现. WebInspector 调试JavaScript特别棒的工具,成熟的Subl ...