欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS3知识点

程序员文章站 2024-01-29 23:24:16
...

CSS3提供了强大而且精准的选择器,提供了多种背景填充方案、可以实现渐变颜色、改变元素形状、角度、加阴影效果,新的报纸布局、弹性盒子,ie6混杂模式的盒子模型,新的计量单位,动画效果等等。

CSS3有很大的兼容性问题,IE9以下不兼容CSS3.0,IE10才开始全面支持CSS3。而由于浏览器厂商的不同,我们在使用CSS3的时候,有时候需要单独为每一种浏览器写兼容。

而兼容的方式就是在属性前面加上前缀:

css3 兼容性

前缀 浏览器
-webkit chrome、safari
-moz Firefox
-ms IE
-o opera

css3 选择器

css3选择器:

1.css3属性选择器 ele[attr=”*(任意位置),^(开头),$(结尾)”]

2.css3伪类选择器

第一组:同一父级下的某个子元素
:first-child
:last-child
:nth-child(n) 同一父级下的第几个子元素 (正着来)

:nth-last-child(n) (倒着来)

CSS3知识点

(选择li中的第一个文件,背景为蓝色)

第二组:(常用)一类中的某个元素

:first-of-type
:last-of-type
:nth-of-type(n) 一类中的第几个元素 (正着来)
:nth-last-of-type(n) (倒着来)

3.css3条件选择器

E>F F是E的直接子元素
E+F F是E的兄弟节点,而且是E后面的第一个
E~F F是E后面的兄弟节点

CSS3属性

1.border-radius

这个属性是设置圆角的,border-radius: 10px; 这个css属性就可以让这个元素的四个角都变成半径是10px的四分之一圆。

border-radius是一个复合属性,它是由border-top-left-radius、border-top-right-radius、border-bottom-left-radius、border-bottom-right-radius四个属性复合而来。

当我们写一个值的时候,是这四个角都是一样的值。

当我们写两个值的时候,右上角和左下角一样,左上角和右下角一样,而且第一个值代表的是左上角和右下角的圆角度,第二个值代表右上角和左下角的圆角度。

当我们写三个值的时候,第一个值是左上角的值,第二个值右上角以及左下角的值,第三个值是右下角的值。

当我们写四个值的时候,分别是左上、右上、右下、左下的圆角度。

并且这四个属性每一个属性都有两个值,分别代表这个角的两条边,可以设置不同的值。

半圆:

div {
	height:50px;
	width: 100px;
	border-top-left-radius : 50px;
	border-top-right-radius: 50px;
	background-color: red;
}

2.box-shadow

这个属性是为盒子模型设置阴影的,不过比较消耗性能,用多了会使页面变卡。对于需要很多阴影的时候,我们可以用两个同样的盒子模型,通过改变底层盒子的位置来模拟阴影效果。

box-shadow的属性值包括:

box-shadow: x轴偏移量 y轴偏移量 [阴影模糊半径] [阴影扩展半径] [阴影颜色] [投影方式]

其中后面带方括号的属性都可选属性,前两个偏移量是一定要写的属性值。

投影方式默认是向外投影,如果要向内投影的话,就把属性值改为inset。

同一个盒子可以加多个阴影,中间用逗号隔开。

 div {
	height:50px;
	width: 100px;
	background-color: green;
	box-shadow: 10px 10px grey ;
}
CSS3知识点


3.border-image

这个属性是设置边框背景图片的

这也是一个复合属性,属性值包括:

border-image: url(xxx.png) number(默认单位是px) repeat / round / stretch

number为截取指定图片四周的宽度作为border的背景填充部分。number为一个值的时候是四个值的复合写法。

第一个值代表从上往下截取多少像素作为上边,然后是右边,下边和左边,不填像素也可以。

这个属性首先会固定四个角的图片,然后四边除了角的地方会遵循后面我们写的方式:

repeat是重复中间部分。

round 如果可以放下两个完整图片,就放两个,如果放不开就只放一个拉伸的图片。

stretch 中间只放一个拉伸的图片

4.rgba

我们在css2知道rgb是色值的意思,这里多了一个a代表的是alpha透明度的意思,第四个值alpha的取值范围是[0-1]。

这个属性基本等同于opacity属性和rgb属性的组合形式。

CSS3知识点

表示的是30%不透明度的红色背景

5.background: linear-gradient

css3可以让我们用渐变的颜色来填充背景颜色。

(1) linear-gradient([direction], color[percent], color[percent], …); 线性渐变

direction是渐变的方向,填写的是角度值,比如180deg,70deg等。当我们的方向是正方向的时候,我们可以用to direction来代替,比如正下方:to bottom,正右方:to right等。

后面的都是填的颜色,而颜色的百分比的意思不是说这个颜色在这个区域内占据的空间,而是到达了这个点之后颜色变成了我们制定的颜色,比如一个div的高度是200,那么我们设置50%的意思是在100的时候颜色变成了我们设置的颜色,而不是说我们设置的颜色占了100大小的意思。

 div {
	height:50px;
	width: 100px;
  background: linear-gradient(0deg, red, blue);
}
CSS3知识点
CSS3知识点

(2) radial-gradient(shape at position, color[percent], …);径向渐变

径向渐变即我们平常理解的放射状渐变,第一个值shape设置放射的形状,可以是原型circle、可以是椭圆ellipse。

position是设定一个在区域内开始的坐标点,即圆心位置,可是是两个值,也可以是一个值,一个的时候,第二个数默认是50%。这个值可以是百分数,也可以是像素和方位值。

后面的颜色部分和线性渐变设置颜色即可。

这里注意的是,这个属性一定要写在background属性里面,写在background-color属性里面是不对的。

background:radial-gradient(50px, red,blue);
CSS3知识点

6.word-wrap

这个属性是文字边界换行的意思,格式为:

word-wrap:break-word;

一旦到达边界,就会强制换行。

我们在最开始的html部分讲到过,在一个div里面输入一连串的英文的时候,由于浏览器无法识别英文的分隔符,所以最后这一串英文会超出div的大小。

现在设置这个属性之后,到达div的边界的时候就会强制换行。

7.font-face

这个属性可以让我们引入自己的字体包。

@font-face{
	font-family: myFitstFont;//给引入的字体起名字
	src:url('sldjf.ttf'),//引入地址的字体包
	url('alsdf.eat') format('eat')
	//同一种字体,不同平台的,引入多次  后面的format是引入的格式,这里就是eat
}
这样写完之后,我们在其他地方就可以通过设置font-family: myFirstFont;来使用我们引入的字体包了。

8.text-shadow

这个属性是文本阴影的意思,和盒子阴影类似,也是比较消耗性能,但是没有盒子那么消耗。

格式为:

text-shadow: x轴偏移量 y轴偏移量 [虚化程度] [颜色]
























































相关标签: CSS3