css 的编写方式 & 最佳实践

css 提供了3种方法,可以将 css 样式 应用到 元素上.

  • 内联样式(inline style)
  • 内部样式表(internal style sheet),文档样式表(docoument style sheet),内部样式表(embed style sheet)
  • 外部样式表(external style sheet)

还有一种在css文件中引入其他css 文件的方法 @import

每一种方式都需要掌握.

内联样式 (inline style)

内敛样式(inline style),也有人翻译成行内样式 内联样式表存在于 HTML 元素的style属性之中的.

html 复制代码
   <div style="background-color: brown; color: white">haha</div>

css 样式之间用 ; 隔开,建议每条css 样式后面都加上分号 ;

内部样式表(interal style sheet)

将css 放在HTML 文件< head > 元素里的 < style > 元素之中

html 复制代码
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
  .one.two {
    color: red;
  }
</style>
</head>

外部样式表(external style sheet)

外部样式 是将css 编写到一个 独立的文件中,并通过 < link >元素 引入进来.

使用外部样式表 主要分为两个步骤 第一步: 将css 样式在一个独立的css 文件中编写(后缀名为.css) 第二步: 通过 < link >元素引进来.

@import

可以在 style 元素 或者 CSS 文件中 使用 @import 导入其他的 css 文件

最佳实践

在日常开发中,这几种方式 在不同的场景中都会使用到,比较创建的组合使用方式如下:

  1. 在项目中创建一个css 文件夹
  2. 在文件夹中创建index.css
  3. 编写诸如reset.css (重置css 属性的 css文件),业务css 文件等等
  4. 在index.css 文件中通过@import 方式 引入 第3步编写的css 文件
  5. 在 主页面 html 中 引入 index.css 文件

目录:

reset.css:

css 复制代码
body {
  margin: 0 0;
  padding: 0 0;
}
div {
  padding: 0px 0px;
  margin: 0px 0px;
}

partA.css

css 复制代码
.classA {
  color: royalblue;
}

partB.css

css 复制代码
.classB {
  color: red;
}

index.css

css 复制代码
@import url(./reset.css);
@import url(./partA.css);
@import url(./partB.css);
.container {
  background-color: aquamarine;
}

html:

html 复制代码
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="./css/index.css" />
  </head>
  <body>
    <div class="container">
      <div class="classA">partA</div>
      <div class="classB">partB</div>
    </div>
  </body>
</html>

效果

相关推荐
乘风gg3 小时前
为什么AI 时代来临,大部分人吃不到红利
前端·ai编程·claude
恋猫de小郭4 小时前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
IT_陈寒4 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
恋猫de小郭4 小时前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
Hyyy5 小时前
理解LLM的基本工作原理:预训练、微调、推理的区别
前端
Gatlin6 小时前
前端逆向与反逆向:一场猫鼠游戏的底层逻辑与实战
前端
Pedantic6 小时前
本地通知(Local Notifications)学习笔记
前端
森蓝情丶6 小时前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
爱勇宝6 小时前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员
Pedantic7 小时前
Combine 框架学习笔记
前端