css学习2

1.各个主流浏览器都定义私有属性,webkit类型浏览器(safari,chrome)私有属性以-webkit-前缀开始,Gecko(firefox)的私有属性以-moz-开头,opera浏览器以-o-开头,而ie浏览器以-ms-前缀开头。

2.css的样式代码必须保存在css类型的文本文件中,或者放在网页内<style>标签中,或放在网页标签style属性中。

包括内联样式,内嵌样式,连接样式,导入样式。

内嵌样式:将css写在网页源文件的头部,即在<head>标签中,并放在style标签中。

连接样式:使用<link>标签    <link href="xxx" type="text/css" rel="stylesheet">  其中rel表示的该标签关联的是样式标签。

导入样式:@import url("xxxx.css") 或者简写为@import "xxx.css"  并且要放在style标签中。

连接样式和导入样式的区别:

①link属于HTML标签,@import属于css提供

②页面被加载时,link标签就会被加载,而@import会在页面加载完后才加载

扫描二维码关注公众号,回复: 5027385 查看本文章

③@import在ie5上能用,link没有兼容问题

④link权重高于@import

3.css的优先级

!import拥有最高优先级 .e{margin: 0 !important;}  注意要卸载分号前面

标签选择器,权值为1

伪元素选择器,权值为1

属性选择器,权值为10

类选择器,权值为10

id选择器,权值为100

比如:

h3 .f2{...}  加权值:1+10=11

被继承的权重为0,即不管父级样式的优先级有多大,被子集元素集成时,他的权重就是为0,因此有个元素显式声明的样式都可以覆盖继承该样式。

4.对于div,在firefox居中属性margin:0 auto, ie浏览器使用text-align:center

5.css选择器的分类

指定类选择器:把标签和类捆绑在一起定义选择器,就可以限定类适用的标签范围。并且能够提高权值。

例如:

p.f1{.....}

同理,可以应用于id选择器

div#box{...}

通配选择器:

*{...}

包含选择器:适用空格符来表示。表示的是样式作用于前一个选择器下的选择器。

#header p{....}  只作用域p元素

子选择器:作用同上,用>表示

#header > p{....}  只作用域p元素

相邻选择器:表示的必须满足两个元素相邻的关系(必须为兄弟关系),才能作用于后一个元素。用+表示、

p+h1{...} 作用于h1元素

兄弟选择器:用~表示,表示是能匹配后面同级所有元素。

比如:

p+h1{...} 作用于h1元素,如果后面还有h1元素,也能匹配,也就是能匹配多个元素。和相邻选择器的区别:相邻选择器只能匹配一个元素。

分组选择器:也就是能同时作用于多个元素,使用,分割

h1,h2,h3{....}

属性选择器:能够根据标签中定义的属性进行设置样式

具体的类型有:

E[attr]  指定属性名

E[attr="value"]  该属性只有为value的属性值  比如属性value为test1 那么title="test1 test2 test3"就不能匹配,但是下面的情况就可以匹配

E[attr~="value"]  该属性包含value的属性值

E[attr^="value"]  该属性以value属性值开头

E[attr$="value"]  该属性以value属性值结尾

E[attr*="value"]  该属性包含value

E[attr|="value"]  该属性包含value属性值开头或为value

可以匹配多个属性,比如E[attr1][attr2]

伪类选择器:使用:分隔。

常用的伪类选择器: 注意顺序,更改顺序可能出现其他的问题。

.demo a:link{...}

.demo a:visited{...}

.demo a:hover{...}

.demo a:active{...}

:before :after样式  比如添加边框阴影

a.button:before,a,button:after{

    content:"";

    position:absolute;

    left:-1px

}

结构伪类选择器:

:first-child

:last-child

:nth-child()

:nth-last-child()

:nth-of-type()    表示的指定的类型的元素

:nth-last-of-type()

:first-of-type

:last-of-type

:only-child

:only-of-type

:empty

对于nth-child()的各个类型

:nth-child(length)  length为具体的数字
:nth-child(n)  n是特定用法,表示从0开始进行遍历

:nth-child(n*length)  表示的n的倍数

比如:

:nth-child(2n)  相当于:ntn-child(even)

:nth-child(2n+1)  相当于:nth-child(odd)

否定伪类:主要是为了处理特殊的样式

:not(selector) 选择器匹配非指定元素/选择器的每个元素。

状态伪类:能够匹配指定范围内的元素

:enabled  

:disabled

:checked

目标伪类:形式为E:target ,表示匹配E的所有元素,并且匹配元素被URL指向

比如在Url中添加id值#red,那么就会匹配到响应的元素

<style>

div:target{background:red}

<style>

<div id="red">啦啦啦</div>

猜你喜欢

转载自blog.csdn.net/yuezheyue123/article/details/86593570