background 是一个简写属性,可以包括多个属性:background-clip、background-color、background-image、background-origin、background-position、background-repeat、background-size、background-attachment 。接下来我们一个个来看看这些属性的作用:
- background-color 最常用的属性,默认不继承(background的所有属性都默认不继承),初始值为 transparent;有时候使用默认继承可以实现一些好玩的效果,比如倒影;
- backgroundo-image 背景图片,可以逗号分割设置多个,可以是图片url或者渐变色;
- background-clip 背景剪裁,可以逗号分割设置多个,值可以为 broder-box(初始值)、padding-box、content-box、text(新,将背景被文字剪裁);
- background-origin 设置背景起始点的相对区域,搭配 background-position使用,可以逗号分割设置多个,值可以是border-box、padding-box(初始值)、content-box;
- background-position 设置背景的起始点,可以逗号分割设置多个,值可以是 10px 20px 、center center 、left 10px bottom 20px等等,非常灵活;
- background-size 设置背景的大小,可以逗号分割设置多个,值可以是数字值如30px 40px、auto auto(初始值)、conver、contain;background-repeat: repeat就是根据这个尺寸大小来重复的 。
- background-repeat 设置背景的重复方式,初始值为 repeat,常使用值的还有no-repeat;
- background-attachment 设置背景图像的位置是在视口内固定,还是随着包含它的区块滚动 。可以逗号分割设置多个,值有scroll(初始值)、local、fixed 。详情查看MDN
半透明边框
- 关键实现:background-clip
- 具体分析:由于background属性默认会覆盖整个盒模型包括边框border,所以设置border-color: rgba(0, 0, 0, .5)时会透出背景色,达不到半透明边框的效果 。css3增加了background-clip属性,定义背景填充的裁剪区域 。设置padding-box便可以实现半透明边框:地址
border: 10px solid rgba(255, 255, 255, .5); background: white; background-clip: padding-box;
文章插图
半透明边框
灵活的背景定位
- 关键实现:backgrond-position background-origin
- 具体分析:我们都知道background-position可以定位背景图片等位置,但是都是相对padding-box的左上角开始等 。css3 允许这样写:background-position: right 10px bottom 20px,同时 css3 还支持background-origin,其默认值如同其表现border-box,支持设为padding-box和content-box:地址
height: 200px; padding: 10px; border: 5px solid cyan; background: lightblue; background: radial-gradient(#00a4fd, cyan) no-repeat right 100px bottom / 100px 100px; background-origin: content-box;
文章插图
背景定位
background-position 设为百分比值较为复杂 。百分比值实际上执行了以下的计算公式:
(container width - image width) * (position x%) = (x offset value)(container height - image height) * (position y%) = (y offset value)
由计算公式可知:当值为0%时,实际偏移值为0px,此时图片的左边界(或上边界)和容器的左边界(或上边界)重合;当值为50%时,实际偏移值为容器减图片剩余空间的一半,图片左右边界(或上下边界)距离容器左右边界(或上下边界)相等,此时图片的中点和容器的中点重合 。当值100%时,实际偏移值为容器减图片的剩余空间,所以此时图片的右边界(或下边界)和容器的右边界(或下边界)重合 。二者之差为负值时同样有效 。地址文章插图
背景定位
条纹背景
- 关键实现:background-image
- 实现分析:利用线性渐变实现多种颜色的交错重复,形成条纹背景 。lienar-gradient的第一个参数是渐变的角度,可以是方向关键字to top(初始值,可忽略不写)等,也可以是角度90deg等;#fb3 50%指的是色标和终点位置值;这里linear-gradient的第二个位置值设置为0会被解析为前一个色标的位置值即50%,这样写更加符合DRY原则 。
background: linear-gradient(#fb3 50%, #58a 0);background-size: 100% 30px;
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CSS初步介绍
- 玫瑰花茶的功效,揭秘玫瑰花茶功效
- 【浏览器】HTML、CSS和JS如何变成页面的?
- 看哪些女人让男人受不了 专家揭秘容易引起争吵的家居风水
- 揭秘:雷军为何把新小米logo设计交给一个叫原研哉的日本人?
- 中医止咳散配方,揭秘中医千祖传的补肾壮阳茶配方
- 生命是个奇迹 生命奇迹大揭秘
- 宝宝沐浴露排行榜榜单揭秘
- 紫玫瑰花茶,揭秘玫瑰花茶功效
- CSS是什么?这一篇全解,绝对有你想要的