本文简单整理了CSS3背景的几个知识点:背景的五大基本属性,以及新增的四个属性:background-origin、background-clip、background-size、background-break以及多背景简单使用!
1.1 背景的五个基本属性:
以上五个基本属性可以简写为:(看例子比较清楚!)
background:#fff url(../images/bg.png) no-repeat fixed center;
注意: background-attachment取值为”fixe”时,一般运用在html或者body标签上,使用在其他标签上不能达到固定效果!
1.2 4个与背景相关的新增属性:
background-origin:padding||border||content;//旧语法
background-origin:padding-box||border-box||content-box;//新语法
属性值解析:
注意:IE8一下版本background-origin默认值为border,背景图片background-position是从border开始显示背景图片。
看图最实在:(都是在background-position:left top情况下显示!)
padding-box默认值:
border-box:
content-box:
个人总结:可以这样理解:在background-position起始位置从哪种原点位置开始显示背景图片!
例如:在background-position属性决定图片的位置后(例如定位在left top位置),显示的原点background-origin是默认padding-box,还是更改为border-box或content-box原点!一个是图片的起始位置,一个是原点参考位置!
同时,从图片也可以看出一个细节:背景颜色填充在边框下面,元素的背景图片默认从padding左上角开始到元素边框右下角止。
background-clip:border-box||padding-box||content-box;//默认border-box,即超出border外边缘开始裁切!
//额,此属性在个别浏览器下兼容性写法需要注意!
效果图:默认border-box,无特殊效果!(背景色都会被裁剪掉!)
background-clip:padding-box效果,裁剪padding以外的区域
background-clip:contentg-box效果,裁剪content以外的区域
background-clip:text属性,Webkit私有属性!
//webkit内核的两个私有属性相互配合,实现背景图片填充文本的效果!
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
注意:只有Webkit浏览器支持!
实例1:仿字体加载特效
.box{ width:600px;height:200px;border:1px solid #000; /*字体颜色需要透明*/ color:rgba(0,0,0,0); font:bold 120px/150px "Miscorsoft Yahei"; background:-webkit-linear-gradient(90deg,red 0,blue 100%) ; -webkit-background-clip:text; transition:all 1s; }
.box:hover{ background-position: 0 -200px ; }
实例2:仿iphone开机动画
body{ background:#000; text-align:center; font:50px/200px "微软雅黑";}
h1{ display:inline-block; color:rgba(255,255,255,0.3); background:-webkit-linear-gradient(-30deg, rgba(255,255,255,0) 100px, rgba(255,255,255,1) 180px, rgba(255,255,255,1) 240px, rgba(255,255,255,0) 300px) -300px 0 no-repeat; -webkit-background-clip:text; -webkit-animation:toMove 2s linear infinite; }
@-webkit-keyframes toMove{
0%{ background-position: -300px 0; }
100%{ background-position: 600px 0; }
}
background-size:auto||<length>||<perentage>||cover||contain;
属性值详解:
应用场景:
background-break:bounding-box||each-box||continuous;
注意:此属性目前仅属于Firefox,其属性要写成”-moz-background-inline-policy。
属性详解:
所有的这些背景属性都可以合并成单独的一行缩写。多背景图的缩写规则与单背景图是一致的,然后中间用逗号隔开。
background:
url (01.jpg) no-repeat, /*图片1*/
url (02.jpg) repeat left center, /*图片2*/
url (03.jpg) repeat-y right top; /*图片3*/
background-color:#ccc;//多背景情况下只能有一个背景色设置!
每个背景图片都是以层的形式显示,第一个在其他之上。先声明的图片在上面!
background-color只能设置一个,如果设置多个background-color会导致错误!
多背景模块知识还有很多很巧妙的用法和其详细使用方法以及应注意的事项,一言难尽:
css3多重背景详解: http://caibaojian.com/css3-multiple-background.html