分享好友 最新动态首页 最新动态分类 切换频道
Web前端开发最佳实践(8):还没有给CSS样式排序?其实你可以更专业一些
2024-12-29 09:36

CSS样式排序是指按照一定的规则排列CSS样式属性的定义,排序并不会影响CSS样式的功能和性能,只是让代码看起来更加整洁。CSS代码的逻辑性并不强,一般的开发者写CSS样式也很随意,所以如果不借助工具,不太容易按照既定的顺序来定义CSS属性,这是前端程序员很少给CSS样式属性排序的最主要原因。

尽管给CSS样式属性排序需要花费一些精力,但从代码的可读性和可维护性角度来考虑,这些付出还是值得的。如果CSS属性按照一定的规则排序,在开发过程中可以防止属性的重复定义,代码的检查者也能很清晰地查看CSS样式定义,更关键的是后续维护过程中能快速定位特定的样式属性。国外有人做过一个调查,该调查显示有超过60%的开发者会给CSS样式排序。可见业内大部分的开发者对CSS样式属性排序持有肯定的态度,只是在排序的方式上会有一定的分歧:大约有45%的人是按照类型分组排序,有14%的人是按照字母序排列,还有2%的人按照定义的长度排序。下面分别介绍这几种排序的方式以及其优缺点。

这种排序方式最复杂,却也是最合理的方式。国外著名的Web前端专家Andy Ford推荐过一种按照类型分组排序的方式,他把CSS属性分为7大类:显示与浮动()、定位()、尺寸()、边框相关属性(、、、)、字体样式()、背景()、其他样式(、、)。以此规则,Andy Ford给出了一个例子,基本包含了CSS2.1中所有的样式属性。可以通过浏览他的文章 查看完整的例子代码。

随着CSS3的普及,CSS样式中也添加了很多新的属性,这些新的属性也可以按照如上的规则归类到不同的类别中,如:可以归类到字体样式中;可以归类为边框相关属性等。

按字母序排列的方式也是CSS排序中使用较多的一种方式。相比较于前一种方式,这种方式的优点是排列规则简单。按字母序排列的规则是按照属性的首字母从A到Z排列,忽略浏览器前缀(如:、、以及)。如下是一个按照字母序排列的例子:



这种排序方式是使用较少的一种方式。和按照字母序排列的方式类似,这种方式是按照样式定义的字符长度排列。排列的方式可以从长到短,也可以是从短到长。如下的例子将按照定义由长到短排列:


以上三种常见的CSS排序方式中,第一种最为合理,代码的可读性和可维护性也是最好的,但是规则相对复杂。其余两种方式规则简单,但仅仅是让代码看起来更整洁,并没有提高多少代码的可维护性。在实际的应用中,推荐使用第一种排列方式。

当然,如果纯粹是靠前端工程师在编写代码过程中按照一定的规则来排列CSS样式肯定是有难度的,并且也不方便频繁地修改代码。最佳的方式是在编写代码过程中按照最有效率的方式来编写,在编写完成并提交代码时使用工具给CSS排序。这样即提高了开发效率又方便了后续代码的阅读和维护。推荐一款免费的CSS排序工具:CSScomb 。CSScomb提供了在线工具及主流代码编辑器的插件。

CSScomb的排序方式类似如上的第一种方式,但是默认规则稍有不同,当然CSScomb容许开发者自定义排序方式。下面以WebStorm为例,演示CSScomb的使用方法以及效果对比。

下载的CSScomb工具包,根据教程安装插件到WebStorm,然后就可以直接使用CSScomb了。使用的方式也很简单,在CSS样式文件上点击右键选择CSScomb工具,如下图所示。

图 WebStorm编辑器中使用CSScomb插件

看看排序的实际效果。如下是排序前的代码片段:

图 示例样式代码片段

下图是排序后的代码片段。

图 示例样式代码经过CSScomb排序后的效果

