本文共 6805 字,大约阅读时间需要 22 分钟。
CSS3 包含多个新的背景属性,它们提供了对背景更强大的控制,进一步增强了背景功能,这些属性可以控制背景图片的显示位置、分布方式等;除此之外,CSS3还新增了多背景图片支持,从而允许我们在HTML组件中定义多个背景图片。CSS3还新增了大量边框相关属性,通过这些属性可以让我们定义圆角边框、渐变边框、图片边框等。
背景相关属性用于控制背景色、背景图片等属性。在控制背景图片的同时,还可控制背景图片的排列方式。有如下几个常用的背景相关属性。
下方的图就展示了这些背景相关属性的效果,源码可在我的资源库中下载
在默认情况下,组件里的背景图片会随着滚动条的滚动而自动移动,但如果把background-attachment属性设为fixed,那么背景图片就会被固定在该组件中,不会随着滚动条的滚动而移动。下方图片示范了背景固定的效果:
CSS3新增了如下几个背景相关属性:
background-clip | 用于设置背景覆盖的范围。 |
background-origin | 用于设置背景覆盖的起点,该属性与前面介绍的background-position有些相似。 |
background-size | 用于设置背景图片的大小。该属性由两个值组成,分别代表图片的宽度、高度。宽度、高度支持如下3种写法:长度值(px)、百分比(%)、auto(保持纵横比缩放) |
background-repeat新增的space和round | 保证背景图片不会被裁剪,完整的显示出来。 |
背景的覆盖范围由background-clip属性指定,该属性支持如下几个属性值。
background-origin属性用于指定背景从哪里覆盖,可以指定如下几个属性值。
需要指出的是,Firefox、Opera的最新版本暂不支持该属性,在Chrome、Safari中使用该属性时要把该属性写成-webkit-background-origin。如下示范了background-origin属性的功能。
在以前,当我们为HTML元素设置背景图片,该图片铺到该组件上时,图片的大小总是该图片的原始大小。CSS3的出现改变了这种现状,background-size属性可控制背景图片的大小
CSS3为background-repeat新增的space和round两个属性都用于保证背景图片不会被裁剪,它们之间的区别在于:round会自动调整背景图片的大小,从而保证HTML的元素内平铺每一个背景图片都能完整的显示出来;而space则不会调整背景图片的大小,它只是调整背景图片的间距。
在CSS3以前,每个组件只能指定一种背景图片,如果同时指定了背景颜色和背景图片,那么背景图片会覆盖背景颜色。CSS3允许同时指定多个背景图片,这些背景图片会依次覆盖。CSS3并没有为多背景图片支持提供额外的属性,多背景图片依然是通过background-image、background-repeat、background-position、background-size等属性来控制的,只是CSS 3允许指定多个属性值(多个属性值之间以英文逗号隔开),这样即可实现多背景图片的效果。下方图片展示了多背景图片的效果:
边框相关属性用于设置目标对象的边框特征,包括边框颜色、粗细,以及使用的线型。边框相关属性有如下几个:
border | 这是一个复合属性,用于设置目标组件的边框样式。可同时设置边框的粗细、线型、颜色。 |
border-color | 用于设置组件的边框颜色。如果提供4个参数值,则将按上、右、下、左的顺序一次设置4个边框的颜色;如果只提供1个参数值,则将用于设置4个边框的颜色;如果提供2个参数值,则第一个用于设置上、下两个边框的颜色;第二个用于设置左、右两个边框的颜色;如果提供3个参数值,则第一个用于设置上边框的颜色,第二个用于设置左、右两个边框的颜色,第三个用于设置下边框的颜色。 |
border-style | 用于设置组件的边框线型。如果提供4个参数值,则将按上、右、下、左的顺序依次设置4个边框的线型;如果只提供1个参数值,则将用于设置4个边框的线型;如果提供2个参数值,则第一个用于设置上、下两个边框的线型,第二个用于设置左、右两个边框的线型;如果提供3个参数值,则第一个用于设置上边框的线型,第二个用于设置左、右两个边框的线型,第三个用于设置下边框的线型。 |
border-width | 用于设置目标组件的边框线宽。如果提供4个参数值,则将按上、右、下、左的顺序依次设置4个边框的线宽;如果只提供1个参数值,则将用于设置4个边框的线宽;如果提供2个参数值,则第一个用于设置上、下两个边框的线宽,第二个用于设置左、右两个边框的线宽;如果提供3个参数值,则第一个用于设置上边框的线宽,第二个用于设置左、右两个边框的线宽,第三个用于设置下边框的线宽。 |
border-top | 这是一个复合属性,用于设置目标组件的上边框样式。可同时设置边框的粗细、线型、颜色。 |
border-top-color | 用于设置目标组件的上边框颜色。 |
border-top-style | 用于设置目标组件的上边框线型。 |
border-top-width | 用于设置目标组件的上边框线宽。 |
border-right | 这是一个复合属性,用于设置目标组件的右边框样式。可同时设置边框的粗细、线型、颜色。 |
border-right-color | 用于设置目标组件的右边框颜色。 |
border-right-style | 用于设置目标组件的右边框线型。 |
border-right-width | 用于设置目标组件的右边框线宽。 |
border-bottom | 这是一个复合属性,用于设置目标组件的下边框样式。可同时设置边框的粗细、线型、颜色。 |
border-bottom-color | 用于设置目标组件的下边框颜色。 |
border-bottom-style | 用于设置目标组件的下边框线型。 |
border-bottom-width | 用于设置目标组件的下边框线宽。 |
border-left | 这是一个复合属性,用于设置目标组件的左边框样式。可同时设置边框的粗细、线型、颜色。 |
border-left-color | 用于设置目标组件的左边框颜色。 |
border-left-style | 用于设置目标组件的左边框线型。 |
border-left-width | 用于设置目标组件的左边框线宽。在上面的边框相关属性中,边框颜色可以是任何有效的颜色值,而线宽可以是任何有效的长度值。线型可以支持这些属性( none:无边框。hidden:隐藏边框。dotted:点线边框。dashed:虚线边框。 solid:实线边框。double:双线边框。groove:3D凹槽边框。ridge:3D凸槽边框。inset:3D凹入边框。 outset:3D凸出边框。) |
虽然提供了这么多线型,但不是每个浏览器中都可以看出全部线型的效果。下方图片分别使用了不同的边框属性,用于演示线型、线宽、颜色等属性控制边框后的效果。为了更好地看出边框效果,页面还用CSS设置了<div.../>元素的大小。
CSS3提供了如下4个属性来支持渐变边框:
需要指出的是,这4个属性目前只有Firefox浏览器才支持,而且使用该属性时必须在前面增加-moz-前缀。如下图片展示了CSS3提供的渐变边框效果。
CSS3为支持圆角边框提供了如下属性:
下方图片展示了圆角边框的功能,有几个不同类型的圆角边框。
CSS 3为图片边框提供了如下属性:
border-image:该属性的值比较复杂,应该遵守如下格式:
上面语法格式可分为4个部分。小提示:repeat与round覆盖方式基本相似,区别在于:round方式多了这样的处理——如果最后一个边框图片不能完全显示,且最后一个边框图片能显示的区域不到一半,就不显示最后的边框图片,然后扩大前面的图片,让它们能完全覆盖显示区域;如果最后一个边框图片不能完全显示,且最后一个边框片能显示的区域超过一半,就显示最后的边框图片,然后稍微缩小前面的所有图片,让它们和最后一个图片能完全显示出来。
下方图片展示了图片边框的功能,通过一张图片去设置border-image属性。
opacity用于设置整个HTML的透明度,不管是背景色、前景色还是边框都会受到影响。opacity属性的值从0到1,其中0代表完全透明,1代表完全不透明。下方图片将展示出opacity属性的作用:
一个组件由元素内容区(content)、内补丁区(padding)、边框区(border)、外补丁区(margin)4个区域组成。其中内补丁区是该组件的内容与边框之间的距离,外补丁区是该组件边框之外的空白。内补丁区和外补丁区的颜色总是透明的。
内补丁相关属性有如下几个:
外补丁相关属性有如下几个:
下方图片就展示了外补丁相关属性的功能,如果需要源码,可以在我的资源库进行下载。
------------如果大家喜欢的博客,可以点击左上角的关注哦。
转载地址:http://qypti.baihongyu.com/