我的编程空间,编程开发者的网络收藏夹
学习永远不晚

学好WEB前端之CSS规范

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

学好WEB前端之CSS规范

CSS 指层叠样式表 (Cascading Style Sheets),定义如何显示 HTML 元素,但由于 CSS 天生全局性,随着项目复杂度增加,极易出现样式覆盖以及其它的问题。

1. 通用规范

文件编码

  • 为了避免内容乱码,统一使用 UTF-8 编码保存。

  • 样式文件第一行设置字符集为 UTF-8

@charset 'UTF-8'; 

缩进规范

统一使用两个空格缩进

web前端开发直播教程Q-q-u-n: 767273102 ,内有免费开发工具,零基础,进阶视频教程,希望新手少走弯路

2. 初始化规范

各浏览器厂商的初始样式都不一样,为了消除不同浏览器对 HTML 文本呈现的差异,我们常引入一些初始化样式,如 normalize.css、reset.css 等,当对于这些样式的引入我们需要注意下面几种情况:

  • 不使用 UI 框架,由零开始搭建
    从零开始搭建的情况下,进行样式初始化,在项目最开始的时候就引入,不要在开发中途引入,避免不可预知的样式冲突。

  • 不使用 UI 框架,但使用了部分插件
    插件往往都带有自己特有的样式,如富文本插件,在开发中途使用初始化样式有可能导致样式错乱,所以不建议大范围的初始化,只需简单进行初始化即可。

* {  padding: 0;  margin: 0;}
  • 已使用 UI 框架
    在明确知道需要使用 UI 框架的时候,不使用第三方初始化样式,不管是在项目开始前还是进行中,因为 UI 框架一般都自带初始化,额外引入了反而会影响原有效果。

3. 代码规范

命名规范

class 应以功能或内容命名,不以表现形式命名
class 与 id 单词字母小写,多个单词组成时,采用中划线-分隔
使用唯一的 id 作为 Javascript hook, 同时避免创建无样式信息的 class

