- CSS代码语法
css样式有选择器和声明组成,而声明又由属性和值组成。
- CSS样式
css样式代码插入的形式有内联式、嵌入式和外部式三种。
1.内联式:将css代码直接写在现有的HTML标签中。
2.嵌入式:将css代码写在<style type="text/css"></style>标签之间。
3.外部式:将css代码写在一个单独的外部文件(以“.css”为扩展名)中,在<head>内使用<link rel="stylesheet" type="text/css" href="css文件路径">将css样式文件链接到HTML文件内。
注意:三种样式的优先级:内联式>嵌入式>外部式,但是嵌入式>外部式的前提是嵌入式css样式位置一定在外部式的后面。综合来说,就是就近原则(离被设置元素越近优先级越高),但是注意上面总结的优先级是有个前提:这三种样式中css是在相同权值的情况下。
3.选择器
3.1标签选择器:HTML代码中的标签
3.2类选择器:英文圆点开头,类选器名称
.类选器名称{css样式代码;}
3.3ID选择器:ID选择器前面是#号。
ID选择器只能在文档中使用一次,而类选择器可以使用多次。
可以使用类选择器词列表方法为一个元素同时设置多个样式,不能使用ID词列表。
3.4子选择器:用>选择指定标签元素的第一代子元素
.book>li{ border:1px solid red;}
3.5后代(包含)选择器:加入空格,选择指定标签元素下的后辈元素。
.like span{color:red;}
3.6毗邻元素选择器:加入+,E+F匹配紧接在E元素后的同级元素F。
E~ F:匹配任何在E元素之后的同级F元素包括兄弟元素
3.7通用选择器:(*)匹配html中所有标签元素。
3.8伪类选择器:
E:first-child //匹配父元素的第一个子元素
E:link//匹配所有未被点击的链接
E:visited//匹配所有已被点击的链接
E:active//匹配鼠标已经将其按下、还没有释放的E元素
E:hover//匹配鼠标悬停其上的E元素
E:focus//匹配获得当前焦点的E元素
E:lang(c)//匹配lang属性等于c的E元素
E::first-line//匹配E的第一行
E::first-letter//匹配E的第一个字母
E:before//E之前插入生成的内容
E:after//E之后插入生成的内容
E:enabled//匹配表单中激活的元素
E:disabled//匹配表单中禁用的元素
E:checked//匹配表单中被选中的radio或checkbox元素
E::selection//匹配用户当前选中的元素
E:root//匹配文档根元素
E:nth-child(n)//匹配其父元素的第n个子元素,第一个编号为1
E:nth-last-child(n)//匹配其父元素的倒数第n个子元素,第一个编号为1
E:nth-of-type(n)//与:nth-child()类似,但是仅匹配使用同种标签的元素
E:nth-last-of-type(n)//仅匹配使用同种标签的元素
E:last-child//匹配父元素的最后一个元素
E:first-of-type//匹配父元素下使用同种标签的第一个子元素
E:last-of-type//匹配父元素下使用同种标签的最后一个子元素
E:only-child//匹配父元素下仅有的一个子元素
E:only-of-type//匹配父元素下使用同种标签的唯一一个子元素
E:empty//匹配一个不包含任何子元素的元素
E:not(s)//匹配不符合当前选择器的任何元素
E:target//匹配文档中特定"id"点击后的效果
3.9分组选择器:为html中多个标签元素设置同一个样式时,可以使用(,)。
3.10属性选择器:
E[attr] //匹配所有具有attr属性的E元素。
E[attr=val]//匹配所有attr属性等于“val”的E元素
E[attr~=val]//匹配所有attr属性具有多个空格分隔的值,其中一个值等于“val”的E元素
E[attr|=val]//匹配所有attr属性具有多个连字号分隔的值,其中一个值以“val”开头的E元素。
E[attr^="val"]// 属性att的值以"val"开头的元素
E[attr$="val"]// 属性att的值以"val"结尾的元素
E[attr*="val"]// 属性att的值包含"val"字符串的元素
4.1继承:是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。
注意:
- 子元素自身的样式优先级高于从父级继承来的样式。
- 通配符的特殊性虽然是全0,但是还是比继承的特殊性要高。
4.2特殊性:当我们为同一个元素设置不同的css样式代码时,浏览器会根据权值来判断选择使用哪种css样式,权值高的就使用哪种css样式。
权值的规则:
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。
4.3 层叠:在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。
4.4!important具有最高权值。