CSS 几种常见的选择器

        在css中,要对元素添加样式,可以使用选择器来实现。这里就来说说几种比较常见的选择器。选择器的逻辑是选中页面中指定的标签元素。要先选中元素,才能选中元素的属性。

标签选择器

        标签选择器能快速为同一类的标签添加样式。

    标签 {

    }
    <style>
        p {
            color: red;
        }

        div {
            color: green;
        }
    </style>
    <p>第一段</p>
    <p>第二段</p>
    <p>第三段</p>
    <div>第一个div</div>
    <div>第二个div</div>
    <div>第三个div</div>

类选择器

        上述的标签选择器会选中全部符合要求的标签。但是现在我只想把第一段给变成红色,这个时候就可以使用类选择器,差异化表示不同的标签。

    .标签 {
    
    }
    
<!--    标签中需要带class属性-->
    <style>
        .red {
            color: red;
        }
    </style>
    <p class="red">第一段</p>
    <p>第二段</p>
    <p>第三段</p>
    <div class="red">第一个div</div>
    <div>第二个div</div>
    <div>第三个div</div>

注意:

(1)类选择器使用.来开头。

(2)下方的标签必须要使用class属性来调用。

(3)一个类可以被多个标签使用,一个标签可以使用多个类,使用空格分开。

id选择器

        和类选择器类似,使用#开头,标签中需要id属性来调用,id是唯一的,和类选择器的区别就是不能被多个标签使用(类似于姓名和身份证号之间的关系。姓名可以相同,但是身份证号不能相同)。

    #标签 {
    
    }
    
<!--    标签中需要带id属性-->
    <style>
        #red {
            color: red;
        }
    </style>
    <p id="red">第一段</p>
    <p>第二段</p>
    <p>第三段</p>

通配符选择器

        使用*,选中所有的标签。

    <style>
        * {
            color: red;
        }
    </style>
    <p id="red">第一段</p>

    <div>第一个span</div>

    <h4>标题</h4>

 以上选择器被称为基础选择器。

后代选择器

        又称为包含选择器,选择某个父元素中的某个子元素。这里的后代不仅仅是儿子,也可以是孙子等等。

    元素1 元素2 {

    }    

元素1和元素2之间使用空格分割。选择的结果之影响元素2。

    <style>
        /*只选中ol中的li标签*/
        ol li {
            color: red;
        }
    </style>
    <ul>
        <li>ul的li</li>
        <li>ul的li</li>
    </ul>

    <ol>
        <div>div</div>
        <li>ol的li</li>
        <li>ol的li</li>
    </ol>

可以是任意基础选择器的组合。

    <style>
        .red-ol .red-li {
            color: red;
        }
        .red-ol li {
            color: green;
        }
    </style>
    <ul>
        <li>ul的li</li>
        <li>ul的li</li>
    </ul>

    <ol class="red-ol">
        <div>ol中的div</div>
        <li class="red-li">ol的li</li>
        <li>ol的li</li>
        <li>ol的li</li>
    </ol>

子选择器

        和后代选择器类似,但是只能选择亲儿子,不能选择其他的。

    元素1>元素2 { 

    }
    <style>
        .two a {
            color: red;
        }
        
        /*分别注释两个选择器,观察*/
        /*后代选择器会改变两个标签的颜色*/
        /*子选择器只会改变第一个标签的颜色*/

        .two>a {
            color: green;
        }
    </style>
    <div class="two">
<!--        亲儿子-->
        <a href="#">链接1</a>
<!--        p标签中的a标签,孙子标签-->
        <p><a href="#">链接2</a></p>

并集选择器

        用于选择多组标签,通过逗号分割等多个元素,完成集体声明。

    元素1, 
    元素2 {

    }
    <style>
        p,
        div,
        h4 {
            color: red;
        }
    </style>
    <p>p标签</p>
    <div>div标签</div>
    <h4>h4标签</h4>

伪类选择器(链接伪类)

        伪类选择器有很多,这里主要说说链接的伪类选择器。

a:link 选择未被访问过的链接
a:visited 选择已经被访问过的链接
a:hover 选择鼠标指针悬停上的链接
a:active 选择活动链接(鼠标按下了但是未弹起)
(要注意顺序,LVHA,否则不生效)
(实际开发主要给链接做一个样式, 然后给 hover 做一个样式即可. link, visited, active 用的不多)
        a:hover {
            color: green;
        }

        a:active {
            color: red;
        }
<!--    鼠标停在链接上,呈现绿色.按下鼠标不松手,呈现红色.-->
    <a href="#">链接1</a>

以上选择器,和基础选择器对应的,叫做复合选择器。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS选择是用来选择HTML文档中的元素,并对这些元素应用样式。CSS选择有多种类型,包括: 1. 元素选择:根据元素的标签名称来选择元素,例如`p`选择可以选择所有的`<p>`元素。 2. 类选择:根据元素的class属性的值来选择元素,例如`.red`选择可以选择所有class属性值为`red`的元素。 3. ID选择:根据元素的id属性的值来选择元素,例如`#header`选择可以选择id属性值为`header`的元素。 4. 属性选择:根据元素的属性值来选择元素,例如`[type="text"]`选择可以选择所有`type`属性值为`text`的元素。 5. 伪类选择:根据元素在特定状态下的情况来选择元素,例如`:hover`选择可以选择鼠标悬停在该元素上时的元素。 6. 伪元素选择:用于向某些选择添加一些特殊效果,例如`::before`选择可以在元素的前面插入一个内容。 以下是一些CSS选择的示例: ``` /* 元素选择 */ p { color: blue; } /* 类选择 */ .red { color: red; } /* ID选择 */ #header { font-size: 24px; } /* 属性选择 */ [type="text"] { border: 1px solid gray; } /* 伪类选择 */ a:hover { text-decoration: underline; } /* 伪元素选择 */ p::before { content: ">> "; } ``` 以上代码中,`p`选择选择所有的`<p>`元素,并将它们的文本颜色设置为蓝色。`.red`选择选择所有class属性值为`red`的元素,并将它们的文本颜色设置为红色。`#header`选择选择id属性值为`header`的元素,并将它们的字体大小设置为24px。`[type="text"]`选择选择所有`type`属性值为`text`的元素,并将它们的边框样式设置为1像素的灰色实线。`a:hover`选择选择鼠标悬停在链接上的元素,并将它们的文本下划线设置为实线。`p::before`选择向所有`<p>`元素的前面插入一个包含`>> `文本内容的元素。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值