CSS3基础总结

一、简介

1.CSS3是最新的CSS标准。CSS3继承了CSS2.1并进行了增补与修改。

2.CSS3按模块化设计。最新变化包括:选择器、框模型、背景和边框、文本效果、2D/3D转换、动画、多列布局、用户界面等。
3.兼容:渐进式兼容。

4.各个主流浏览器的兼容性前缀(重要)

内核                                      浏览器                                     前缀

Trident                                      IE                                          -ms-

Webkit                               Chrome、Safari                         -webkit-

Gecko                                 火狐(FireFox)                        -moz-

Presto                                  Opera                                          -o-

二、CSS3新增选择器

1.属性选择器

1.E[attr]                          选中具有attr属性的E元素

2.E[attr="value"]             选中具有attr属性且值为value的E元素

3.E[attr^="value"]          选中具有attr属性且属性值以value开头的E元素

4.E[attr$="value"]          选中具有attr属性且属性值以value结尾的E元素

5.E[attr*="value"]          选中具有attr属性且属性值包含value的元素

其中,可以省略E,代表所有元素

注意:[]的权重与class是同一个级别

2.行为状态选择器

(1)伪类:

旧:

E:link

E:hover

 E:visited

E:focus

E:active

新增:

E:checked                元素被选中

E:disable                元素失效时被选中

E:enable                元素有效时被选中

E:placeholder        元素占位符被选中

(2)伪元素:

E:after

E:before

(3)结构伪类选择器

1.nth-child

E:nth-first-child{}           父元素中第一个元素是E元素

E:nth-last-child{}           父元素中最后一个元素是E元素

E:nth-child(n){}        父元素中第n个元素是E元素

n关键字:

odd:奇数

even:偶数

表达式:

2n        2n+1         3n+1       等

数字:

1 2 3 4 5 6 ……

注意:先强调在父元素中的顺序,然后再判断元素是否是E元素。

我是这样理解的:假如你和原配生了child(E元素),但是又不小心和隔壁老王生了child(其他元素),看选择器名称:nth-child,即对于child来说,最重要的是他们都属于你的,其次才判断这些child是否是E元素(你与原配生的)。

2.nth-of-type

E:first-of-type{}            在父元素中选中子元素为E元素的第一个

E:last-of-type{}          在父元素中选中子元素为E元素的最后一个

E:nth-of-type(n){}       在父元素中选中子元素为E元素的第n个

E:nth-last-of-type(n){}   在父元素中选中子元素为E元素的倒数第n个

n关键字,表达式,数字 与nth-child一样

注意:先强调类型, 然后再判断类型中的顺序(与nth-child相反) 。

因此,我的理解是这样,假设你是那位原配,你发现了你的另一半与隔壁老王生了孩子(其他子元素),你不能接受这孩子,在你心里,孩子的类型(type)只有E元素才是你的孩子(E元素)。

三、边框、圆角

1.边框圆角:border-radius

让四个角都圆角

数值:弧度的长度

(1)数值1/数值2:

数值1:代表角度水平方向的长度

数值2:代表代表角度垂直方向的长度

没有值时:水平和垂直长度一样

(2)单独设置某一个角度的圆角

border-top-left-radius: 左上角

border-top-right-radius:右上角

border-bottom-left-radius:左下角

border-bottom-right-radius:右下角

(3)值的方向

1个值 : 4个方向

3个值 : 左上   右上左下     右下

2个值:  左上右下    右上左下

4个值 : 左上 右上 右下 左下  顺时针方向

(4)值列表1/值列表2

值列表可以是1值或者2值或者4个值

值列表1全部代表水平方向

值列表2全部代表垂直方向

(5)值单位

1.px 

2. %: 相对于自身的

四、背景填充

1.背景:background

(1)background-clip :  背景图片填充范围

                    content-box :  背景图片填充到内容区域

                    padding-box :  背景图片填充到padding区域

                    border-box  :    背景图片填充到border区域(默认值)

(2)background-origin :  背景图片左上的位置起点

                    content-box :     内容区域的左上角

                    padding-box :     padding区域的左上角(默认值)

                    border-box :        border区域的左上角

2.多重背景:

                可以同时设置多张背景图片

                用逗号隔开, 越先写, 显示越靠前(上方)

3.背景尺寸

background-size:设置背景图片的尺寸

                        1个值时:代表宽度,高度等比例缩放

                        百分数:相对与自身盒子的宽高

                        关键字:

                        cover:让图片等比例缩放,完全填充盒子

                        缩放后,多余部分不会显示

                        contain:让图片等比例缩放,让盒子完全装下图片

                       让盒子留出多余区域的背景

五、盒模型

1.盒模型: content + 内边距 + 外边距 + 边框

(1)width:内容宽度

(2)box-sizing : 

border-box(怪异盒子):width=内容的宽度+ 左右padding值+左右border值

盒子的宽度=width+左右margin值

content-box(正常的盒子):width=内容区域(默认)

盒子的宽度=width+左右padding值+左右border值+左右margin值

2.盒子阴影:

(1)box-shadow: x偏移量  y偏移量  模糊值  增强值  阴影颜色  内外阴影;

增强值: 代表纯色区域的范围

模糊值: 从边框开始颜色淡化的范围

内外阴影 :

inset : 内阴影

outset :外阴影(默认值)

除了偏移量以外都可以省略,阴影颜色默认为黑色,阴影可以叠加,中间用逗号隔开。

(2)动态更改盒子大小: resize

none  : 用户不可以更改大小

vertical : 可以更改垂直方向的大小

horizontal : 可以更改水平方向的大小

 both: 可以同时更改水平和垂直方向的大小

【注意】除none以外的其他属性,必须配合overflow使用, 且overflow的值不能为visible。

六、文本

1.文本

(1)letter-spacing:字间距

(2)word-spacing:词间距,以空格为依据识别词/单词

(3)word-break:换行模式

                    break-all:允许单词内换行

                    keep-all:单词不会被拆分,从空格,连接字符中拆分

(4)white-space:

                    nowrap:不换行

                    normal:换行(默认)

2.文字阴影

(1)text-shadow: x偏移量  y偏移量  模糊值  阴影颜色

可以同时写多个阴影,阴影之间用逗号隔开。

七、渐变

1.类型:线性渐变、径向渐变

2.线性渐变:linear-gardient(to 方向,颜色列表)

颜色列表:由多种颜色构成,颜色之间用逗号隔开

(1)方向:

left, right, top, bottom

left top, left bottom, right top , right bottom

(2)角度:按顺时针方向,单位不能忽略

0deg  top

45deg right top

90deg    right

135deg  right bottom……

(3)节点:

从上一个节点渐变到当前节点

有节点位时,默认0节点的颜色为第一个颜色

(4)节点的位置:

px:从起始点计算距离

百分数:从起点计算距离,距离占总长度的百分比

(5)重复渐变:

repeating-linear-dardient(to 方向,颜色列表)

多个小于总宽高的渐变重复平铺,配合background-size使用

3.径向渐变

radial-gardient(中心点,颜色节点列表)

(1)颜色列表:由多种颜色构成,颜色之间用逗号隔开

上一种颜色过渡到当前颜色

(2)默认0节点的颜色是第一种颜色,默认100%节点是最后一种颜色

(3)中心点:at

            水平:left、center、right

           垂直方向:top、center、bottom

(4)距离:

           px

           百分数

(5)重复径向渐变

repeating-radial-gardient(中心点,颜色节点列表)

你可能感兴趣的:(CSS3基础总结)