整理推荐的CSS属性书写顺序

本文深入探讨了CSS样式属性的使用顺序与细分领域,包括显示属性、自身属性、文本属性等,通过怿飞’sBlog与AndyFord的视角,详细阐述了CSS样式的解析过程与规则,提供了一个全面的CSS样式应用指南。

一. Mozilla 建议CSS规则

/* Suggested order:
 * display
 * list-style
 * position
 * float
 * clear
 * width
 * height
 * margin
 * padding
 * border
 * background
 * color
 * font
 * text-decoration
 * text-align
 * vertical-align
 * white-space
 * other text
 * content
 *
 */

详情请看http://www.mozilla.org/css/base/content.css


二.怿飞’s Blog细分为:

/*显示属性*/
display
list-style
position
float
clear

/*自身属性*/
width
height
margin
padding
border
background

/*文本属性*/
color
font
text-decoration
vertical-align
white-space
ohter text
content
在怿飞’s Blog里有个叫做inG的补充说这还和浏览器的解析过程有关:浏览器先对DOM定位,然后解析自身属性,接着再解析内部对象。(没找到相关的英文资料,有知情者还望告知).


三. Andy Ford的细分

1.Display & Flow

2.Positioning

3. Dimensions

4. Margins, Padding, Borders, Outline

5. Typographic Styles

6. Backgrounds

7. Opacity, Cursors, Generated Content

 规则示例:

.cl {
    display: ;
    visibility: ;
    float: ;
    clear: ;
    
    position: ;
    top: ;
    right: ;
    bottom: ;
    left: ;
    z-index: ;
   
    width: ;
    min-width: ;
    max-width: ;
    height: ;
    min-height: ;
    max-height: ;
    overflow: ;

    margin: ;
    margin-top: ;
    margin-right: ;
    margin-bottom: ;
    margin-left: ;

    padding: ;
    padding-top: ;
    padding-right: ;
    padding-bottom: ;
    padding-left: ;

    border-width: ;
    border-top-width: ;
    border-right-width: ;
    border-bottom-width: ;
    border-left-width: ;

    border-style: ;
    border-top-style: ;
    border-right-style: ;
    border-bottom-style: ;
    border-left-style: ;

    border-color: ;
    border-top-color: ;
    border-right-color: ;
    border-bottom-color: ;
    border-left-color: ;

    outline: ;

    list-style: ;

    table-layout: ;
    caption-side: ;
    border-collapse: ;
    border-spacing: ;
    empty-cells: ;

    font: ;
    font-family: ;
    font-size: ;
    line-height: ;
    font-weight: ;
    text-align: ;
    text-indent: ;
    text-transform: ;
    text-decoration: ;
    letter-spacing: ;
    word-spacing: ;
    white-space: ;
    vertical-align: ;
    color: ;

    background: ;
    background-color: ;
    background-image: ;
    background-repeat: ;
    background-position: ;

    opacity: ;

    cursor: ;

    content: ;
    quotes: ;
}
详情可见http://fordinteractive.com/2009/02/order-of-the-day-css-properties/




### VSCode 中配置 CSS 属性顺序自动格式化的设置 在 Visual Studio Code (VSCode) 中实现 CSS 属性按特定顺序自动格式化,可以通过安装并配置合适的插件来完成。以下是具体的方法: #### 方法一:使用 CSSComb 插件 CSSComb 是一款专门用于整理 CSS 代码风格的工具。通过该插件可以定义属性书写的优先级和顺序。 1. **安装插件** 打开 VSCode 的扩展市场,搜索 `CSScomb` 并安装对应的插件[^1]。 2. **创建配置文件** 创建 `.csscomb.json` 文件或者全局配置文件(通常位于用户的主目录下)。以下是一个典型的配置示例: ```json { "sort": true, "order": [ "display", "position", "float", "clear", "visibility", "overflow", "z-index" ] } ``` 3. **启用格式化功能** 设置默认格式化程序为 CSSComb。打开 `settings.json` 或者通过 GUI 进入设置页面,添加如下内容: ```json "editor.defaultFormatter": "mrmlnc.vscode-csscomb", "[css]": { "editor.formatOnSave": true }, "[scss]": { "editor.formatOnSave": true }, "[less]": { "editor.formatOnSave": true } ``` 上述配置会使得每次保存文件时触发格式化操作。 --- #### 方法二:利用 Stylelint 和 stylelint-config-rational-order 如果希望更严格地控制 CSS 声明的顺序以及语法规范,则可以选择基于 Linter 的解决方案——Stylelint 及其配套规则集。 1. **安装必要的依赖项** 使用 npm 安装相关模块至项目中: ```bash npm install --save-dev stylelint stylelint-config-standard stylelint-config-recommended-scss stylelint-config-rational-order ``` 2. **编写 .stylelintrc.js 配置文件** 下面是一份基础样例配置文件的内容: ```javascript module.exports = { extends: ['stylelint-config-standard', 'stylelint-config-recommended-scss', 'stylelint-config-rational-order'], rules: {} }; ``` 3. **集成到 VSCode 工作流** 同样需要指定 Stylelint 成为默认格式器,并开启保存时自动修复的功能: ```json "editor.codeActionsOnSave": { "source.fixAll.stylelint": true }, "editor.defaultFormatter": "esbenp.prettier-vscode", // 如果 Prettier 支持 Stylelint 则可选此作为辅助 "[css]": { "editor.formatOnSave": true } ``` 注意:上述方式可能要求额外安装支持 Stylelint 功能的扩展,比如官方推荐的 `vscode-stylelint`[^2]。 --- #### 解决保存后意外格式化的问题 有时即使设置了自定义格式化方案,仍可能出现不期望的行为。此时需排查是否有其他冲突性的插件干扰正常流程。例如,“JS-CSS-HTML Formatter” 被报告可能导致此类现象发生;因此建议将其禁用后再尝试重新加载编辑器实例[^3]。 ```json { "extensions.ignoreRecommendations": false, "extensions.autoUpdate": true, } ``` 以上调整有助于确保仅保留目标格式化工具生效而屏蔽其余潜在影响因素。 --- ### 总结 无论是采用轻量级的 CSSComb 方案还是更为严谨全面的 Stylelint 生态体系,都能有效达成让 CSS 属性依据预设次序排列的目标。最终选择取决于个人偏好与团队协作需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值