当前位置:首页 > CSS

制作css选择器

2026-01-08 19:40:02CSS

CSS选择器基础语法

CSS选择器用于定位HTML文档中的元素,以便为其应用样式。常见的基础选择器包括:

  • 元素选择器:直接使用HTML标签名(如pdiv
  • 类选择器:以.开头(如.header
  • ID选择器:以#开头(如#main-content
  • 通配符选择器*匹配所有元素
/* 元素选择器 */
p { color: red; }

/* 类选择器 */
.error { background: yellow; }

/* ID选择器 */
#sidebar { width: 300px; }

组合选择器

通过组合基础选择器可以创建更精确的匹配规则:

  • 后代选择器:用空格分隔(div p匹配div内的所有p元素)
  • 子元素选择器:用>分隔(ul > li仅匹配ul的直接子元素li)
  • 相邻兄弟选择器:用+分隔(h1 + p匹配紧接在h1后的第一个p)
  • 通用兄弟选择器:用~分隔(h2 ~ p匹配h2之后的所有同级p)
/* 后代选择器 */
article p { font-size: 16px; }

/* 子元素选择器 */
nav > ul { list-style: none; }

/* 相邻兄弟选择器 */
h2 + p { margin-top: 0; }

属性选择器

根据元素的属性及属性值进行匹配:

  • [attr]:匹配带有attr属性的元素
  • [attr=value]:精确匹配属性值
  • [attr^=value]:匹配以value开头的属性值
  • [attr$=value]:匹配以value结尾的属性值
  • [attr*=value]:匹配包含value的属性值
/* 匹配所有带有title属性的元素 */
[title] { color: blue; }

/* 匹配type为"text"的input */
input[type="text"] { border: 1px solid #ccc; }

/* 匹配href以https开头的a标签 */
a[href^="https"] { background: url(lock.png); }

伪类与伪元素

  • 伪类:用于定义元素的特殊状态

    • :hover:active:focus
    • :first-child:last-child
    • :nth-child(n):nth-of-type(n)
  • 伪元素:用于样式化元素的特定部分

    • ::before::after
    • ::first-line::first-letter
/* 鼠标悬停效果 */
a:hover { text-decoration: underline; }

/* 表格隔行变色 */
tr:nth-child(even) { background: #f2f2f2; }

/* 在元素前插入内容 */
h1::before { content: "📌 "; }

选择器优先级规则

当多个选择器匹配同一元素时,按照以下优先级决定最终样式:

  1. 内联样式(1000分)
  2. ID选择器(100分)
  3. 类/属性/伪类选择器(10分)
  4. 元素/伪元素选择器(1分)
  5. 通配符/继承样式(0分)
/* 优先级计算示例 */
#nav li.active a:hover { ... } 
/* 100(id) + 1(li) + 10(.active) + 1(a) + 10(:hover) = 122 */

现代CSS新增选择器

CSS3引入了许多新选择器:

制作css选择器

  • :is():where():接受选择器列表作为参数
  • :has():匹配包含特定子元素的父元素
  • :focus-visible:仅当键盘聚焦时匹配
  • :empty:匹配没有子元素的元素
/* 匹配article或section中的h1 */
:is(article, section) h1 { font-size: 2em; }

/* 匹配包含img的div */
div:has(img) { border: 1px solid #000; }

/* 空元素处理 */
div:empty { display: none; }

标签: 选择器css
分享给朋友:

相关文章

css制作导航条

css制作导航条

导航条的基本结构 使用HTML的<nav>标签和<ul>列表创建导航条的基本结构。导航项通常包含链接,示例代码如下: <nav> <ul>…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

网页制作教程css

网页制作教程css

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。通过将样式与 HTML 结构分离,提升代码可维护性。 CSS 引入方式 内联样式:直接在 HTML 标签中使…

css怎么制作段落

css怎么制作段落

段落样式基础设置 使用 p 标签定义段落,通过CSS控制字体、间距等属性: p { font-family: Arial, sans-serif; font-size: 16px;…

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…