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>

效果

相关推荐
CoolerWu12 小时前
TRAE SOLO实战成功展示&总结:一个所见即所得的笔记软体
前端·javascript
Cassie燁12 小时前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
vx_bscxy32212 小时前
告别毕设焦虑!Python 爬虫 + Java 系统 + 数据大屏,含详细开发文档 基于web的图书管理系统74010 (上万套实战教程,赠送源码)
java·前端·课程设计
北极糊的狐12 小时前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
spionbo12 小时前
Vue3 前端分页功能实现的技术方案及应用实例解析
前端
AI绘画小3312 小时前
Web 安全核心真相:别太相信任何人!40 个漏洞挖掘实战清单,直接套用!
前端·数据库·测试工具·安全·web安全·网络安全·黑客
7***n7512 小时前
前端设计模式详解
前端·设计模式·状态模式
用户479492835691513 小时前
Vite 中 SVG 404 的幕后黑手:你真的懂静态资源处理吗?
前端·vite
未来之窗软件服务13 小时前
幽冥大陆(三十五)S18酒店门锁SDK go语言——东方仙盟筑基期
java·前端·golang·智能门锁·仙盟创梦ide·东方仙盟·东方仙盟sdk
卸任13 小时前
解密Flex布局:为什么flex:1仍会导致内容溢出
前端·css·flexbox