css教程:可读性可维护性良好的CSS文件

yizhihongxing

针对“css教程:可读性可维护性良好的CSS文件”的完整攻略,我将分别从以下几个方面进行讲解:

  1. 命名规范
  2. 样式结构
  3. 注释

1. 命名规范

命名规范是保证CSS文件可读性、可维护性的第一步。在命名规范上,可以根据约定俗成的方式去制定,比如以下各种情况:

  • 使用“BEM”(块、元素、修饰符)命名法:.block__element--modifier
  • 使用“OOCSS”(面向对象CSS)命名法:.module-name .submodule-name .element-name
  • 使用“SMACSS”(可扩展和模块化的CSS)命名法:.l-header .mod-is-primary

在命名规范限制下,CSS文件的结构就变得明确、易于管理。

2. 样式结构

在保证命名规范的基础上,样式结构也是非常重要的。通常情况下,可以遵循以下原则:

  • 按照页面布局进行分组。比如将header部分、nav部分、main部分依次排布
  • 一般情况下,从上到下按照选择器中的的字母顺序排列。比如@media、:hover这些伪类排列在样式最后
  • 用类来覆盖样式,避免使用!important样式

3. 注释

为了让CSS文件的可维护性变得更好,注释是必不可少的。在注释上,可以根据以下方式进行:

  • 类上方加注释,注释该类所描述的内容。如果该类有不同的交互方式,应加以分割以帮助识别
  • 描述一些意图或布局时使用,用 // 注释,保证和代码之间的偏移最大
  • 用注释说明更改,即描述新更新的元素

下面我将给出两条示例说明:

示例1:样式结构

以下是一个例子:

/* 头部
   ========================================================================== */

.site-header {
  background-color: #333;
  height: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px;
}

.site-title,
.site-logo {
  margin: 0;
  font-size: 24px;
  color: #fff;
}

.site-logo img {
  height: 30px;
}

.site-nav {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}

.site-nav__item {
  margin-left: 20px;
}

.site-nav__item a {
  color: #fff;
}

/* 正文
   ========================================================================== */

.content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.content {
  margin-top: 40px;
  width: 80%;
  max-width: 800px;
}

.content__title {
  font-size: 36px;
  margin-bottom: 20px;
  text-align: center;
}

.content__subtitle {
  font-size: 20px;
  margin-bottom: 30px;
}

.banner-image {
  margin-bottom: 40px;
}

/* 脚部
   ========================================================================== */

.site-footer {
  background-color: #333;
  color: #fff;
  font-size: 14px;
  text-align: center;
  padding: 20px;
}

此例中,CSS样式按照页面结构进行分组,并使用注释加以标注。在样式的具体组合上,选择器按字母表顺序排列。

示例2:注释

以下是一个例子:

/* 分享图标样式
   ========================================================================== */

.share-icons {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}

.share-icons__item {
  padding: 10px;
  border-radius: 50%;
  background-color: #222;
  margin-right: 10px;
  cursor: pointer;
}

.share-icons__icon {
  color: #fff;
  font-size: 24px;
}

/* 翻译状态
   ========================================================================== */

/* 翻译状态分为3种:未开始、正在进行、已完成 */

.content--not-started {
  opacity: 0.5;
  filter: grayscale(100%);
}

.content--in-progress {
  border: 2px solid #f8df62;
}

.content--completed {
  border: 2px solid #5cb85c;
}

此例中给出了两种注释方式,一种是针对于一个类加入注释,并且使用 ___________________________________________________________________________ 作为分割线。另一种则为会随者样式变化动态改变的注释。在这个例子中,我们给.content 添加了三种表现状态的注释,分别是未开始、正在进行、已完成,它们与时间相关。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:css教程:可读性可维护性良好的CSS文件 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • php压缩HTML函数轻松实现压缩html/js/Css及注意事项

    PHP压缩HTML函数轻松实现压缩html/js/Css及注意事项 在Web开发中,压缩html/js/Css可以减少文件大小,提升页面加载速度,提高用户体验。本文介绍如何使用PHP编写一个html/js/Css压缩函数,并且注意一些需要遵守的注意事项。 函数实现 下面是一个简单的html/js/Css压缩函数的实现: function compress_h…

    css 2023年6月13日
    00
  • AngularJS2 与 D3.js集成实现自定义可视化的方法

    下面是详细讲解“AngularJS2 与 D3.js集成实现自定义可视化的方法”的攻略: 前置条件 在开始本攻略前,需要确保你已经了解以下技术: AngularJS2框架 D3.js数据可视化库 TypeScript语言 步骤一:创建AngularJS2项目 首先需要创建一个AngularJS2项目,具体步骤如下: 安装Angular CLI:在命令行中运行…

    css 2023年6月10日
    00
  • JS控制弹出悬浮窗口(一览画面)的实例代码

    这里给您详细讲解一下 JS 控制弹出悬浮窗口的实例代码的攻略。下面是具体步骤: 1. 给HTML添加悬浮窗口基本元素 首先,在 HTML 文档中添加弹出悬浮窗口的基本元素,包括触发弹出的按钮和整个弹出窗口的框架结构。代码示例如下: <button id="open-popup">点击打开弹出窗口</button> …

    css 2023年6月10日
    00
  • 洛克王国宠物大战棋活动来袭_得药剂奖励

    洛克王国宠物大战棋活动攻略 活动简介 洛克王国宠物大战棋活动是一项以宠物对战策略为主题的活动,玩家可以通过收集、合成和培养各类宠物,参与宠物对战并获得丰厚的奖励。 活动时间 活动时间:每周二、四、六的10:00~22:00。 活动规则 玩家需要在规定时间内打开宠物大战棋活动页面,进入宠物大战棋游戏界面。 玩家需要使用已有的宠物进行对战,并尽可能地获得胜利,以…

    css 2023年6月10日
    00
  • 简单实现轮播图效果的实例

    下面是“简单实现轮播图效果的实例”的完整攻略: 1. 需求分析 轮播图是网站中常用的页面展示效果,可以通过自动轮播或手动切换来展示不同的内容。我们需要实现一个简单的轮播图效果,以便在网站中使用。 2. 技术选型 我们可以使用jQuery插件来实现轮播图效果。其中,我推荐使用Slick.js插件,因为它易于使用,具有丰富的配置选项,支持响应式布局,功能强大。 …

    css 2023年6月10日
    00
  • html网页引入svg图片的4种方式

    当我们想要在HTML网页中引入SVG图片的时候,有以下4种方式: 使用<img>标签 通过<img>标签来引入SVG图片,与引入普通图片的方式相同,只需指定图片的路径即可。需要注意的是,使用<img>标签引入的SVG图片无法通过CSS对其中的元素进行样式修改。 示例代码: <img src=”example.svg”…

    css 2023年6月9日
    00
  • js实现用滚动条来放大缩小图片的代码

    下面我来详细讲解一下“js实现用滚动条来放大缩小图片的代码”的实现过程。 1. 编写html结构 首先,我们需要准备一张图片和一个滚动条,并将它们放到一个包含样式的html结构中。 <style> #scrollbar { width: 100%; height: 10px; background-color: #ccc; } #slider {…

    css 2023年6月10日
    00
  • Vue3新特性之在Composition API中使用CSS Modules

    下面是针对“Vue3新特性之在Composition API中使用CSS Modules”的完整攻略。 什么是CSS Modules? CSS Modules是一种流行的CSS样式处理器,它允许我们将CSS代码限定在组件范围内,从而避免了样式之间的污染和覆盖。 在CSS模块中,样式类名不是全局的,而是局部的,通过这种方式,我们能够在写CSS样式代码时避免影响…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部