css:
层叠样式 :定义如何显示HTNL元素
当浏览器读到一个样式表,就会按照样式表来对文档进行格式化(渲染)
css 语法结构:
选择器和声明 : 声明包括
#结构 :
选择器 声明
h1 {color : red ; font_size : 14px}
css注释:
#单: /**/
#多:/* 多行 \r\n .... */
css样式引入方法:
#1.行内样式
行内式是在标记的style属性中设定CSS样式
<p style="color: red">hello world</p>
#2.内部样式
嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p{
background-color: red;
}
</style>
</head>
#3.外部样式
外部样式就是将css写在一个单独的文件中,然后在页面进行引入即可
<link href="file_path" rel="stylesheet" type="text/css"/>
css选择器:
一,基本选择器:
元素选择器
p {color: "red";}
ID选择器
#i1 {
background-color: red;
}
class选择器
.c1 {
font-size: 14px;
}
p.c1 {
color: red;
通用选择器
* {
color: white;
}
注意:
样式类名不要用数字开头(有的浏览器不认)。
标签中的class属性如果有多个,要用空格分隔。
组合选择器:
#1.后代选择器
/*li内部的a标签设置字体颜色*/
li a {
color: green;
}
#2.儿子选择器
/*选择所有父级是 <div> 元素的 <p> 元素*/
div>p {
font-family: "Arial Black", arial-black, cursive;
}
#3.毗邻选择器
/*选择所有紧接着<div>元素之后的<p>元素*/
div+p {
margin: 5px;
}
#4.弟弟选择器
/*i1后面所有的兄弟p标签*/
#i1~p {
border: 2px solid royalblue;
}
属性选择器:
/*用于选取带有指定属性的元素。*/
p[title] {
color: red;
}
/*用于选取带有指定属性和值的元素。*/
p[title="213"] {
color: green;
}
/*找到所有title属性以hello开头的元素*/
[title^="hello"] {
color: red;
}
/*找到所有title属性以hello结尾的元素*/
[title$="hello"] {
color: yellow;
}
/*找到所有title属性中包含(字符串包含)hello的元素*/
[title*="hello"] {
color: red;
}
/*找到所有title属性(有多个值或值以空格分割)中有一个值为hello的元素:*/
[title~="hello"] {
color: green;
}
分组和嵌套
分组: 当多个元素的样式相同的时候,我们没有必要重复地为每个元素都设置样式,我们可以通过在多个选择器之间使用逗号分隔的分组选择器来统一设置元素样式。
div , p {color: red;} #div标签和p标签统一设置字体为红色
1嵌套:多种选择器可以混合起来使用
.cl p {color : red;} #.c1类内部所有p标签设置字体颜色为红色
伪类选择器:
/* 未访问的链接 */
a:link {
color: #FF0000
}
/* 鼠标移动到链接上 */
a:hover {
color: #FF00FF
}
/* 选定的链接 */
a:active {
color: #0000FF
}
/* 已访问的链接 */
a:visited {
color: #00FF00
}
/*input输入框获取焦点时样式*/
input:focus {
outline: none;
background-color: #eee;
}
伪元素选择器:
#1.first_letter : 首字母设置特殊样式
p:first-letter {
font-size: 48px;
color: red;
}
#2.before
/*在每个<p>元素之前插入内容*/
p:before {
content:"*";
color:red;
}
#3.after
/*在每个<p>元素之后插入内容*/
p:after {
content:"[?]";
color:blue;
}
# before和after多用于清除浮动。
# css 样式添加的
选择器的优先级:
1.css继承( class标签):
继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。 ( 属性不能被继承,如:border, margin, padding, background等 )
给对应的标签设置字体颜色就可覆盖掉它继承的样式
按照不同选择器的权重来决定的 ,选择器的优先级!!!
![](https://images2018.cnblogs.com/blog/867021/201803/867021-20180305155201408-1680872107.png)
注意: 权重数值为拟态数值
通过添加 !important方式来强制让样式生效,但并不推荐使用。因为如果过多的使用!important会使样式文件混乱不易维护。 !!