CSS3知识点

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

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

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

css3 兼容性

前缀浏览器
-webkitchrome、safari
-mozFirefox
-msIE
-oopera

css3 选择器

css3选择器:

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

2.css3伪类选择器

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

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


(选择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 ;
}


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属性的组合形式。


表示的是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);
}

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

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

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

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

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

background:radial-gradient(50px, red,blue);

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轴偏移量 [虚化程度] [颜色]
























































  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值