1.CSS规则
由两部分构成,即选择器和声明器 声明必须放在{}中并且声明可以是一条或者多条 每条声明由一个属性和值构成,属性和值用冒号分开,每条语句用英文冒号分开
注意: css的最后一条声明,用以结束的“;”可写可不写,但是基于W3c标准规范思考建议最后一条声明的结束“;”都要写上
2.行内样式
直接在style属性设置css样式style属性提供了一种改变所有的HTML元素样式的通用方法
语法:
<h1 style="color:red">style属性的应用</h1> <p style="font-size:14px;color:green;">直接在HTML标签设置样式</p>
3.内部样式
把css代码写在<head>的<style>标签中与HTMl内部位于同一个HTML文件中,这就是内部样式
4.外部样式
就是把css代码保存为一个单独样式表文件,文件扩展名位.class在页面引用外部样式即可 HTML文件外部样式有两种方式分别是链接式和导入式
1)链接式:
<head> <link href="...css"rel="stylesheet"type="text/css"
</head> rel="stylesheet"是指在本页面使用这个外部样式 type=text/css是指文件的类型是样式表文本 href="...css"文件所在位置 2)导入外部样式表
在HTML网页使用@import导入外部样式导入样式必须放在<style>标签中而<style>标签必须放在<head>标签中
<head> <style> @import url(".....css") </style> </head>
其中@import导入文件,前面必须放一个符号,url(".....css")表示样式文件位置
3)链接式和导入式区别
(1)<link/>标签属于XHTML范畴中而@import是css2.1中特有的
(2)使用,<link/>的链接css客户端浏览网页时先将css网页加载到网页中,在进行编译显示,所以这种情况下显示出的网页与用户预期的一样即使网速再慢也是一样的效果
(3)使用@import导入css文件客户端在浏览网页时先将HTML结构呈现出来再把外部css文件加载到网页中当然最终与<link/>链接效果一样只是当网速较慢时会先显示没有css统一布局的 HTML网页,这样会给用户不好的感觉这也是目前大多数网站用连接外部样式表的主要原因
5.就近原则
行内元素>内部样式表>外部样式表
6.css3的选择器
标签选择器 类选择器 和id选择器 类选择器即<即标签名 class"类名称">标签内容</标签名>
1)类选择器
.green{ font-size:20px; color:red; } <p class="green">hhhh</p>
2)id选择器
#green{ font-size:20px; color:red; } <p id="green">hhhh</p>
注意:id选择器只能使用一次,也就是说在同一页面同一个id属性只能设置一次;而类选择器可以在页面使用多次
3)id选择器>class类选择器>标签选择器
7.css3高级选择器
1) 层次选择器
E F 后代选择器 选择匹配的F元素,且匹配的F元素被包含在匹配的E元素中
E>F 子选择器 选择匹配的F元素,且匹配的F元素是匹配E元素的子元素
E+F 相邻兄弟选择器 选择匹配的F元素,且匹配的F元素仅位于匹配的E元素后面
E~F 通用兄弟选择器 选择匹配的F元素,且匹配的E元素后所有匹配的F元素
通用兄弟选择器选中的是E元素相邻的后面兄弟元素下,是一个或多个元素;
相邻兄弟选中的是与E元素仅挨的F元素,其中选中的仅是一个元素
8.结构伪类选择器
E:first-child 作为父元素的第一个子元素的元素E
E:last-child 作为父元素的最后一个子元素的元素E
E F:nth-child(n) 选择父级元素E 的第n个元素F(n可以是1/2/3)关键字为even odd
E:first-of-type 选择父级元素具有指定类型的第一个E元素
E:last-of-type 选择父级元素具有指定类型的最后一个E元素
E F:nth-of-type(n) 选择父元素内具有指定类型的第n个F元素
E F:nth-child(n)和 E F:nth-of-type(n)使用时记住以下关键点
E F:nth-child(n)在父级里从第一个元素开始查找,不分类型
E F:nth-of-type(n)在父级里先看类型再看位置
9.属性选择器
E[attr] 相匹配具有属性attr的E元素
E[attr=val] 选择匹配具有属性attr的E元素 并且属性值位val(其中Val区分大小写)
E[attr^=val] 选择匹配元素E,且E元素定义了属性attr,其中属性值以val开头的任意字符串
E[attr$=val] 选择匹配元素E,且E元素定义了属性attr,其中属性值以val结尾的任意字符串
E[attr*=val] 选择匹配元素E,且E元素定义了属性attr,其中包含了"val"话句话说,字符串val与属性值中的任意位置相匹配