先不说background-clip/background-origin的用法,我们先来聊聊css背景方面的知识。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css背景知识点</title>
<style>
body,p{
margin:0;
padding:0;
}
p{
width:100px;
height:100px;
background-color:pink;
}
</style>
</head>
<body>
<p></p>
</body>
</html>

现在p的宽和高各是100px,颜色的范围也是100*100的对吧,如果给它加上padding-top:10px呢?那么现在的高是110,颜色的背景是100*110对不?

因为背景是包括padding的,这对理解为什么需要使用background-clip和background-origin至关重要。

透露一下,大部分情况会使用在有用精灵图的背景上。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css背景知识点</title>
<style>
body,p{
margin:0;
padding:0;
}
.box{
width:100%;
height:45px;
line-height:45px;
background-color:#ccc; }
p{
width:42px;
height:40px;
margin:0 auto;
background-size:50px 50px;
background:url("focus-icon.png") no-repeat 0 -50px;
}
</style>
</head>
<body>
<div class="box">
<p></p>
</div>
</body>
</html>

效果图

我现在想让中间的爱心Y方向向下移动一点,我给p标签加上padding-top:10px;

效果如下

它并没有向下移动而是高度多出了一些,如果你理解了我上面说的,那你应该可以理解这个。

之所以会这样是因为背景包括了padding。但是我们现在并不想这样,那就可以用css3的属性background-clip,这是一个裁剪属性

加上background-clip:content-box;就可以了,什么意思呢?就是说从内容开始计算背景,那么就不会包括padding了。

应该懂了吧?

那么background-origin什么意思呢?

不知道你们有没有方向一个现象,就是我们使用精灵图的时候默认图片会显示在左上角。

如果你想改变它的位置就可以使用background-oringin

如果想从中间开始,那就设置成background-oringin:content-box;

当然还有其他的一些属性,你们可以去网上查一下。

css3,background-clip/background-origin的使用场景,通俗讲解的更多相关文章

  1. CSS3的背景background

    CSS3中的Background属性 background: background-image || background-position/background-size || background ...

  2. 理解CSS3中的background-size(对响应性图片等比例缩放)

    理解CSS3中的background-size(对响应性图片等比例缩放) 阅读目录 background-size的基本属性 给图片设置固定的宽度和高度的 固定宽度400px和高度200px-使用ba ...

  3. CSS3实战之background篇

    在CSS3中,background可以添加多个背景图像组,背景图像之间通过逗号进行分隔. 每个背景图像层都可以包含下面的值 background-image 定义背景图像 background-col ...

  4. CSS3 & gradient & color & background

    CSS3 & gradient & color & background css background https://developer.mozilla.org/en-US/ ...

  5. 从原理到场景 系统讲解 PHP 缓存技术

    第1章课程介绍 此为PHP相关缓存技术的课堂,有哪些主流的缓存技术可以被使用? 第1章 课程介绍 1-1课程介绍1-2布置缓存的目的1-3合理使用缓存1-4哪些环节适合用缓存 第2章 文件类缓存 2- ...

  6. css3新增属性-background背景

    css3新增属性 边框属性 背景属性 文字属性 颜色属性 背景属性 属性 说明 background-image 添加背景图片 background-size 指定背景图像的大小 background ...

  7. CSS3中的background-size(对响应性图片等比例缩放)

    background-size的基本属性 background-size: 可以设定背景图像的尺寸,该属性是css3中的,在移动端使用的地方很多,比如最常见的地方在做响应性布局的时候,比如之前做的项目 ...

  8. css3新增的background属性

    1.background-size 可取值:auto(背景图片正常显示) size size (150px 40%) cover (背景图片覆盖整个背景) contain(背景图片缩小填满整个背景) ...

  9. html5+css3中的background: -moz-linear-gradient 用法

    在CSS中background: -moz-linear-gradient 让网站背景渐变的属性,目前火狐3.6以上版本和google浏览器支持这个属性. background: -moz-linea ...

  10. html5+css3中的background: -moz-linear-gradient 用法 (转载)

    转载至-->http://www.cnblogs.com/smile-ls/archive/2013/06/03/3115599.html 在CSS中background: -moz-linea ...

随机推荐

  1. MVC5为WebAPI添加命名空间的支持

    前言 默认情况下,微软提供的MVC框架模板中,WebAPI路由是不支持Namespace参数的.这导致一些比较大型的项目,无法把WebApi分离到单独的类库中. 本文将提供解决该问题的方案. 微软官方 ...

  2. hdu 1385 Minimum Transport Cost (floyd算法)

    貌似···················· 这个算法深的东西还是很不熟悉!继续学习!!!! ++++++++++++++++++++++++++++ ======================== ...

  3. 如何使用代码动态的获取和设置ImageView的宽度和高度?

    http://blog.csdn.net/wulianghuan/article/details/8644144 国内某金融企业的一道面试题:如何在代码中获得一个ImageVIew的高度和宽度? 相信 ...

  4. Speech两种使用方法

    COM组件使用speech: public class Speach { private static Speach _Instance = null ; private SpeechLib.SpVo ...

  5. 奇怪吸引子---WangSun

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  6. Entity Framework Core 实现读写分离

    在之前的版本中我们可用构造函数实现,其实现在的版本也一样,之前来构造连接字符串,现在相似,构造DbContextOptions<T> 代码如下: public SContext(Maste ...

  7. PHP 数组排序方法总结

    sort:本函数为 array 中的单元赋予新的键名.这将删除原有的键名而不仅是重新排序. rsort:本函数对数组进行逆向排序(最高到最低). 删除原有的键名而不仅是重新排序. asort:对数组进 ...

  8. 中国的 Android:尚未发掘的应用市场?

    作者: Wendy Boswell 本周,中国的搜索引擎公司百度最新公布的一篇报告介绍了中国 Android 用户的移动趋势. 下面是一些有价值的统计数据: 眼下在中国,每天的 Android 活跃用 ...

  9. 彩色的Shell

    我常在命令行下工作,以前老被同事说"你整天在那个黑窗口上倒腾什么?" 现在这个问题变成了"你这个花花绿绿的窗口是什么东西?" 其实都是同一个东西:一个兼容于xterm的终端窗口,要么是PuTTY/Ki ...

  10. 多个App间传递数据

    平台:Android两个App:A,B:需求:在A中点击一个按钮后,启动B并把数据从A传递到B: 代码: App A: MainActivity.java中添加: Button btn2 = (But ...