Day46 css选择器
文章目录
概念
CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 ,是为了解决内容与表现分离的问题 , 多个样式定义可层叠为一,样式通常存储在样式表中
1、通配符选择器
选择所有元素。
*{
color: red;
}
2、标签选择器
CSS标签选择器是最基本的选择器之一,用于选择特定类型的HTML元素并对其应用样式
p{
color: red;
}
3、类选择器
通过类名选择元素。
注意:类选择器使用.开头
.myclass{
color: red;
}
4、ID选择器
通过ID选择元素。
注意:
id选择器使用#开头
id唯一,不能重复
#myid{
color: red;
}
5、基本选择器的优先级别
ID选择器 > 类选择器 > 标签选择器
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
p{color: red;}
.myclass{color: green;}
#myid{color: blue;}
</style>
</head>
<body>
<p id="myid" class="myclass">用良心做教育</p>
</body>
</html>
6、群组选择器
CSS群组选择器允许将相同的样式应用于多个不同的选择器,以减少重复的样式规则。通过逗号分隔不同的选择器,可以将它们组合在一起,使它们共享相同的样式规则。这样可以简化CSS代码并提高代码的可维护性。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
h1,p,span{color: red;}
</style>
</head>
<body>
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>
<p>用良心做教育</p>
<p>做真实的自己</p>
<span>匠心育人</span>
<span>初心至善</span>
</body>
</html>
7、派生选择器/上下文关系选择器 – 后代选择器
选择特定元素的后代元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
ul a{color: red;}
</style>
</head>
<body>
<ul>
<li>
<a href="#">超链接1</a>
</li>
<li>
<a href="#">超链接2</a>
</li>
<li>
<a href="#">超链接3</a>
</li>
</ul>
<ul>
<li>
<a href="#">超链接4</a>
</li>
<li>
<a href="#">超链接5</a>
</li>
<li>
<a href="#">超链接6</a>
</li>
<li>
<a href="#">超链接7</a>
</li>
</ul>
<a href="#">超链接8</a>
<a href="#">超链接9</a>
<a href="#">超链接10</a>
</body>
</html>
8、派生选择器/上下文关系选择器 – 子代选择器
子代选择器(child combinator)是CSS中的一种派生选择器,用于选择作为某个元素的直接子元素的元素。子代选择器使用大于号(>)来表示,语法格式为“父元素 > 子元素”。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
li>a{color: red;}
</style>
</head>
<body>
<ul>
<li>
<a href="#">超链接1</a>
</li>
<li>
<a href="#">超链接2</a>
</li>
<li>
<a href="#">超链接3</a>
</li>
</ul>
<ul>
<li>
<a href="#">超链接4</a>
</li>
<li>
<a href="#">超链接5</a>
</li>
<li>
<a href="#">超链接6</a>
</li>
<li>
<a href="#">超链接7</a>
</li>
</ul>
<a href="#">超链接8</a>
<a href="#">超链接9</a>
<a href="#">超链接10</a>
</body>
</html>
9、派生选择器/上下文关系选择器 – 相邻兄弟选择器
相邻兄弟选择器(Adjacent Sibling Selector)用于选择紧接在另一个元素后的元素,二者有相同的父元素。这个选择器使用符号 “+”,表示紧接在前一个元素后的元素。
注意:效果作用在后者
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
a+a{color: red;}
</style>
</head>
<body>
<ul>
<li>
<a href="#">超链接1</a>
</li>
<li>
<a href="#">超链接2</a>
</li>
<li>
<a href="#">超链接3</a>
</li>
</ul>
<ul>
<li>
<a href="#">超链接4</a>
</li>
<li>
<a href="#">超链接5</a>
</li>
<li>
<a href="#">超链接6</a>
</li>
<li>
<a href="#">超链接7</a>
</li>
</ul>
<a href="#">超链接8</a>
<a href="#">超链接9</a>
<a href="#">超链接10</a>
</body>
</html>
10、属性选择器
属性选择器(Attribute Selectors)是 CSS 中一种用来选择具有特定属性的元素的方法。
单个属性:
input[placeholder]{color: red;}
单个属性+值:
input[placeholder="请输入账号..."]{color: red;}
多个属性:
input[name][placeholder]{color: red;}
多个属性+值:
input[name="name"][type="text"]{color: red;}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
</style>
</head>
<body>
<form action="服务器地址" method="get">
账号:<input type="text" name="username" placeholder="请输入账号..." /><br />
密码:<input type="password" name="password" placeholder="请输入密码..." /><br />
确认密码:<input type="password" name="repassword" /><br />
姓名:<input type="text" name="name" /><br />
性别:
<input type="radio" name="sex" value="man" checked="checked"/>男
<input type="radio" name="sex" value="woman"/>女
<br />
爱好:
<input type="checkbox" name="hobbies" value="football" checked="checked"/>足球
<input type="checkbox" name="hobbies" value="basketball"/>篮球
<input type="checkbox" name="hobbies" value="shop"/>购物
<br />
城市:
<select name="city">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="guangzhou">广州</option>
<option value="shengzheng">深圳</option>
<option value="chengdu" selected="selected">成都</option>
<option value="chongqing">重庆</option>
<option value="dongguan">东莞</option>
</select>
<br />
<input type="submit" value="注册" />
</form>
</body>
</html>
11、锚伪类
锚伪类(anchor pseudo-classes)是CSS中用于定义超链接(元素)在不同状态下的样式的一种方式。
在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。
理解:监听超链接的各种状态(未访问、已访问、鼠标悬停、鼠标按下)
a:link {color: #FF0000} /* 未访问的链接 */
a:visited {color: #00FF00} /* 已访问的链接 */
a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
a:active {color: #0000FF} /* 选定的链接 */
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
a:link {color: #FFCCFF} /* 未访问的链接 */
a:visited {color: #66FF66} /* 已访问的链接 */
a:hover {color: #33FFFF} /* 鼠标移动到链接上 */
a:active {color: #000033} /* 选定的链接 */
</style>
</head>
<body>
<a href="http://www.jd.com">京东</a>
</body>
</html>
12、样式的优先级别
分类:
内部样式表
外部样式表
行内样式表
优先级别:
行内样式 > 内部样式或外部样式(内外部样式表要看加载顺序)
理解:
为什么行内样式最优先呢?
因为行内样式最后加载
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--外部样式表-->
<link rel="stylesheet" type="text/css" href="../../css/new_file.css"/>
<!--内部样式表-->
<style type="text/css">
p{color: red;}
</style>
</head>
<body>
<!--行内样式-->
<p style="color: blue;">用良心做教育</p>
</body>
</html>