什么是CSS 选择器?都有哪些?

news/2024/12/12 6:11:37/

写在前面

CSS 选择器是 CSS 样式表中最重要的部分之一。它们允许你精确地选择 HTML 文档中的元素,并应用样式。理解和掌握 CSS 选择器是成为一名优秀的前端开发者的关键。

基本选择器

  1. 元素选择器:选择特定的 HTML 元素。例如,p 选择器将选择所有的 <p> 元素。

    css">p {color: blue;
    }
    
  2. 类选择器:选择具有特定类名的元素。例如,.my-class 选择器将选择所有具有 my-class 类名的元素。

    css">

.my-class {
font-size: 18px;
}


3. **ID 选择器**:选择具有特定 ID 的元素。例如,`#my-id` 选择器将选择具有 `my-id` ID 的元素。```css
#my-id {background-color: yellow;
}
  1. 通配符选择器:选择所有元素。例如,* 选择器将选择文档中的所有元素。

    css">* {margin: 0;padding: 0;
    }
    

组合选择器

  1. 后代选择器:选择某个元素的所有后代元素。例如,div p 选择器将选择所有在 <div> 元素内的 <p> 元素。

    css">div p {line-height: 1.5;
    }
    
  2. 子元素选择器:选择某个元素的直接子元素。例如,ul > li 选择器将选择所有直接在 <ul> 元素内的 <li> 元素。

    css">ul > li {list-style: none;
    }
    
  3. 相邻兄弟选择器:选择紧跟在某个元素后面的兄弟元素。例如,p + span 选择器将选择所有紧跟在 <p> 元素后面的 <span> 元素。

    css">p + span {font-weight: bold;
    }
    
  4. 一般兄弟选择器:选择某个元素后面的所有兄弟元素。例如,p ~ span 选择器将选择所有在 <p> 元素后面的 <span> 元素。

    css">p ~ span {color: red;
    }
    

属性选择器

  1. 存在和值选择器:选择具有特定属性或属性值的元素。例如,[href] 选择器将选择所有具有 href 属性的元素,而 [href="https://www.google.com"] 选择器将选择所有 href 属性值为 https://www.google.com 的元素。

    css">[href] {text-decoration: none;
    }[href="https://www.google.com"] {color: green;
    }
    
  2. 部分值选择器:选择属性值包含特定字符串的元素。例如,[class~="my-class"] 选择器将选择所有类名中包含 my-class 字符串的元素。

    css">[class~="my-class"] {border: 1px solid black;
    }
    

伪类选择器

  1. :hover:选择鼠标悬停在其上的元素。例如,a:hover 选择器将选择所有鼠标悬停在其上的 <a> 元素。

    css">a:hover {color: red;
    }
    
  2. :active:选择正在被激活的元素。例如,button:active 选择器将选择所有正在被点击的 <button> 元素。

    css">button:active {background-color: gray;
    }
    
  3. :focus:选择当前有焦点的元素。例如,input:focus 选择器将选择所有当前有焦点的 <input> 元素。

    css">input:focus {outline: none;border: 2px solid blue;
    }
    
  4. :nth-child():选择某个元素的第 n 个子元素。例如,ul li:nth-child(2) 选择器将选择所有 <ul> 元素中的第二个 <li> 元素。

    css">ul li:nth-child(2) {background-color: lightgray;
    }
    

伪元素选择器

  1. ::before:在元素的内容之前插入生成的内容。例如,p::before 选择器将在所有 <p> 元素的内容之前插入生成的内容。

    css">p::before {content: '>';font-size: 20px;color: red;
    }
    
  2. ::after:在元素的内容之后插入生成的内容。例如,p::after 选择器将在所有 <p> 元素的内容之后插入生成的内容。

    css">p::after {content: '<';font-size: 20px;color: red;
    }
    

结构伪类选择器

  1. :first-child:选择某个元素的第一个子元素。例如,ul li:first-child 选择器将选择所有 <ul> 元素中的第一个 <li> 元素。

    css">ul li:first-child {font-weight: bold;
    }
    
  2. :last-child:选择某个元素的最后一个子元素。例如,ul li:last-child 选择器将选择所有 <ul> 元素中的最后一个 <li> 元素。

    css">ul li:last-child {border-bottom: none;
    }
    

总结

CSS 选择器是前端开发中不可或缺的工具。通过深入理解和灵活使用各种选择器,你可以精确地选择和样式化 HTML 元素,创建出美观、交互性强的网页。记住,选择器的优先级和特异性也非常重要,需要根据实际情况进行选择和调整。


http://www.ppmy.cn/news/1544426.html

相关文章

OceanBase V4.3.3,首个面向实时分析场景的GA版本发布

在10月23日举办的 OceanBase年度发布会 上&#xff0c;我们怀着激动之情&#xff0c;正式向大家宣布了 OceanBase 4.3.3 GA 版的正式发布&#xff0c;这也是OceanBase 为实时分析&#xff08;AP&#xff09;场景打造的首个GA版本。 2024 年初&#xff0c;我们推出了 4.3.0 版本…

从0到1构建一个RAG检索增强系统

RAG&#xff08;Retrieve Augment Generation&#xff0c;检索增强&#xff09;是“驯服”大语言模型的主要手段之一。它允许大语言模型在从固定的数据库中抽取相关内容的基础上生成答案&#xff0c;从而限制随意发挥&#xff0c;提升答案的可靠性。 核心组件&#xff1a; RA…

Unreal Engine5中使用 Lyra框架

UE5系列文章目录 文章目录 UE5系列文章目录前言一、Lyra和AIS框架的区别二、下载官方Lyra游戏示例三、Lyra在动画蓝图中的使用 前言 Unreal Engine 5&#xff08;UE5&#xff09;提供了多种用于游戏开发的模板和框架&#xff0c;其中Lyra和AlS是两个不同的示例项目&#xff0c…

语音识别:docker部署FunASR以及springboot集成funasr

内容摘选自: https://github.com/modelscope/FunASR/blob/main/runtime/docs/SDK_advanced_guide_offline_zh.md FunASR FunASR是一个基础语音识别工具包&#xff0c;提供多种功能&#xff0c;包括语音识别&#xff08;ASR&#xff09;、语音端点检测&#xff08;VAD&#xf…

WebGL(Web Graphics Library)

WebGL&#xff08;Web Graphics Library&#xff09;是一种基于 JavaScript 的 API&#xff0c;允许在网页上渲染高性能的 2D 和 3D 图形。它利用计算机的 GPU 来实现硬件加速&#xff0c;因此适合创建游戏、数据可视化和交互式应用程序。 WebGL 的基本概念&#xff1a; 上下文…

[ 问题解决篇 ] 解决远程桌面安全登录框的问题

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

【运动的&足球】足球场景目标检测系统源码&数据集全套:改进yolo11-ASF-P2

改进yolo11-RetBlock等200全套创新点大全&#xff1a;足球场景目标检测系统源码&#xff06;数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.11.03 注意&#xff1a;由于项目一直在更新迭代&#xff0c;上面“1.图片效果展示”和“2.视频效果展示”展示的系统图片或…

0xGame 2024 [Week 4] Jenkins

1.前言 由于好久没做web题了&#xff0c;所以今天来尝试来做一波web题&#xff0c;仅供刷题记录。 2.题目 这个给的提示对于小白来说实在是友好的过劲。 3.分析 上网搜到一个关于Jenkins的历史漏洞&#xff0c;下面链接可供参考 https://blog.csdn.net/2301_80127209/arti…