CSS(一)
一、CSS
1、CSS介绍
CSS :Cascading Style Sheet 层叠样式表
作用:实现网页布局,美化页面元素
2、CSS使用
在HTML文档中使用CSS,主要有三种方式
1、行内样式/内联样式
特点:在具体的HTML标签中引入CSS代码
语法:所有的HTML标签都具有一个style属性,属性值就可以使用CSS样式规则
<标签 style="CSS样式规则"></标签>
CSS样式规则:
由CSS属性与值组成,属性名与值之间使用 : 隔开,每一条CSS语句以分号结束
<h1 style="color:red;">大标题</h1>
<h2 style="color:green;background-color:pink;"></h2>
常见的CSS属性:
1. 设置字体大小
1. 属性 font-size
2. 取值 以像素为单位的数值,浏览器默认的字体大小是 16px
et : <div style="font-size:20px;">CSS 介绍</div>
2. 设置字体颜色
1. 属性 color
2. 取值 颜色的英文单词
et : <div style="color:red;">使用</div>
3. 设置背景颜色
1. background-color
2. 取值颜色的英文单词
2、文档内嵌/ 内部样式表
将CSS代码从标签中抽离出来,单独写在一起
1、在HTML文档中使用<style></style>标签引入样式表,<style>标签可以在文档的任意地方使用
2、样式表语法:
<style>
CSS选择器{
属性:值
属性:值
...
}
</style>
选择器:用来匹配文档中元素,并且为其设置样式{}中是要给元素添加的样式声明
et :
标签选择器/元素选择器:根据给定的标签名,匹配文档中所有的该标签,并应用样式
p{
color:red;
}
span{
color:green;
}
3、外部样式表/外链方式
创建外部的CSS文件,在HTML文档中只需引入外部样式表即可
优点:
1、真正实现样式与结构的分离,便于维护
2、可以实现样式的复用
使用:
1、创建外部的CSS文件 .css
2、在HTML文档中使用
<link rel="stylesheet" href="url">引入样式表文件
3、在样式表中添加样式:通过选择器书写样式
3、样式表特点
1、层叠性
多个CSS样式共同作用于元素
e.g.:
p{
color:red;
background-color:blue;
font-size:20px;
}
2、继承性
父元素中设置的样式,子元素或者后代元素可以继承下来。
大部分文本相关的属性,都可以被继承,块级元素的宽度与父元素保持一致
3、样式表的优先级
只有发生样式冲突时,才考虑优先级
优先级从低到高:
1、继承样式
2、浏览器的缺省设置(默认样式)
3、文档内嵌方式 / 外链方式 设置的样式
相同的优先级,发生样式冲突时,由代码的书写顺序决定最终样式,后来者居上
4、行内样式优先级最高
三、CSS选择器
1、选择器介绍:
作用:根据指定的选择模式匹配文档中元素,并为其设置样式。
选择模式:选择符,指匹配元素的依据
2、分类:
1、标签选择器 / 元素选择器
根据标签名,匹配文档中所有的该元素,为其设置样式
语法:
标签名{
属性:值;
}
练习:
1、新建文件
2、创建超链接
3、设置超链接
1. 文本色为红色
2. 字体大小为20px
3. 取消下划线 text-decoration:none;
使用:
常用于清除页面默认样式,以及设置基础样式
2、类选择器
特点 :根据元素的class属性值进行匹配
语法 :
.c1{
color:red;
样式
}
<p class="c1"></p>
注意:1、写选择器时,不要随便出现任何符号(以英文.开头,跟上class属性值,中间没有空格)
2、类名自定义,禁止以数字开头,可以出现 连接符- 数字 字母,尽量见名知意。
3、组合使用
选择器1.选择器2{}
匹配同时满足选择器1和选择器2的元素,并设置样式
et:
p.c1{}标签名与类名组合使用,标签在前,类名在后
错误写法:.c1p{}匹配类名为“c1p”对应的元素
.c1.c2{} 不常用,可以直接给c1或者c2添加样式
4、每个元素都具备class属性,也可以使用多个类名。
<p class="类名1 类名2">
et:
<p class="c1 c2 c3"></p>
3、ID 选择器
根据元素的ID属性值进行匹配元素
每个元素都具备id属性,并且id属性具有唯一性
语法:
以#开头,跟上id属性值
#id属性值{样式}
使用:
通常网页中具有唯一性的元素,都可以使用id进行标识,并使用id选择器添加样式
页面中具有唯一性的元素:外围的结构化标签,搜索框
注意:
1、id属性具有唯一性,不能重复使用相同id值,在使用JS获取页面元素时,ID是元素唯一的标识,如果出现重复,后面的元素都获取不到
2、id选择器与class选择器的区别 :
1、id具有唯一性,id选择器定义的样式不能被复用;
2、class可以重复使用,类选择器定义的样式可以复用
3、具有唯一性的元素都可以使用ID选择器设置样式,
et:
外部的结构标签使用id标识,内部的标签使用class标识。
4、群组选择器
为一组元素统一设置样式
语法:
选择器1,选择器2,选择器3{样式}
5、后代选择器
依托于元素的层级关系匹配后代元素(后代元素既包含直接子元素,也包含间接子元素)
语法:
选择器1 选择器2{
样式规则
}
选择器1与选择器2之间是父元素与后代元素的关系
作用:在选择器1匹配到的元素中,查找满足选择器2的后代元素
et :
nav span{} 匹配nav下的所有span元素
6、子代选择器
1. 作用 :依托元素的子代关系进行匹配,只匹配直接子元素
2. 语法
选择器1>选择器2 {}
表示在选择器1对应的元素中,匹配满足选择器2的直接子元素
et :
nav>ul>li{}
7、伪类选择器
1、作用 :针对元素的不同状态设置样式
2、分类 :
1. 超链接伪类选择器
主要针对超链接的不同状态设置样式
:link 超链接访问前的状态
:visited 超链接访问后的状态
2. 动态伪类选择器
1、:hover 表示鼠标悬停时的状态
2、:active 表示鼠标点按时的状态(鼠标按住不松手)
3、:focus 表示获取焦点时的状态,常见于输入框
接收用户输入时,就表示获取到焦点
3、使用:
1、伪类选择器必须与其他选择器结合使用,伪类选择器是给元素不同的状态设置样式
et: a:link{
color :black;
text-decoration :none;
}
2、设置超链接四种状态下的样式
a:link{}
a:visited{}
a:hover{}
a:active{}
书写顺序:“ LoVe / HAte 爱恨原则 ”
3、表单元素获取焦点时的状态(针对输入框)
input:focus{}
对文本框和密码框而言,当用户点击输入时,都视为获取焦点状态
四、选择器的优先级
选择器的优先级主要考虑选择器的权重
可以将各种选择器的权重以数值来表示,(权值)数值越大,优先级越高
选择器 权值
--------------------
标签selector 1
类选择器 10
ID选择器 100
行内样式 1000
复杂选择器优先级的计算:
1、群组选择器不参与计算
div,span{
color:red;
}
.c1{
color:green;
}
<div class="c1"></div>
2、后代和子代选择器,各种选择器权值相加得到最终的优先级
3、伪类选择器的优先级权值
posted on 2018-10-10 21:21 破天荒的谎言、谈敷衍 阅读(111) 评论(0) 收藏 举报
浙公网安备 33010602011771号