可以看到,排序后,不只是样式定义的顺序改变,每个分组之间还用了一个空行分割。提高了CSS代码的可读性和可维护性。

CSScomb提供了大量的其他工具的集成解决方案,如grunt对应的有grunt-csscomb,sublime编辑器有对应的sublime-csscomb插件,等等。

最新文章
树莓派5B+AI_KIT基于hailo模块转换重新训练的YOLO模型
本篇主要分享树莓派5B+AI_KIT基于hailo模块转换重新训练的yolov8、yolov10模型(也即pt格式的模型转为hef格式的模型)过程中存在的坑和需要用到的步骤,关于训练和部署部分不做详细展开 hailo模块一般只能在Linux系
成都北大青鸟学校2025年招生简章|报名指南招生专业
成都北大青鸟学校2025年招生招生简章和招生专业等包括哪几个方面的状况呢,这种问题全是我们大家所关注的问题,针对这种大伙儿所关注问题,我们一起根据下面来实际掌握,期待可以对您有一定的协助!成都北大青鸟学校占地面积18.98平方千米,
Python如何爬取实时变化的WebSocket数据
作为一名爬虫工程师,在工作中常常会遇到爬取实时数据的需求,比如体育赛事实时数据、股市实时数据或币圈实时变化的数据。如下图:Web 领域中,用于实现数据’实时’更新的手段有轮询和 WebSocket 这两种。轮询指
SEO是什么意思:全面了解搜索引擎优化概念
SEO是什么意思:全面了解搜索引擎优化概念在现代社会中,互联网已经成为人们获取信息的重要渠道之一。无论是寻找产品、服务,还是获取知识和娱乐,人们往往会通过搜索引擎来满足自己的需求。然而,在海量的网页信息中,如何让自己的网站脱
武威百度爱采购运营公司
百度爱采购给商家带来了哪些优势:1、用户在百度首页搜索企业名称时,搜索结果首页会出现一张关于该企业的名片,上面有该企业的注册信息、经营范围和产品供应信息。百度名片可以帮助用户快速了解企业,增强信任,打造品牌,提升知名度。2、
百度蜘蛛池出租:深度解析搜狗收录蜘蛛池在SEO中的应用与优化策略
本文目录导读:搜狗收录蜘蛛池的原理搜狗收录蜘蛛池在SEO中的作用搜狗收录蜘蛛池的优化策略随着互联网的快速发展,搜索引擎优化(SEO)已经成为网站推广的重要手段之一,在众多搜索引擎中,搜狗以其独特的算法和庞大的用户群体,成为了众多
自己如何做SEO优化,有哪些步骤和技巧可以分享?
(搜索引擎优化)是指通过优化内容和结构,使网站在搜索引擎排名上得到更好的位置,从而引来更多的流量和销售机会。在当今互联网时代,SEO已经成为了非常重要的一环,它对于提升网站的可见性、增加品牌知名度以及扩大销售渠道等都有很大的
永磁同步电机出问题有故障(修复任何问题)20年大师傅
永磁同步电机出问题有故障(修复任何问题)20年大师傅公司从事伺服电机(马达)的维修工作很多年。永磁同步电动机以永磁体提供励磁,使电动机结构较为简单,降低了加工和装配费用,且省去了容易出问题的集电环和电刷,提高了电动机运行的可
广西高端网站建设/百度云网盘资源搜索
目录什么是爬虫编辑器的选择mac 操作简单爬虫代码一些轮子总结学习的链接尾声什么是爬虫爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。为什么是python?Python确实很适合做爬虫,丰富的第三方库十分强大ÿ
如何在市场波动中进行在线开户操作?这种操作策略有哪些风险和收益?
在市场波动中进行在线开户操作的要点与风险收益分析在市场波动期间进行在线开户,需要特别关注以下几点。一是平台的稳定性和安全性。选择那些具有强大技术支持和完善安全措施的平台,以保障个人信息和资金的安全。二是服务质量。优质的金融
相关文章
推荐文章
发表评论
0评