当前位置:首页 > 技术 > 正文内容

CSS基础教程:样式表语法与选择器详解

访客 技术 2026年9月28日 11

CSS简介

CSS(层叠样式表)是一种用于描述HTML元素在屏幕、纸张或其他媒体上如何呈现的语言。通过CSS,开发者可以同时控制多个网页的布局和外观,大大提高工作效率。CSS样式通常存储在外部.css文件中,便于管理和维护。

CSS基础语法

CSS规则由选择器和声明块构成:

CSS语法结构

选择器用于定位需要设置样式的HTML元素,声明块包含一条或多条声明。每条声明由属性名和属性值组成,中间用冒号分隔。多个声明之间用分号分隔,整个声明块用花括号包围。

示例代码:

article {
    font-family: Arial;
    line-height: 1.6;
}

在上述代码中,article是选择器,font-family和line-height是属性,Arial和1.6是对应的属性值。

CSS选择器类型

CSS选择器用于定位HTML元素,主要分为以下几类:

  • 简单选择器:根据元素名称、ID或类选取元素
  • 组合器选择器:根据元素间的关系选取元素
  • 伪类选择器:根据元素的特定状态选取
  • 伪元素选择器:选取元素的一部分并设置样式
  • 属性选择器:根据属性或属性值选取元素

元素选择器

元素选择器根据HTML标签名称选择元素。例如,以下代码会使所有段落文本居中并显示为蓝色:

p {
  text-align: center;
  color: blue;
}

ID选择器

ID选择器使用HTML元素的ID属性来选择特定元素。ID在页面中应是唯一的,因此ID选择器通常用于选择单个元素。使用ID选择器时,需要在ID名称前添加井号(#)。

#main-content {
  text-align: center;
  color: green;
}

注意:ID名称不能以数字开头。

类选择器

类选择器选择具有特定class属性的HTML元素。使用类选择器时,需要在类名前添加点(.)。

.highlight {
  background-color: yellow;
  font-weight: bold;
}

可以限制类选择器只应用于特定元素:

div.highlight {
  background-color: yellow;
  font-weight: bold;
}

HTML元素可以引用多个类:

<div class="highlight bordered">这个div元素应用了两个类。</div>

注意:类名不能以数字开头。

通用选择器

通用选择器(*)匹配页面上的所有HTML元素:

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

分组选择器

分组选择器可以将具有相同样式定义的不同选择器组合在一起,减少代码重复:

h1, h2, h3 {
  font-family: 'Helvetica Neue', sans-serif;
  color: #333;
}

CSS使用方式

有三种方式可以在HTML文档中使用CSS:

外部样式表

外部样式表是最常用的方式,通过修改一个文件即可改变整个网站的外观。每个HTML页面需要在head部分通过link元素引用外部CSS文件:

<!DOCTYPE html>
<html>
<head>
  <link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>

  <h1>页面标题</h1>
  <p>这是一个段落。</p>

</body>
</html>

外部样式表文件(如styles.css)的内容示例:

body {
  background-color: #f5f5f5;
  font-family: Arial, sans-serif;
}

header {
  background-color: #4285f4;
  color: white;
  padding: 20px;
}

注意:在属性值和单位之间不要添加空格(例如:margin: 20px; 而不是 margin: 20 px;)。

内部样式表

内部样式表适用于单个页面需要独特样式的情况。样式定义在HTML文档的head部分的style元素中:

<!DOCTYPE html>
<html>
<head>
  <style>
    body {
      background-color: #e8f4fd;
    }
    
    nav {
      background-color: #333;
      color: white;
      padding: 15px;
    }
  </style>
</head>
<body>

  <nav>导航菜单</nav>
  <h1>页面标题</h1>
  <p>这是一个段落。</p>

</body>
</html>

内联样式

内联样式直接应用于HTML元素的style属性中,适用于为单个元素设置独特样式:

<!DOCTYPE html>
<html>
<body>

  <h1 style="color:#4285f4;text-align:center;">页面标题</h1>
  <p style="color:#666;font-size:18px;">这是一个段落。</p>

</body>
</html>

提示:内联样式会失去样式表的许多优势,应谨慎使用。

样式层叠与优先级

当为同一元素定义了多个样式时,会根据特定规则确定最终应用的样式:

/* 外部样式表 */
h2 {
  color: blue;
}

/* 内部样式表 */
h2 {
  color: red;
}

如果内部样式表在外部样式表之后引入,则h2元素将显示为红色:

<head>
  <link rel="stylesheet" type="text/css" href="styles.css">
  <style>
    h2 {
      color: red;
    }
  </style>
</head>

但如果顺序相反,h2元素将显示为蓝色。

样式优先级顺序

当多种样式应用于同一元素时,优先级从高到低为:

  1. 内联样式(HTML元素的style属性)
  2. 内部和外部样式表(在head部分)
  3. 浏览器默认样式

因此,内联样式具有最高优先级,会覆盖其他样式定义。

CSS注释

CSS注释以/*开始,以*/结束,用于解释代码,提高可读性。浏览器会忽略注释内容:

/* 设置页面基本样式 */
body {
  font-family: 'Open Sans', sans-serif;
  line-height: 1.5;
}

/* 
  多行注释示例
  这里可以详细解释样式的作用
*/
.container {
  max-width: 1200px;
  margin: 0 auto;
}
标签: css前端开发

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。