HTML: HTML 样式

HTML负责网页的结构设计,而CSS(层叠样式表)则负责它的外观(样式设置)。在HTML中,您可以以三种方式编写样式:内联样式、内部样式表和外部样式表。

1. 内联样式(Inline Style)

在标签的 style 属性中直接写 CSS,只作用于当前元素:

▶ 示例

HTML
<p style="color: blue; font-size: 18px;">
  这是一段蓝色大号文字。
</p>
<div style="background: #f0f0f0; padding: 20px; border-radius: 8px;">
  这是一个带圆角的灰色卡片。
</div>
▶ 试一试
💡 适用场景: 内联样式优先级最高,适合快速测试或需要 JavaScript 动态修改样式的场景。但生产环境尽量避免,因为难以维护。


2. 内部样式表(Internal Style Sheet)

<head> 中用 <style> 标签定义样式,当前页面的所有元素都能引用:

▶ 示例

HTML
<!DOCTYPE html>
<html>
<head>
  <style>
    body { font-family: Arial, sans-serif; }
    h1 { color: #333; text-align: center; }
    .card {
      background: #fff;
      border: 1px solid #ddd;
      padding: 16px;
      border-radius: 8px;
    }
  </style>
</head>
<body>
  <h1>我的页面</h1>
  <div class="card">这是一个卡片</div>
</body>
</html>
▶ 试一试

3. 外部样式表(External Style Sheet)

将 CSS 写在独立 .css 文件中,用 <link> 引入。这是最推荐的方式——一个 CSS 文件可控制整个网站的样式:

▶ 示例

HTML
<head>
  <link rel="stylesheet" href="style.css">
</head>

<!-- style.css 文件内容: -->
<!-- h1 { color: navy; } -->
<!-- .highlight { background: yellow; } -->
▶ 试一试
📌 三种方式优先级: 内联样式 > 内部样式表 > 外部样式表 > 浏览器默认样式。当同一个元素被多种方式设置样式时,优先级高的生效。


4. 常用 CSS 属性速览

以下是在 HTML 中最常用的一些 CSS 属性,了解它们就能做出像样的页面了:

❓ 常见问题

Q 内联样式、内部样式、外部样式有什么区别?
A 三种方式的区别:1)内联样式(style属性)只作用于当前元素,写在HTML标签内;2)内部样式(<style>标签)作用于当前页面,写在<head>中;3)外部样式(.css文件)作用于所有引用它的页面,通过<link>引入。优先级:内联 > 内部 > 外部。实际开发中,95%的情况用外部样式表。
Q 为什么推荐用外部样式表?
A 外部样式表有四个核心优势:1)复用——多个页面共用一个CSS文件,改一处全局生效;2)缓存——浏览器会缓存CSS文件,首次加载后后续页面访问更快;3)分离——HTML负责结构,CSS负责样式,职责清晰,便于维护;4)协作——前端开发者可以并行工作,互不干扰。内联样式只适合调试和极特殊场景。
Q 样式优先级是怎么计算的?
A 优先级从高到低:1)!important(慎用,会打乱优先级);2)内联样式(style属性);3)ID选择器(#id);4)类选择器(.class)、属性选择器、伪类;5)元素选择器(pdiv)、伪元素;6)通配符(*)、继承的样式。相同优先级时,后写的覆盖先写的。建议:不要滥用!important,用选择器 specificity 控制优先级。
Q 什么时候用内联样式?
A 内联样式的使用场景非常有限:1)JavaScript动态修改样式(element.style.color = 'red');2)快速调试(临时看效果);3)邮件模板(邮件客户端对<style>支持差)。除此之外,都应该用内部或外部样式表。内联样式的缺点:难以维护、无法复用、优先级过高导致难以覆盖。

📖 小节

📝 作业

  1. 样式实践:创建一个 HTML 页面,用三种方式分别设置不同元素的样式。观察优先级的效果。
  2. 卡片设计:用内联样式创建一个包含标题、图片描述和按钮的卡片组件。
  3. 外部样式:创建一个 style.css 文件,用 <link> 引入并应用到页面的多个元素上。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