首页 > 其他分享 >结构伪类选择器

结构伪类选择器

时间:2022-09-18 19:44:47浏览次数:70  
标签:匹配 伪类 元素 child input type 选择器 结构

结构伪类选择器

简介

  • CSS 中的结构伪类选择器是根据 HTML 页面中元素之间的关系来定位 HTML 元素,从而减少对 HTML 元素的 id 属性和 class 属性的依赖

  • 伪类是 W3C 制定的一套选择器的特殊状态,通过伪类可以设置元素的动态状态,例如悬停(hover)、点击(active)以及文档中不能通过其它选择器选择的元素(这些元素没有 id 或 class 属性),例如第一个子元素(first-child)或者最后一个子元素(last-child)

  • 伪类的名称不区分大小写,但需要以冒号:开头。另外,伪类需要与 CSS 中的选择器结合使用,语法格式如下:

    selector:pseudo-class {
        property: value;
    }
    

    其中 selector为选择器名称,pseudo-class为伪类名称

所有CSS伪类

CSS 中提供了各种各样的伪类,如下表所示:

选择器 例子 例子描述
:active a:active 匹配被点击的链接
:checked input:checked 匹配处于选中状态的 <input> 元素
:disabled input:disabled 匹配每个被禁用的 <input> 元素
:empty p:empty 匹配任何没有子元素的 <p> 元素
:enabled input:enabled 匹配每个已启用的 <input> 元素
:first-child p:first-child 匹配父元素中的第一个子元素 <p>,<p> 必须是父元素中的第一个子元素
:first-of-type p:first-of-type 匹配父元素中的第一个 <p> 元素
:focus input:focus 匹配获得焦点的 <input> 元素
:hover a:hover 匹配鼠标悬停其上的链接
:in-range input:in-range 匹配具有指定取值范围的 <input> 元素
:invalid input:invalid 匹配所有具有无效值的 <input> 元素
:lang(language) p:lang(it) 匹配每个 lang 属性值以 "it" 开头的 <p> 元素
:last-child p:last-child 匹配父元素中的最后一个子元素 <p>, <p> 必须是父元素中的最后一个子元素
:last-of-type p:last-of-type 匹配父元素中的最后一个 <p> 元素
:link a:link 匹配所有未被访问的链接
:not(selector) :not(p) 匹配每个非 <p> 元素的元素
:nth-child(n) p:nth-child(2) 匹配父元素中的第二个子元素 <p>,<p>必须是父元素中的第二个子元素
:nth-last-child(n) p:nth-last-child(2) 匹配父元素的倒数第二个子元素 <p>,<p>必须是父元素的倒数第二个元素
:nth-last-of-type(n) p:nth-last-of-type(2) 匹配父元素下的倒数第二个 <p> 元素
:nth-of-type(n) p:nth-of-type(2) 匹配父元素下的第二个 <\p> 元素
:only-of-type p:only-of-type 匹配父元素下唯一的 <p> 元素
:only-child p:only-child 匹配父元素下唯一的子元素 <p>,<p>必须是父元素唯一的子元素
:optional input:optional 匹配不带 "required" 属性的 <input> 元素
:out-of-range input:out-of-range 匹配值在指定范围之外的 <input> 元素
:read-only input:read-only 匹配指定了 "readonly" 属性的 <input> 元素
:read-write input:read-write 匹配不带 "readonly" 属性的 <input> 元素
:required input:required 匹配指定了 "required" 属性的 <input> 元素
:root root 匹配元素的根元素,在 HTML 中,根元素永远是 <html>
:target #news:target 匹配当前活动的 #news 元素(单击包含该锚名称的 URL)
:valid input:valid 匹配所有具有有效值的 <input> 元素
:visited a:visited 匹配所有已经访问过的链接

示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /* 匹配所有<ul>元素中的第一个<li>元素 */
        ul li:first-child {
            background: burlywood; 
        }

        /* 匹配所有<ul>元素中的最后一个<li>元素 */
        ul li:last-child {
            background: red;
        }

        /* 选中p1 : 定位到当前p元素的父级元素,选中父元素下的第一个,必须是当前元素才生效 */
        p:nth-child(1) {
            background: green;
        }

        /* 选择父元素下的第3个p元素 */
        p:nth-of-type(3) {
            background: rgb(40, 101, 157);
        }
    </style>
</head>

<body>
    <h3>标题</h3>
    <p>第一个段落</p>
    <p>第二个段落</p>
    <p>第三个段落</p>
    <ul>
        <li>li1</li>
        <li>li2</li>
        <li>li3</li>
    </ul>
    <p>第四个段落</p>
</body>

</html>

标签:匹配,伪类,元素,child,input,type,选择器,结构
From: https://www.cnblogs.com/TNTksals/p/16705562.html

相关文章

  • 线性结构 | 数据结构
    线性数据结构队列什么是队列?先进先出,先来的先购买可以基于数组实现:有界队列,队列的大小有限,满了就会拒绝请求可以基于链表来实现:无界队列,可能导出过多的请求排队等待......
  • 循环结构
    循环结构while循环do...while循环for循环在Java5中引入了一种主要用于数组的增强型for循环。while循环while是最基本的循环,它的结构为:while(布尔表......
  • 使用Android自带文件选择器
    工具类:publicclassUriTofilePath{publicstaticStringgetFilePathByUri(Contextcontext,Uriuri){Stringpath=null;//4.4及之后的......
  • 选择结构
    选择结构if单选择结构我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示语法:if(布尔表达式){//如果布尔表达式为true......
  • 数据结构一: golang 单向队列
    队列是什么,如何理解队列?队列一般称queue,是一个有序列表队列一般的原则为:先进先出【谁先来,谁先走】队列一般的场景可以想象:银行取现排队,移动营业厅排队,买咖啡排队等例......
  • 层次选择器
    层次选择器后代选择器简介后代选择器可以选择作为某元素后代的元素(包括儿子,孙子,重孙子)两个元素之间的层次间隔可以是无限的示例<!DOCTYPEhtml><htmllang="e......
  • mysql根据旧表创建新表_MySQL复制旧表结构创建新表
    1、复制表结构及数据到新表CREATETABLE新表SELECT*FROM旧表这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用deletefromnewtable;来删除。不过这种方法的......
  • C语言结构体初始化例子
    #include<stdio.h>main(){structstudent{charno[6];charname[8];intscore;};structstudentab[10]={{......
  • 测试用例结构
    功能测试用例标准结构(至少包括) 自动化测试用例结构 ......
  • uni-app目录结构说明
    一般目录结构如下:/.hbuilderx    (系统目录)/.vite  (系统目录) /node_modules (系统目录,存储平台插件)/pages (系统目录,存储页面文件,比如vue、nvue)/uni......