CSS选择器

概念

在这里插入图片描述
使用css对HTML页面中的元素实现一对一,一对多或者多对一的控制,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素

id选择器

id选择器可以为标有特定id的HTML指定特定的样式。一般来说,一个页面中标签的id名称,必须唯一且不能重复

示例:为id为pt的段落添加红色字体

<p id="pt">这是一个id为pt的段落</p>

在这里插入图片描述
添加样式:

		#pt{
            color: red;
        }

在这里插入图片描述

class选择器

class选择器可以为标有特定class的HTML元素指定特定的样式。一般来说,一个页面中带有标签的class标签的名称,可以不唯一且可以重复

示例:为class为pi的段落添加绿色字体样式,为class为pu的段落添加加粗样式

<p class="pi">这是一个class为pi的段落</p>
<p class="pu">这是一个class为pu的段落</p>

在这里插入图片描述

.pi{
        color: chartreuse;
   }
.pu{
        font-weight: bolder;
   }

在这里插入图片描述

标签选择器

标签选择器可以根据标签为元素添加样式,例如a标签,b标签,div标签,p标签等等

示例:为所有段落标签添加紫色字体样式,为所有超链接添加红色字体样式

	<p>这是p标签段落</p>
    <a href="#">这是超链接标签</a>
    <p>这是p标签段落</p>
    <p>这是p标签段落</p>
    <a href="#">这是超链接标签</a>
    <p>这是p标签段落</p>

在这里插入图片描述

a{
    color: red;
 }
p{
    color: rgb(127, 7, 151);
 }

在这里插入图片描述

子代选择器

子代选择器可以选择当前元素的所有儿子元素。定义的时候用>隔开

示例:为div标签下所有h1儿子节点设置为红色文本样式

    <div>
        <h1>这是h1标签</h1>
        <p>这是p标签段落</p>
        <a href="#">这是超链接标签</a>
        <p>这是p标签段落</p>
    </div>

在这里插入图片描述

div>h1{
            color: red;
        }

在这里插入图片描述

后代选择器

用于嵌套元素标签的一种选择器,定义时用空格隔开

示例:为所有段落标签中的超链接标签添加红色文本

<p class="part">
        <a href="#">这是p标签中的一个a标签</a>
    </p>

在这里插入图片描述

        .part a{
            color: red;
        }

在这里插入图片描述

相邻兄弟选择器

可选择紧接在另一元素后的元素,且二者有相同的父元素,可以使用相邻兄弟选择器,定义时用+隔开

示例:为div之后第一个p标签元素设置黄色文本样式

		<div>
            <p>div内部段落</p>
        </div>
        <p>div之后的第一个元素</p>
        <p>div之后的第二个元素</p>

在这里插入图片描述

        div+p{
            color: yellow;
        }

在这里插入图片描述

后续兄弟选择器

选取所有指定元素之后的相邻兄弟元素。定义的时候用~隔开。

示例:为div之后的所有p标签元素设置为红色文本样式

		<div>
            <p>div内部段落</p>
        </div>
        <p>div之后的第一个p元素</p>
        <p>div之后的第二个p元素</p>

在这里插入图片描述

        div~p{
            color: red;
        }

在这里插入图片描述

交集选择器

选择的元素必须同时满足多个条件才可以被选择,定义时用标签名.ID名/类名。

示例:为所有p标签且class为part的段落添加绿色文本样式

<p class="part">这是p标签且class为part的段落</p>
<h3>这是一个h3标题</h3>
<p>这是一个p标签</p>

在这里插入图片描述

p.part{
            color: chartreuse;
        }

在这里插入图片描述

并集选择器

当多种元素共享某种属性时使用,定义时用","隔开

示例:为p标签,h1标签,class=‘link’,id='cilick’的这几种元素添加红色文本样式

        <h1>这是一个h3标题</h1>
        <p>这是一个p标签</p>
        <a href="#" class="link">这是一个class为link的a标签</a><br>
        <b id="link">这是一个id为link的b标签</b>

