目录
一、CSS—cascading style sheets
层叠样式表,简单来说就是如何修饰网页信息的显示样式。
二、CSS语法
1)每个CSS央视有两部分组恒,即选择符和声明,声明又分为属性和属性值;
2)属性必须放在花括号中,属性与属性值用冒号连接;
3)每条声明用分号结束;
4)当一个属性有多个属性值的时候,属性值与属性值不分先后顺序,用空格隔开;
5)在书写样式过程中,空格、换行等操作不影响属性显示。
选择器(选择符){属性:属性值; 属性:属性值;}
三、CSS样式表
1.内部样式表:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
h1{
color:rgb(176, 72, 106);
}
h2{
color: aquamarine;
}
h3{
color: blueviolet;
}
</style>
</head>
<body>
<h1>111111</h1>
<h2>222222</h2>
<h3>333333</h3>
</body>
2.外部样式表:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 两种方式:
<link rel="stylesheet" type="text/css" href="CSSwaibu/index.css">
<style>
@import url(CSSwaibu/index.css);
</style> -->
</head>
<body>
<h1>1111111</h1>
</body>
h1{
color: aquamarine;
}
3.行内样式表:
常用于少量单个内部样式的修改
<body>
<h1 style="color: bisque;">123</h1>
<h2 style="color: rgb(196, 255, 201);">123</h2>
<h3 style="color: rgb(255, 196, 196);">123</h3>
</body>
样式表的优先级:
!importnt > 行内 > 内部 > 外部
四、选择器
要使用CSS对HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。
1.标签选择器:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
color: blueviolet;
}
</style>
</head>
<body>
<div><h1>1111111</h1></div>
<div>11111</div>
</body>
2.类选择器:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- class选择器/类选择器
语法:.class{属性:属性值;}
说明:
A)当我们使用class选择符时,应先为每一个元素定义一个class名称
B)class选择符的语法是:<div class="poem"></div>
当存在冲突时,结果为style标签最终执行的结果 -->
<style>
.poem{
background-color: aquamarine;
}
.ootd{
color: pink;
background-color: black;
}
</style>
</head>
<body>
<div>555</div>
<div class="poem ootd">555</div>
<div class="ootd poem">555</div>
</body>
3.id选择器:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- id选择器:
说明:
A)当我们使用id选择符时,应先为每一个元素定义一个id属性,如<div id="box"></div>
B)id选择符的语法是"#"加上自定义的id名:
如:#box{width:300px; height:300px;}
C)起名时要取英文名,不能用关键字:(所有标记和属性都是关键字)
如:head标记
D)一个id名称只能对应文档中的一个具体的元素对象。(唯一性) -->
<style>
#box{
background-color: aquamarine;
}
</style>
</head>
<body>
<div id="box">4</div>
<div>5</div>
<div>6</div>
</body>
4.通配符选择器:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- *通配符/通配选择器
语法:通配选择符的写法是"*",其含义就是所有元素。
*{margin:0; padding:0;}代表清除所有元素的默认边距值和填充值; -->
<style>
*{
margin: 0;/*外边距*/
padding: 0;/*内边距*/
}
</style>
</head>
<body>
<h1>标题</h1>
<div>目录</div>
<ul>
<li>1111</li>
<li>2222</li>
</ul>
</body>
5.群组选择器:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 群组选择器:
语法:选择符1,选择符2,选择符3......{属性:属性值;} 例:#top1,#nav1,h1{width:960px;}
说明:当有多个选择法应用相同的声明时,可以将选择符用","分隔的方式,合并为一组。
margin:0 auto;实现盒子的水平居中 -->
<style>
div,p,h1{
background-color: brown;
}
</style>
</head>
<body>
<div>212121</div>
<h1>212121</h1>
<p>212121</p>
</body>
6.后代选择器:
从右到左选择,先找出最右边的所有类型,再向左找到对应的。
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 包含选择器/后代选择器
语法:选择符1 选择符2{属性:属性值;}
用法:当我的元素存在父级元素的时候,我要改变自己本身的样式,可以不仅另加选择符,直接用包含选择器的方式解决。
如:结构:
<ul class="list">
<li></li>
<li></li>
</ul>
样式:
.list li{background:red;} -->
<style>
div p{
background-color: aquamarine;
}
</style>
</head>
<body>
<div>
<p>11111</p>
</div>
<div>22222</div>
<p>33333</p>
</body>
7.伪类选择器:
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- 语法:
a:link{属性:属性值;}超链接的初始状态;
a:visited{属性:属性值;}超链接被访问后的状态;
a:hover{属性:属性值;}鼠标悬停,即鼠标滑过超链接时的状态;
a:active{属性:属性值;}超链接被激活时的状态,即鼠标按下时超链接的状态;
Link--visited--hover--active
说明:
A)当这四个超链接伪类选择符联合使用时,应注意他们的顺序,正常顺序为:
a:link,a:visited,a:hover,a:active,错误的顺序有时候回事超链接的样式失效;
B)为了简化代码,可以把伪类选择符中相同的声明提出来放在a选择符中;
例如:a{color:red;} a:hover{color:green;}表示超链接的初始和访问过后的状态一样,鼠标滑过的状态和点击时的状态一样。 -->
<style>
a:link{
color: red;
}
a:visited{
color: orange;
}
a:hover{
color: yellow;
}
a:active{
color: green;
}
/* a{
color: red;
}
a:hover{
color: pink;
} */
</style>
</head>
<body>
<a href="https://www.bilibili.com/123" target="_blank">百度</a>
<a href="https://www.bilibili.com/456">bilibili</a>
</body>
权重
!important > 内联样式 > 包含选择符 > id选择器 > class选择器 > 元素选择器
当不同选择符的样式设置有冲突时,高权重者选择符的样式会覆盖低权重选择符的样式;
相同权重的选择符,样式遵循就近原则:哪个选择符最后定义,就采用哪个选择符样式;