CSS 选择器与相关规则详解

简介: CSS 选择器与相关规则详解

CSS(Cascading Style Sheets)的选择器是网页样式设计中至关重要的工具,它们允许开发者精确地定位并应用样式到HTML文档中的元素。下面将逐一介绍几种主要的选择器类型,以及相关的注释和@规则。

1. 类选择器 (Class Selector)

类选择器通过.后跟类名来定义样式,可以应用于多个具有相同类名的元素上:

/* 定义一个名为 "highlight" 的类 */
.highlight {
  background-color: yellow;
}

<!-- 在HTML中使用 -->
<p class="highlight">这段文本将会高亮显示</p>
<div class="highlight">此div也会有相同的背景色</div>

2. ID 选择器 (ID Selector)

ID选择器使用#符号后面紧跟ID名称来指定唯一的元素,每个页面的ID应保证唯一性:

/* 定义一个ID为 "main-header" 的样式 */
#main-header {
  font-size: 24px;
  color: #333;
}

<!-- 在HTML中使用 -->
<h1 id="main-header">主标题</h1>

3. 伪类选择器 (Pseudo-class Selector)

伪类选择器用于向某些特定状态的元素添加样式,如链接的不同状态:

/* 鼠标悬停时链接的颜色变化 */
a:hover {
  color: red;
}

/* 已访问过的链接颜色 */
a:visited {
  color: purple;
}

4. 属性选择器 (Attribute Selector)

属性选择器根据HTML元素的属性及其值来选择元素:

/* 选择所有带有href属性的a元素 */
a[href] {
  text-decoration: underline;
}

/* 选择src属性值以".jpg"结尾的img元素 */
img[src$=".jpg"] {
  border: 1px solid black;
}

5. 伪元素选择器 (Pseudo-element Selector)

伪元素选择器用于选择元素内容的一部分,而不是整个元素本身:

/* 选择每个段落的第一个字母作为伪元素,并设置样式 */
p::first-letter {
  font-size: larger;
  text-transform: uppercase;
}

/* 创建一个在元素内容之前插入的内容块 */
p::before {
  content: "Read: ";
  color: green;
}

6. 后代选择器 (Descendant Selector)

后代选择器用来选择某个元素内部的所有特定后代元素:

/* 选择所有位于ul标签内的li元素 */
ul > li {
  list-style-type: disc;
}

/* 选择任何在div内包含的所有段落 */
div p {
  margin-bottom: 1em;
}

7. 相邻后代选择器、子选择器 (Child Selector)

子选择器 (> 符号) 指定父元素直接子元素的样式:

/* 只选择直接位于.navbar下的 a 元素 */
.navbar > a {
  color: white;
}

/* 注意:相邻后代选择器实际上指的是相邻兄弟选择器,在这里纠正一下 */
/* 相邻兄弟选择器 (+ 符号) 选择紧随其后的同级元素 */
.h1 + p {
  margin-top: 0;
}


8. 兄弟选择器 (Sibling Selector)

  • 相邻兄弟选择器 (+ 符号) 选择紧接在某个元素之后的同级元素:
/* 当p元素紧跟在一个h1元素后面时应用样式 */
h1 + p {
  font-weight: bold;
}

/* 一般兄弟选择器 (~ 符号) 选择所有紧跟在同一父元素下某元素之后的同级元素 */
h1 ~ p {
  color: blue;
}

注释 (Comments)

CSS注释用于解释或临时禁用代码块:

/* 这是一个CSS注释,不会影响样式渲染 */
/* .example-selector {
  display: none; // 这行样式被注释掉了
} */


@规则 (@ Rules)

  • @media 规则用于创建媒体查询,针对不同设备视口尺寸和特性应用不同的样式:
@media screen and (max-width: 600px) {
  body {
    font-size: 14px;
  }
}
  • @font-face 规则用于定义自定义字体:
@font-face {
  font-family: 'MyCustomFont';
  src: url('myfont.woff2') format('woff2'),
       url('myfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: 'MyCustomFont', sans-serif;
}
  • @page 规则用于定义打印样式表中的页面布局:
@page {
  size: A4;
  margin: 1in;
}


以上仅列举了部分常见的CSS选择器和@规则,实际开发中还有其他许多复杂且强大的组合方式,可根据需要灵活运用。

相关文章
|
4月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
156 1
|
前端开发 JavaScript
CSS:基础选择器
CSS:基础选择器
209 2
|
前端开发
CSS:高级选择器
CSS:高级选择器
211 1
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
385 5
|
前端开发 JavaScript UED
深入理解与应用 CSS 伪类选择器
【10月更文挑战第23天】通过以上对 CSS 伪类选择器的深入探讨,我们可以更好地理解和应用它们,为网页设计和开发带来更丰富、更灵活的样式效果。同时,要注意在实际应用中根据具体情况合理选择和使用伪类选择器,以达到最佳的设计效果和用户体验。
385 2
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
820 1
|
前端开发 JavaScript
【CSS】选择器
【CSS】选择器
|
前端开发
CSS样式规则
CSS样式规则。
253 2
|
前端开发
CSS3选择器
【8月更文挑战第23天】CSS3选择器。
151 1

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    326
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    271
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    229
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    160
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    334
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    468
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    219
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    156
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    245
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    300