代码风格

  • 统一使用展开格式,不推荐紧凑格式

    .test {  color: red;  font-size: 12px;}
    .test {  color: red;  font-size: 12px;}
  • 统一两个空格缩进

  • 属性声明结尾加分号

  • 选择器与左括号之间一个空格,属性冒号后一个空格

    .test {  color: red;  font-size: 12px;}
    .test {  color: red;  font-size: 12px;}
  • 不要为 0 指明单位

  • 颜色值和属性值十六进制数值能用简写的尽量用简写

    .test {  color: #fff;}
    .test {  color: #ffffff;}
  • 引号使用

    url() 、属性选择符、属性值使用单引号

  • 清除浮动

    当元素需要撑起高度以包含内部的浮动元素时,通过对伪类设置 clear 或触发 BFC 的方式进行 clearfix。尽量不使用增加空标签的方式。

    触发 BFC 的方式很多,常见的有:

    • float 非 none
    • position 非 static
    • overflow 非 visible

字体规范

  • 对外商用网站,不要用font-face引入微软雅黑字体,避免侵权(包括图片内容)
  • 需要在 Windows 平台显示的中文内容,其字号应不小于 12px
网站上使用 微软雅黑 字体有三种形式:1、【侵权】图片中使用 微软雅黑 字体,比如网站头图2、【安全】网站 CSS 用 font-family 声明网站使用 微软雅黑 字体,比如文章标题和正文3、【侵权】网站通过 font-face 引用 微软雅黑 ,这种方式不常见

选择器规范

在严格遵照BEM(Block Element Modifier)时,建议只使用类选择器,但 BEM 书写麻烦,所以建议如下

  • 禁用通用选择器 *
  • 不使用无具体语义定义的标签选择器

web前端开发直播教程Q-q-u-n: 767273102 ,内有免费开发工具,零基础,进阶视频教程,希望新手少走弯路

属性顺序

CSS 属性顺序是 CSS 良好编码风格的一部分,有助于提高代码可读性,便于发现代码问题,有利于团队合作,但在项目中发现部分同学在书写属性顺序时较为随意,想到一个属性就写一个。

建议使用下列顺序进行书写

  1. 定位属性(position、display、float、left、right)
  2. 尺寸属性(width、height、padding、margin、border)
  3. 字体属性(color、font、text-align)
  4. 其他属性(background、cursor、outline)

目的是在浏览代码时,能逐步清晰目标元素的效果。

.test {  display: block;  position: relative;  float: left;  width: 100px;  height: 100px;  margin: 0 10px;  padding: 20px 0;  font-size: 12px;  color: #333;  background: rgba(0, 0, 0, 0.5);  border-radius: 10px;}

4. 注释规范

单行注释

注释以  结束,注释内不能嵌套注释,注释内容前后空一个空格

注:在 sass 和 less 等预处理语言上也可以使用双斜线注释,但编译后注释内容不会出现在 css 文件中,所以建议统一使用注释。

模块注释

有时候我们需要对一个模块(一段代码块)进行功能性说明,并希望能明显区分其它代码,我们可以模块注释的方式。

注释以  结束,前后空一个空格,第一行填写描述,最后一行行填写分割线

* 文件信息注释

如果需要对一个文件进行功能性说明,方便其他人快速明白该文件的作用,推荐在文件开头(字符集说明下)写入下列注释,注释内容包括文件描述、创建人、创建时间等。

@charset "UTF-8";

5. 覆盖规范

  • 尽可能少用 importent
  • vue 单文件组件统一使用 css/less/sass scoped
  • 每个页面/组件需要有一个全局唯一的标识 id/class,属于它下面的样式都需要加上该唯一标识
  • 避免全局修改已有样式,必须具体到页面上(通过权重)
  • 禁用全匹配*选择器(特殊情况除外,如初始化)

vue 单文件组件修改样式不生效可使用 /deep/ 或 >>>

6. 媒体查询

对于内部管理系统,商务多使用 ThinkPad 笔记本,屏幕分辨率为 1366*768。建议使用Resolution Test浏览器拓展进行浏览器窗口大小调试。

下载地址:www.cnplugins.com/devtool/res…

常用尺寸如下

大小描述
≥1366px大屏幕 大桌面显示器
≥1200px中等屏幕 桌面显示器
≥992px中等屏幕 桌面显示器
≥768px小屏幕 平板
<768px超小屏幕 手机

优先 PC 端

默认按最大尺寸进行布局,当尺寸缩小时逐步变成移动端布局

body {  background: gray;}@media screen and (max-width: 1366px) {  body {    background: red;  }}@media screen and (max-width: 1200px) {  body {    background: yellow;  }}@media screen and (max-width: 920px) {  body {    background: green;  }}@media screen and (max-width: 768px) {  body {    background: black;  }}

优先移动端

默认按最小尺寸进行布局,当尺寸放大时逐步变成 PC 端布局

body {  background: gray;}@media (min-width: 768px) {  body {    background: red;  }}@media (min-width: 920px) {  body {    background: green;  }}@media (min-width: 1200px) {  body {    background: yellow;  }}@media (min-width: 1366px) {  body {    background: red;  }}

如果需要做打印样式进行适配,需要使用@media print

@media print {  body {    background: #fff;  }}

7. 单位规范

CSS 单位有两种,分别是绝对单位相对单位

  • 常用绝对单位

    • px:像素 (计算机屏幕上的一个点)
    • cm:厘米
    • in:英寸
    • pt:磅 (1 pt 等于 1/72 英寸)
  • 常用相对单位

    • %:父元素百分比
    • vw:视口宽度百分比
    • vh:视口高度百分比
    • em:当前字体倍数
    • rem:根元素字体倍数
    • * rpx:微信小程序专用,规定屏幕宽为 750rpx

使用较多的单位有 px、%、rem 三种,建议 PC 端用 px 单位、移动端用 rem,需要具体控制尺寸还是使用 px

备注:如果需要计算不同单位下的值,可以使用 css3 方法 calc()_

web前端开发直播教程Q-q-u-n: 767273102 ,内有免费开发工具,零基础,进阶视频教程,希望新手少走弯路

8. 兼容性规范

私有属性的使用

正是由于浏览器厂商的不同,导致了一些样式需要加前缀才生效,下面的常见的浏览器内核和前缀

浏览器内核前缀
FirefoxGecko-moz-
ChromeWebKit-webkit-
IETrident-ms-
SafariWebKit-webkit-
OperaPresto-o-
国内知名浏览器WebKit-webkit-
常见手机浏览器WebKit-webkit-

CSS3 浏览器私有前缀在前,标准前缀在后

.test {  -webkit-border-radius: 10px;  -moz-border-radius: 10px;  -o-border-radius: 10px;  -ms-border-radius: 10px;  border-radius: 10px;}

备注:在 webpack 环境下,可以使用 postcss-loader 自动添加私有前缀_

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

学好WEB前端之CSS规范

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

学好WEB前端之CSS规范

CSS 指层叠样式表 (Cascading Style Sheets),定义如何显示 HTML 元素,但由于 CSS 天生全局性,随着项目复杂度增加,极易出现样式覆盖以及其它的问题。1. 通用规范文件编码为了避免内容乱码,统一使用 UTF-
2023-06-03

web前端:css权值和优先级+命名规范

编程学习网:类(Class)是面向对象程序设计(OOP,Object-OrientedProgramming)实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。
web前端:css权值和优先级+命名规范
2024-04-23

如何学好web前端

这篇文章主要介绍“如何学好web前端”,在日常操作中,相信很多人在如何学好web前端问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何学好web前端”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!  1、一
2023-06-04

小白学Web之Web前端

编程学习网:小白的福利,Web前端的几大阶段学习及掌握。
小白学Web之Web前端
2024-04-23

好程序员web前端培训分享HTMLCSS学习之CSS基础

  好程序员web前端培训分享HTMLCSS学习之CSS基础,CSS(cascading style sheet) 汉译为层叠样式表,是用于控制网页样式WEB标准中的表现标准语言,在网页中主要对网页信息的显示进行控制。目前推荐遵循的是W3C
2023-06-03

好程序员web前端培训分享怎样学好css?

  好程序员web前端培训分享怎样学好css?我推荐题主的学习方法就是:善用调试工具。  使用谷歌浏览器进行调试,在属性不理解时可以直接在浏览器里进行数值调节  css在书写时由于选择器权重问题经常出现样式覆盖的问题  如果你的选择器书写正
2023-06-03

学web前端考什么证好

随着互联网的快速发展,Web前端行业也越来越受到关注。而随着行业的发展和崛起,越来越多的人选择进入Web前端这个行业,开始了他们的职业生涯。但是,对于很多初学者来说,他们不知道该如何学习和发展自己。因此,很多人对于学习Web前端到底需要考什么样的证书感到困惑。面对这个问题,我们需要仔细探讨,才能给出详细的答案。一、Web前端的职业发展首先,我们需要了解Web前端这个职业发展的特
2023-05-14

怎样学好web前端开发

目前,web前端开发工程师已成为中国互联网行业中最紧俏的职位。1.学习路线1.第一阶段——HTML5的学习超文本标记语言(HyperText Mark-up Language 简称HTML)是一个网页的骨架,无论是静态网页还是动态网页,最终
2023-06-04

好程序员web前端开发测验之css部分

  好程序员web前端开发测验之css部分Front End Web Development Quiz CSS 部分问题与解答  Q: CSS 属性是否区分大小写?1.

  ul {

2023-06-03

web前端开发中的规范要求有哪些

这篇文章主要介绍了web前端开发中的规范要求有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇web前端开发中的规范要求有哪些文章都会有所收获,下面我们一起来看看吧。web前端开发中,适当的规范和标准绝不是消
2023-07-04

好程序员web前端分享CSS基础知识之position

 好程序员web前端分享CSS基础知识之position   CSS定位机制   标准文档流(Normal flow)   浮动定位(Floats)   绝对定位(Absolute positioning)   标准文档流   从上到下,
2023-06-03

好程序员web前端学习教程之Node Js流程

  好程序员web前端学习教程之Node Js流程1,项目前期准备:   以express框架为例   npmiexpress-generator-g//全局安装express框架   express-e//生成express应用骨架   
2023-06-03

好程序员web前端分享CSS学习:HSLA颜色模式

好程序员web前端分享CSS学习:HSLA颜色模式一、理论:1.HSLA颜色模式a.HSLA在HSL基础上增加了不透明度,值越大透明度越低b.HSLA颜色模式的浏览器兼容性和HSL一样,只有较新版本的主流浏览器才支持2.RGBA和HSLA颜
2023-06-03

web前端:零基础如何学好前端?有什么建议?

编程学习网:Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
web前端:零基础如何学好前端?有什么建议?
2024-04-23

web前端:CSS学习笔记-过渡模块

编程学习网:CSS为HTML标记语言提供了一种样式描述,定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。
web前端:CSS学习笔记-过渡模块
2024-04-23

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录