css3新增属性-background背景

  • A+
所属分类:Web前端
摘要

background-imagebackground-sizebackground-originbackground-clip       


css3新增属性?

  • 边框属性
  • 背景属性
  • 文字属性
  • 颜色属性

 背景属性?

属性 说明

background-image

添加背景图片

background-size

指定背景图像的大小

background-origin

指定背景图像的位置区域

background-clip

指定位置开始裁剪背景图

 

 

 

 

 

 

 

 

1. background-image(背景图片)?

 CSS3中可以通过background-image属性添加背景图片

语法:background-image:url('图片地址')

注意:不同的背景图像和图像用逗号隔开,所有的图片中显示在最顶端的为第一张

#example1 {     background-image: url(img_flwr.gif), url(paper.gif); /*背景图*/     background-position: right bottom, left top; /*背景图位置*/     background-repeat: no-repeat, repeat; /*背景是否平铺*/ }

另外,还可以给不同的图片设置多个不同的属性:

#example1 {    /*这时直接使用复合属性background*/     background: url(img_flwr.gif) right bottom no-repeat, url(paper.gif) left top repeat; }

2. background-size(背景大小)?

background-size指定背景图像的大小

CSS3以前,背景图像大小由图像的实际大小决定

CSS3中可以在不同的环境中指定背景图片的大小,单位可以是像素比也可以是百分比大小

注意:你指定的大小是相对于父元素的宽度和高度的百分比的大小,不能为负值!

单张图片的背景大小可以使用以下三种方法中的一种来规定:

  • 使用关键词 contain:等比例缩放,直到有一条边碰到盒子边框就停止
  • 使用关键词 cover:等比例缩放,填充覆盖整个盒子
  • 设定宽度和高度值

当通过宽度和高度值来设定尺寸时,你可以提供一或者两个数值:

  • 如果仅有一个数值被给定,这个数值将作为宽度值大小,高度值将被设定为auto
  • 如果有两个数值被给定,第一个将作为宽度值大小,第二个作为高度值大小。

示例值:

div{     /* 关键字 */     background-size: cover     background-size: contain      /* 一个值: 这个值指定图片的宽度,图片的高度隐式的为auto */     background-size: 50%     background-size: 3em     background-size: 12px     background-size: auto      /* 两个值 */     /* 第一个值指定图片的宽度,第二个值指定图片的高度 */     background-size: 50% auto     background-size: 3em 25%     background-size: auto 6px     background-size: auto auto      /* 逗号分隔的多个值:设置多重背景 */     background-size: auto, auto     /* 不同于background-size: auto auto */     background-size: 50%, 25%, 25%     background-size: 6px, auto, contain      /* 全局属性 */     background-size: inherit;     background-size: initial;     background-size: unset; }

伸展背景图像完全填充内容区域:

div{     background:url(img_flwr.gif);     background-size:100% 100%; /*填充整个内容区域*/     background-repeat:no-repeat; }

背景图片大小计算:

(1)如果指定了 background-size 的两个值并且不是auto

  背景图片按指定大小渲染。

(2)contain 或 cover:

  保留固有比例,最大的包含或覆盖背景区。如果图像没有固有比例,则按背景区大小。

(3)auto 或 auto auto:

  图像如果有两个长度,则按这个尺寸。如果没有固有尺寸与固有比例,则按背景区的大小。如果没有固有尺寸但是有固有比例, 效果同 contain。如果有一个长度与比例,则由此长度与比例计算大小。如果有一个长度但是没有比例,则使用此长度与背景区相应的长度。

(4)一个为 auto 另一个不是auto:

  如果图像有固有比例,则指定的长度使用指定值,未指定的长度由指定值与固有比例计算。如果图像没有固有比例,则指定的长度使用指定值,未指定的长度使用图像相应的固有长度,若没有固有长度,则使用背景区相应的长度。

注意规范:

.bar {        width: 50px; height: 100px;        background-image: gradient(...);         /* 不推荐 */        background-size: 25px;        background-size: 50%;        background-size: auto 50px;        background-size: auto 50%;         /* 可行 */        background-size: 25px 50px;        background-size: 50% 50%; }

3.background-origin(背景起始位置)?

background-origin 规定了指定背景图片background-image属性的原点位置的背景相对区域

注意:当使用 background-attachment为fixed时,该属性将被忽略不起作用

css3新增属性-background背景

语法:

background-origin : border-box | padding-box | content-box

  • padding-box :从padding区域开始显示(默认值)

  • content-box :从内容区域开始显示,不计算padding部分

  • border-box :从边框左上角区域开始显示
.example {    border: 10px double;    padding: 10px;    background: url('image.jpg');    background-position: center left;    /* 背景将在内容区padding内部填充 */    background-origin: content-box;    /* 背景将从边框左上角区域开始填充 */    background-origin: border-box; }

4.background-clip(背景裁剪)?

background-clip  设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面

取值:

div{     /* Keyword values */     background-clip: border-box;     background-clip: padding-box;     background-clip: content-box;     background-clip: text;  /* Global values */     background-clip: inherit;     background-clip: initial;     background-clip: unset;   }

  • padding-box :裁剪到padding部分,显示内边距、内容区部分图片

  • content-box :裁剪到内容区,只保留内容区部分图片

  • border-box :裁剪到边框区,显示内容区、内边距和边框部分图片

background(复合属性)?

background 是一种css简写属性,用于一次性集中定义各种背景属性,,包括 color, image, origin 与 size, repeat 方式等等

语法缩写:

div{     background : [background-color] | [background-image] | [background-position][/background-size] | [background-repeat] | [background-attachment] | [background-clip] | [background-origin],...   }

可以把上面的缩写拆解成以下形式:

div{    background-image:url1,url2,...,urlN;    background-repeat : repeat1,repeat2,...,repeatN;    backround-position : position1,position2,...,positionN;    background-size : size1,size2,...,sizeN;    background-attachment :     attachment1,attachment2,...,attachmentN;    background-clip : clip1,clip2,...,clipN;    background-origin : origin1,origin2,...,originN;    background-color : color; }

注意?

  •  用逗号隔开每组 background 的缩写值;
  •  如果有 size 值,需要紧跟 position 并且用 "/" 隔开;
  •  如果有多个背景图片,而其他属性只有一个(例如 background-repeat 只有一个),表明所有背景图片应用该属性值。
  •  background-color 只能设置一个。

扩展常用背景图片格式!

  • .jpg 不支持动画,不支持透明,渐进显示,颜色丰富,有损

  • .png 不支持动画,支持透明度,颜色更丰富,无损

  • .gif 支持动画,256种颜色,2种透明度,渐进显示

  • .webp 支持动画,高压缩率,高加载速率

以上就是当前所整理的css3中新增的背景属性,若整理有误或不完善请各位大佬指出~