CSS之选择器
Cascading Style Sheet 层叠级联样式表
说简单就是美化网页(字体,颜色,边距,高度,宽度,背景图片,网页定位,网页浮动, …)
<head>
<meta charset="UTF-8">
<meta name="keywords" content="关键词">
<meta name="description" content="关键词的描述">
<link rel="shortcut icon" href="img/shouye.jpg">
<title>登录界面</title>
<!--
规范: <style> 可以编写css的代码 每一个声明最好以;结尾
语法:
选择器{
声明1;
声明2;
声明3;
}
-->
<style>
h1 {
color: chocolate;
}
</style>
</head>
<body>
<h1>注册</h1>
</body>
CSS的优势:
- 内容和表现分离
- 网页结构表现统一,可以实现复用
- 样式十分丰富
- 建议使用独立于html的css文件
- 利用SEO,容易被搜索引擎收录!
CSS的三种导入方式
1.行内样式
<body>
<h2 style="color: chocolate">你好</h2>
</body>
2.内部样式
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*内部样式,*/
h1 {
color: cornflowerblue;
}
</style>
</head>
<body>
<h1>注册</h1>
</body>
3.外部样式
h1{
color: cyan;
}
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/style.css">
<title>登录界面</title>
</head>
<body>
<h1>注册</h1>
</body>
选择器
作用:选择页面上的某一个或者某一类元素
1.基本选择器
1.标签选择器
2.类选择器
3.ID选择器
优先级:
这里不遵循就近原则
ID选择器 > 类选择器 > 标签选择器
1.1 标签选择器
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*标签选择器:会选择这个页面上所有的这个标签的元素*/
h1 , p{
color: #ed1408;
}
</style>
</head>
<body>
<h1>注册</h1>
<p>自主学习</p>
</body>
1.2类选择器
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*类选择器 .class的名称 也可以多个标签归类,是同一个class*/
.zc {
color: chartreuse;
}
</style>
</head>
<body>
<h1 class="zc">注册</h1>
<p class="zc">自主学习</p>
<p >学习</p>
</body>
1.3 ID选择器
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*ID选择器 # ID的名称 多个归类需要用逗号隔开*/
#zc ,#zcc{
color: #ff6167;
}
</style>
</head>
<body>
/*这里ID值需要唯一*/
<h1 id="zc">注册</h1>
<p id="zcc">自主学习</p>
</body>
2层次选择器
1. 后代选择器
在某个元素的后面
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*后代选择器*/
body p {
color: red;
}
</style>
</head>
<body>
<p>世界</p>
<ul>
<li><p>你好</p></li>
</ul>
</body>
2. 子选择器
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*子选择器*/
body>p{
color: red;
}
</style>
</head>
<body>
<p>世界</p>
<ul>
<li><p>你好</p></li>
</ul>
</body>
</html>
3.相邻兄弟选择器
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*兄弟选择器*/
.sj+p{
color: red;
}
</style>
</head>
<body>
<p>世界</p>
<p class="sj">全世界</p>
<p>全部世界</p>
<ul>
<li><p>你好</p></li>
</ul>
</body>
</html>
4.通用选择器
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*通用选择器*/
.sj~p{
color: red;
}
</style>
</head>
<body>
<p>世界</p>
<p class="sj">全世界</p>
<p>全部世界</p>
<p>全部的世界</p>
<p>全部的世界</p>
<p>全部的世界</p>
<ul>
<li><p>你好</p></li>
</ul>
</body>
</html>
5.结构伪类选择器
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*结构伪类选择器*/
ul li:first-child{
color: red;
}
ul li:last-child{
color: chocolate;
}
</style>
</head>
<body>
<ul>
<li><p>你好</p></li>
<li><p>你好</p></li>
<li><p>你好</p></li>
<li><p>你好</p></li>
<li><p>你好</p></li>
</ul>
</body>
</html>
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*结构伪类选择器*/
p:nth-child(1){
color: red;
}
p:nth-child(2){
color: red;
}
</style>
</head>
<body>
<!--<h1>sss</h1>--> 试试这个不注释的效果就明白了
<p>第一</p>
<p>第二</p>
<p>第三</p>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录界面</title>
<style>
/*结构伪类选择器*/
p:nth-of-type(1){
color: red;
}
</style>
</head>
<body>
<h1>sss</h1>
<p>第一</p>
<p>第二</p>
<p>第三</p>
</body>
</html>
属性选择器
累了;
a[id=first]{
color...
}
a[class*=second]{
color...
}
=
*=
^=
$=