什么是CSS?
- CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称。
- CSS 是一种标记语言,属于浏览器解释型语言,可以直接由浏览器执行,不需要编译。
- CSS 是用来表现HTML或XML的标记语言。
- CSS 是由W3C的CSS工作组发布推荐和维护的.
- CSS 是编程入门人员的必修课,运用CSS样式可以让页面变得美观。
- CSS语法由三部分构成:选择器、属性和值: selector {property: value}
CSS3 是最新的 CSS 标准。
在W3Cschool首页,可以看到CSS教程与CSS3教程 里面有关于CSS与CSS3的简介,通过查看CSS参考手册都是网页样式code,不同的在于css3比css多了一些样式设置而已。 css3是向前兼容的,也就是说,css中有效的code在css3也有效。 以上是纯code方面来看,而对于具体的显示效果,还要看浏览器对其的支持情况。
例子:
- 一个css与css3都有效的code,如果浏览器不支持css3,那么只会以css的样式显示。最常见的就是圆弧角。
- 一个只在css3中有效的code,如果浏览器不支持css3,那么其显示效果就不会出现。 css3和css,在编写code的时候,除了对一些css3中新出现的属性设置,其它完全一样。
CSS3新增属性
- box-shadow(阴影效果)
使用:
box-shadow: 20px 10px 0
-moz-box-shadow: 20px 10px 0
-webkit-box-shadow: 20px 10px 0
支持:
FF3.5, Safari 4, Chrome 3
- border-colors(为边框设置多种颜色) 使用:
border: 10px solid #000;
-moz-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-top-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-left-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
-moz-border-right-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc;
说明: 颜色值数量不固定, 且FF的私有写法不支持缩写: -moz-border-colors: #333 #444 #555;
支持:
FF3+
- boder-image(图片边框)
使用:
-moz-border-image: url(exam.png) 20 20 20 20 repeat;
-webkit-border-image: url(exam.png) 20 20 20 20 repeat;
说明:
(1). 20 20 20 20 ---> 边框的宽度, 分别对应top, right, bottom, left边框, 改变宽度可以实现不同的效果;
(2). 边框图片效果(目前仅实现了两种): repeat --- 边框图片会平铺, 类似于背景重复; stretch --- 边框图片会以拉伸的方式来铺满整个边框;
(3). 必须将元素的边框厚度设置为非0非auto值。
支持:
FF 3.5, Safari 4, Chrome 3
- text-shadow(文本阴影)
使用:
text-shadow: [<颜色><水平偏移><纵向偏移><模糊半径>] || [<水平偏移><纵向偏移><模糊半径><颜色>];
说明:
(1) <颜色>和<模糊半径>是可选的, 当<颜色>未指定时, 将使用文本颜色; 当<模糊半径>未指定时, 半径值为0;
(2) shadow可以是逗号分隔的列表, 如:text-shadow: 2px 2px 2px #ccc, 3px 3px 3px #ddd;
(3) 阴影效果会按照shadow list中指定的顺序应用到元素上;
(4) 这些阴影效果有可能相互重叠, 但不会叠加文本本身;
(5) 阴影可能会跑到容器的边界之外, 但不会影响容器的大小。
支持:
FF 3.5, Opera 10, Safari 4, Chrome 3
- text-overflow(文本截断)
使用:
word-wrap: normal | break-word;
支持:
IE6+, FF 3.5, Safari 4, Chrome 3
- border-radius(圆角边框)使用:
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
支持:
FF 3+, Safari 4, Chrome 3
- opacity(不透明度) 使用:
opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter(opacity=50);
支持:
all
- box-sizing(控制盒模型的组成模式) 使用:
box-sizing: content-box | border-box; // for opera
-moz-box-sizing: content-box | border-box;
-webkit-box-sizing: content-box | border-box;
说明:
- content-box: 使用此值时, 盒模型的组成模式是, 元素宽度 = content + padding + border;
-
- border-box: 使用此值时, 盒模型的组成模式是, 元素宽度 = content(即使设置了padding和border, 元素的宽度也不会变)。
支持:
FF3+, Opera 10, Safari 4, Chrome 3
- resize(元素缩放)
使用:
resize: none | both | horizontal | vertical;
说明:
- 必须将元素的overflow属性设置为auto或hidden, 该属性才能起作用(overflow设置为visible时, 无效);
- 属性值说明: (1). none --> 禁用缩放; (2). both --> 可同时缩放宽度和高度; (3). horizontal --> 仅能缩放宽度; (4). vertical --> 仅能缩放高度;
- outline(外边框)
使用:
-o-background-size: [length | percentage] {1, 2};
-webkit-background-size: [length | percentage] {1, 2};
例如:
-o-background-size: 50px 60px;
-webkit-background-size: 50px 60px;
这会将背景图片的宽设置了50px, 高60px.
支持:
safari 4, chrome 3, opera 10
- background-origin(指定背景图片从哪里开始显示) 使用:
-webkit-background-origin: border | padding | content;
-moz-background-origin: border | padding | content;
说明:
(1) border --> 从border区域开始显示背景;
(2) padding --> 从padding区域开始显示背景;
(3) content --> 从content区域开始显示背景;
注意:
必须先指定background属性, 然后才能指定该属性, 如果该属性出现在background属性之前, 会无效。 支持:
safari 4, chrome 3, FF 3+
- background-clip(指定背景图片从什么位置开始裁切) 使用:
-webkit-background-origin: border-box | padding-box | content-box | no-clip;
说明: > (1) border-box --> 从border区域向外裁剪背景;
(2) padding-box --> 从padding区域向外裁剪背景;
(3) content-box --> 从content区域向外裁剪背景;
(4) no-clip --> 不裁切背景。 注意:
必须先指定background属性, 然后才能指定该属性, 如果该属性出现在background属性之前, 会无效。 支持:
safari 4, chrome 3
- background(为一个元素指定多个背景) 使用:
background: [background-image] | [background-origin] | [background-clip] | [background-repeat] | [background-size] | [background-position]
例子:
background: url(bg1.png) no-repeat left top, url(bg2.png) no-repeat right bottom;
支持:
safari 4, chrome 3
- hsl(通过色调, 饱和度, 亮度来指定颜色值) 使用:
hsl: (<length> || <percentage> || <percentage>);
说明:
(1) length: h(色调), 0(或360)表示红色, 120表示绿色, 240表示蓝色;
(2) percentage: s(饱和度), 取值为0%到100%之间的值;
(3) percentage: l(亮度), 取值为0%到100%之间的值; 例子:
background: hsl(240, 50%, 100%);
color: hsl(100, 80, 100%);
支持:
safari 4, chrome 3, FF3, opera 10
- hsla(在hsl的基础上上增加了一个透明度设置) 使用:
hsla: (<length> || <percentage> || <percentage> || <opacity>);
说明: > opacity: a(透明度), 取值在0到1之间; 例子:
background: hsl(240, 50%, 100%, 0.5);
color: hsl(240, 50%, 100%, 0.5);
支持:
safari 4, chrome 3, FF3, opera 10
- rgba(基于r,g,b三个颜色通道来设置颜色值, 通过a来设置透明度) 使用:
rgba: (r, g, b, opacity);
说明:
(1) r: 红色, 正整数 | 百分数;
(2) g: 绿色, 正整数 | 百分数;
(3) b: 蓝色, 正整数 | 百分数;
(4) a: 透明度, 取值在0到1之间;
(5) 正整数在0到255之间, 百分数在0%到100%之间。 例子:
rgba: (100%, 244, 0, 0.5);
支持:
safari 4, chrome 3, FF3, opera 10