程序员scholar 程序员scholar
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
首页
  • Java 基础

    • JavaSE
    • JavaIO
    • JavaAPI速查
  • Java 高级

    • JUC
    • JVM
    • Java新特性
    • 设计模式
  • Web 开发

    • Servlet
    • Java网络编程
  • Web 标准

    • HTML
    • CSS
    • JavaScript
  • 前端框架

    • Vue2
    • Vue3
    • Vue3 + TS
    • 微信小程序
    • uni-app
  • 工具与库

    • jQuery
    • Ajax
    • Axios
    • Webpack
    • Vuex
    • WebSocket
    • 第三方登录
  • 后端与语言扩展

    • ES6
    • Typescript
    • node.js
  • Element-UI
  • Apache ECharts
  • 数据结构
  • HTTP协议
  • HTTPS协议
  • 计算机网络
  • Linux常用命令
  • Windows常用命令
  • SQL数据库

    • MySQL
    • MySQL速查
  • NoSQL数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • RabbitMQ
  • 服务器

    • Nginx
  • Spring框架

    • Spring6
    • SpringMVC
    • SpringBoot
    • SpringSecurity
  • SpringCould微服务

    • SpringCloud基础
    • 微服务之DDD架构思想
  • 日常必备

    • 开发常用工具包
    • Hutoll工具包
    • IDEA常用配置
    • 开发笔记
    • 日常记录
    • 项目部署
    • 网站导航
    • 产品学习
    • 英语学习
  • 代码管理

    • Maven
    • Git教程
    • Git小乌龟教程
  • 运维工具

    • Docker
    • Jenkins
    • Kubernetes
  • 算法笔记

    • 算法思想
    • 刷题笔记
  • 面试问题常见

    • 十大经典排序算法
    • 面试常见问题集锦
关于
GitHub (opens new window)
npm

(进入注册为作者充电)

  • HTML

  • CSS

    • CSS 基础语法
    • CSS 引入的方式
      • CSS 选择器
      • CSS 背景样式设置
      • CSS 文本和字体样式设置
      • CSS a标签样式设置
      • CSS 列表样式设置
      • CSS 表格样式设置
      • CSS 盒子模型
      • CSS 边框样式设置
      • CSS 轮廓样式设置
      • CSS margin(外边距)
      • CSS padding(填充)
      • CSS 长宽高样式设置
      • CSS 元素的隐藏与显示
      • CSS 内容溢出和滚动条
      • CSS 伪类和伪元素
      • CSS 表单样式设置
      • CSS !important 规则
      • CSS 元素的浮动和定位
      • CSS flex布局
      • CSS 布局对齐汇总
      • CSS 实战技巧
      • CSS 移动端适配
      • 移动端开发之流式布局
      • 移动端开发之 rem 布局
      • 移动端开发之响应式布局
    • JavaScript

    • 前端三剑客
    • CSS
    scholar
    2024-07-16
    目录

    CSS 引入的方式

    # CSS 引入的方式

    CSS(Cascading Style Sheets)允许您控制网页的外观和布局。您可以通过外部样式表、内部样式表和内联样式来定义和应用 CSS。

    # 1. 外部样式表

    外部样式表是定义网站样式的最佳方式之一。当样式需要应用于多个页面时,外部样式表是最理想的选择。通过改变一个文件,就可以更新整个网站的样式。

    # 外部样式表的使用

    每个页面通过 <link> 标签链接到外部样式表。这个标签应该放在文档的头部部分:

    <head>
      <link rel="stylesheet" type="text/css" href="mystyle.css">
    </head>
    
    1
    2
    3

    浏览器会从文件 mystyle.css 中读取样式声明,并根据这些声明来格式化文档。

    # 外部样式表的编写

    外部样式表可以在任何文本编辑器中编写。文件中不能包含任何 HTML 标签,文件名应该以 .css 扩展名结尾。以下是一个外部样式表的示例:

    hr {
      color: sienna;
    }
    p {
      margin-left: 20px;
    }
    body {
      background-image: url("/images/back40.gif");
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

    注意:不要在属性值和单位之间留有空格。例如,margin-left: 20 px 是错误的,应该写作 margin-left: 20px。

    # 2. 内部样式表

    当单个文档需要特殊的样式时,可以使用内部样式表。您可以在文档的头部通过 <style> 标签定义内部样式表:

    <head>
      <style>
        hr {
          color: sienna;
        }
        p {
          margin-left: 20px;
        }
        body {
          background-image: url("images/back40.gif");
        }
      </style>
    </head>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    # 3. 内联样式

    内联样式用于单独设置某个 HTML 元素的样式。由于内联样式将样式和内容混合在一起,会丧失许多样式表的优势,因此应慎用这种方法。内联样式通过在相关标签内使用 style 属性来定义:

    <p style="color: sienna; margin-left: 20px;">这是一个段落。</p>
    
    1

    # 4. 多重样式

    当相同的选择器在不同的样式表中定义了不同的属性时,元素会继承更具体的样式。假设外部样式表中针对 h3 选择器定义了以下属性:

    h3 {
      color: red;
      text-align: left;
      font-size: 8pt;
    }
    
    1
    2
    3
    4
    5

    而内部样式表中定义了以下属性:

    h3 {
      text-align: right;
      font-size: 20pt;
    }
    
    1
    2
    3
    4

    如果页面同时引用了内部和外部样式表,则 h3 元素会继承以下样式:

    color: red;
    text-align: right;
    font-size: 20pt;
    
    1
    2
    3

    即颜色属性来自外部样式表,而文本对齐和字体大小属性来自内部样式表。

    # 5. 多重样式优先级

    在一个 HTML 文档中,样式可以通过多种方式定义:内联样式、内部样式表、外部样式表和浏览器默认样式。通常情况下,优先级如下:

    内联样式 > 内部样式表 > 外部样式表 > 浏览器默认样式

    以下示例展示了不同样式表的优先级:

    <head>
      <!-- 外部样式 style.css -->
      <link rel="stylesheet" type="text/css" href="style.css">
      <!-- 外部样式定义:h3 { color: blue; } -->
      <style>
        /* 内部样式 */
        h3 {
          color: green;
        }
      </style>
    </head>
    <body>
      <h3 style="color: red;">测试!</h3>
    </body>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    在这个示例中,h3 元素会应用内联样式的红色文本,因为内联样式的优先级最高。假如外部样式表的引用在内部样式表之后,则外部样式表的样式会覆盖内部样式表。

    # 6. 使用多个外部样式表

    您可以在同一个 HTML 文档中引用多个外部样式表。顺序决定了优先级,后引用的样式表会覆盖先前引用的样式表。

    <head>
      <link rel="stylesheet" type="text/css" href="style1.css">
      <link rel="stylesheet" type="text/css" href="style2.css">
    </head>
    
    1
    2
    3
    4

    在这个示例中,style2.css 的样式会覆盖 style1.css 的样式。

    通过使用外部、内部和内联样式,您可以灵活地控制和管理网页的样式,从而实现复杂的布局和设计。

    编辑此页 (opens new window)
    上次更新: 2025/01/29, 14:36:06
    CSS 基础语法
    CSS 选择器

    ← CSS 基础语法 CSS 选择器→

    Theme by Vdoing | Copyright © 2019-2025 程序员scholar
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式