【Web 前端】css选择器有哪些?

简介: 【4月更文挑战第22天】【Web 前端】css选择器有哪些?

image.png

CSS选择器是用来选择HTML文档中的元素的模式,它可以根据元素的标签名、类名、ID等属性进行选择。在前端开发中,熟练掌握各种CSS选择器是非常重要的,因为它们可以帮助我们精确地定位和样式化页面中的元素。下面我将详细介绍常见的CSS选择器,并附上示例代码加以说明。

1. 元素选择器

元素选择器是最简单的一种选择器,它通过元素的标签名来选择元素。例如,div选择器会选择所有的<div>元素。

示例代码

div {
   
   
  color: red;
}

上述代码会将页面中所有的<div>元素的文本颜色设置为红色。

2. 类选择器

类选择器通过元素的class属性来选择元素。在CSS中,类选择器以.开头,后面跟着类名。例如,.btn选择器会选择所有具有btn类的元素。

示例代码

.btn {
   
   
  background-color: blue;
  color: white;
}

上述代码会将所有具有btn类的元素的背景颜色设置为蓝色,文本颜色设置为白色。

3. ID选择器

ID选择器通过元素的id属性来选择元素。在CSS中,ID选择器以#开头,后面跟着ID名。例如,#header选择器会选择具有header ID的元素。

示例代码

#header {
   
   
  font-size: 24px;
}

上述代码会将具有header ID的元素的字体大小设置为24像素。

4. 属性选择器

属性选择器允许根据元素的属性值来选择元素。有多种属性选择器,包括存在属性选择器、值属性选择器、前缀属性选择器、后缀属性选择器等。

示例代码

  • 存在属性选择器:选择具有指定属性的元素。

    [target] {
         
         
      color: green;
    }
    
  • 值属性选择器:选择具有指定属性值的元素。

    [target="_blank"] {
         
         
      text-decoration: underline;
    }
    
  • 前缀属性选择器:选择具有以指定值开头的属性值的元素。

    [class^="btn"] {
         
         
      background-color: yellow;
    }
    
  • 后缀属性选择器:选择具有以指定值结尾的属性值的元素。

    [class$="btn"] {
         
         
      border: 1px solid black;
    }
    

5. 后代选择器

后代选择器(也称为包含选择器)用于选择元素的后代元素。它通过在选择器中使用空格来指定后代关系。例如,.container p选择器会选择所有在classcontainer的元素内部的<p>元素。

示例代码

.container p {
   
   
  font-style: italic;
}

上述代码会将所有在classcontainer的元素内部的<p>元素的字体样式设置为斜体。

6. 子元素选择器

子元素选择器用于选择某个元素的直接子元素。它通过在选择器中使用>符号来指定父子关系。例如,.container > p选择器会选择所有作为classcontainer元素的直接子元素的<p>元素。

示例代码

.container > p {
   
   
  font-weight: bold;
}

上述代码会将所有作为classcontainer元素的直接子元素的<p>元素的字体加粗。

7. 相邻兄弟选择器

相邻兄弟选择器用于选择某个元素之后紧跟着的同级元素。它通过在选择器中使用+符号来指定相邻兄弟关系。例如,.container + p选择器会选择紧跟着classcontainer元素之后的<p>元素。

示例代码

.container + p {
   
   
  margin-top: 10px;
}

上述代码会将紧跟着classcontainer元素之后的<p>元素的上外边距设置为10像素。

8. 通用选择器

通用选择器(也称为星号选择器)用于选择所有元素。它以*符号表示。通用选择器通常用于对所有元素应用相同的样式。

示例代码

* {
   
   
  box-sizing: border-box;
}

上述代码会将所有元素的盒模型设置为边框盒模型。

9. 伪类选择器

伪类选择器用于向某些选择器添加特殊的效果。例如,:hover伪类用于在鼠标悬停在元素上时应用样式。还有:focus:active等伪类选择器,它们用于指定元素处于不同状态时的样式。

示例代码

a:hover {
   
   
  color: red;
}

上述代码会在鼠标悬停在链接上时将其文本颜色设置为红色。

10. 伪元素选择器

伪元素选择器用于向某些元素的特定部分添加样式,例如元素的首字母、内容前后等。常见的伪元素选择器包括::before::after等。

示例代码

p::first-line {
   
   
  font-weight: bold;
}

上述代码会将段落元素的首行文本设置为加粗。

相关文章
|
1月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
58 3
|
1月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
22天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
31 6
|
22天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
35 5
|
22天前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
27 5
|
1月前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
1月前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
1月前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
28 4
|
1月前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
37 3
|
1月前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
48 2