在这里插入图片描述

        p,h1,.link,#link{
            color: red;
        }

在这里插入图片描述

通配符选择器(通用选择器)

可以配任何标签,常用于页面统一样式

示例:将页面所有元素的字体设置成红色文本样式

        <h1>这是一个h3标题</h1>
        <p>这是一个p标签</p>
        <a href="#" class="link">这是一个class为link的a标签</a><br>
        <b id="link">这是一个id为link的b标签</b>

在这里插入图片描述

        *{
            color: red;
        }

在这里插入图片描述

伪类选择器

在这里插入图片描述

anchor伪类(状态伪类)

给l链接设置不同状态,为选择器添加一些特殊效果

a:link {color:#FF0000;} 	/* 未访问时的链接状态 */
a:visited {color:#00FF00;}  /* 已访问的链接状态 */
a:hover {color:#FF00FF;} 	/* 鼠标覆盖链接状态 */
a:active {color:#0000FF;} 	/* 已选中的链接状态(点击时跳转前的样式) */

推荐使用顺序:

link>visited>hover>active

input伪类(含表单伪类)

选择器示例说明
:focus选择元素后具有焦点
:checked选择所有选中的表单元素
:disabled选择所有禁用的表单元素
:enabled选择启用的表单元素
:in-range选择元素指定范围内的值
:out-of-range选择元素指定范围外的值
:invalid选择所有无效值的元素
:valid选择所有有效值的元素
:required选择含有"required"属性元素
:optional选择没有"required"属性元素
:read-only选择只读属性元素
:read-write选择可写属性元素

other伪类(结构化伪类)

选择器示例说明
:not(selector)选择所有p元素以外的元素
:empty选择所有没有子元素的p元素
:first-child选择所有p元素的第一个子元素
:first-of-type选择的每个p元素是其父元素的第一个p元素
:last-child选择所有p元素的最后一个子元素
:last-of-type选择每个p元素是其父元素的最后一个p元素
:nth-child(n)选择所有p元素的父元素的正数第二个为p的子元素
:nth-of-type(n)选择所有p元素正数的第二个p的子元素
:nth-last-child(n)选择所有p元素的父元素的倒数第二个子元素
:only-child选择所有仅有一个子元素的p元素
:only-of-type选择所有仅有一个子元素为p的元素
:first-letter选择每个p元素的第一个字母
:first-line选择每个p元素的第一行
:before在每个p元素之前插入内容
:after在每个p元素之后插入内容

属性选择器

可以根据元素的属性及属性值来选择元素

示例1:为类型为text和button的input标签设置一下样式

        <input type="text" value="文本框">
        <input type="button" value="按钮">

在这里插入图片描述

        input[type="text"]{
            width: 150px;
            height: 100px;
            display: block;
            margin-bottom: 10px;
            background-color: rgb(203, 92, 198);
        }
        input[type="button"]{
            width: 120px;
            margin-left: 40px;
            display: block;
        }

在这里插入图片描述
示例2:如果title中包含多个单词并且以空格分隔,只要其中有hello,则为当前标签设置为蓝色字体样式

		<h1>将适用于</h1>
        <h1 title="hello world">Hello world</h1>
        <p title="student hello">Hello css students</p>
        <h2>将不适用</h2>
        <p title="student">Hi css students</p>

在这里插入图片描述
在这里插入图片描述

子串匹配属性选择器

类型描述
[abc^=“def”]选择abc属性值以"def"开头的所有元素
[abc$=“def”]选择abc属性以"def"结尾的所有元素
[abc*=“def”]选择abc属性值中包含子串"def"的所有元素

示例:若希望对指向baidu的所有链接应用样式,不必为所有这些链接指定class,再根据这个类编写样式,而只需要编写以下规则:

        <a href="#">链接1</a>
        <a href="baidu.com">百度</a>
        <a href="#">链接2</a>
        <a href="baidu.com">百度</a>

在这里插入图片描述

        a[href*="baidu.com"]{
            color: red;
        }

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微睇藐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值