学透CSS-如何组织你的CSS代码

举报
搞前端的半夏 发表于 2021/10/24 20:26:34 2021/10/24
【摘要】 前言今天在逛推特的时候看到了国外的一个大佬发的贴子,主要是介绍了如何管理自己的CSS代码。我觉得他的管理方法还是不错的。当然,每个公司,每个人的管理方式都是不一样的。大家可以借鉴,取他之长。补己之短。https://twitter.com/_georgemoller/status/1438168695176634374?s=05 文件夹划分按照不同的功能划分文件夹,例如组件样式,布局样式,...

前言

今天在逛推特的时候看到了国外的一个大佬发的贴子,主要是介绍了如何管理自己的CSS代码。我觉得他的管理方法还是不错的。当然,每个公司,每个人的管理方式都是不一样的。大家可以借鉴,取他之长。补己之短。

https://twitter.com/_georgemoller/status/1438168695176634374?s=05

文件夹划分

按照不同的功能划分文件夹,例如组件样式,布局样式,还有全局的变量。

  • CSS
    • base
      • reset.css
      • typography.css
    • components
      • buttons.css
      • dropdown.css
    • layout
      • navagation.css
    • utils
      • variables.css
    • vendors
      • bootstrap.min.scss
    • pages
      • login.css
      • contact.css

base

base主要存放reset文件以及一些文字排版的文件

reset.css

body{
    margin: 0;
    padding: 0;
}

ol,ul{
    list-style: none;
}

a{
    text-decoration: none;
}

typography.css


h1{
    font-size: 4.4rem;
}
h2{
    font-size: 2.6rem;
}
h3{
    font-size: 2.8rem;
}
h4{
    font-size: 1.2rem;
}
h5{
    font-size: 1rem;
}

component

这里主要存放跟组件(button,imputs,modals等等)相关的样式。
button.css

.btn{
    display: block;
    color: black;
    background-color: transparent;
}
.btn.disabled{
    pointer-events: none;
}

.btn-primary{
    background: blue;
    color: white;
}

dropdown.css

.dropdown{
    cursor: pointer;
    position: relative;
    display:inline-block;
    outline: none;
}

.dropdown .menu{
    cursor: auto;
    position: absolute;
    display: none;
    outline: none;
    
}

layout

这里主要存放网页中布局的主要式样,例如header,footer,navaigation,siderbar。

header.css

header{
    display: flex;
    padding: 1rem;
    font-size:2rem;
    line-height: 2rem;
    color: #000;
    background-color: #fff;
}

utils

这里主要存放全局的变量,共同的样式等等。

variables.css

:root{
    --color-blue:#od6efd;
    --font-primary:"inter" ,sans-serif;
    --font-big:2rem;
}

utils.css

.hidden{
    display: none;
}

.mt-5{
    margin-top: 5rem;
}

vendors 文件夹

这里主要存放第三方CSS库,例如bootstrap,Foundation等等。

pages 文件夹

这里存放对页面的特殊定义样式。
login.css

.login-form{
    display: flex;
    flex-direction: column;
    padding: 10rem 8rem;
    z-index:1;
}
.login-logo{
    height: 5rem;
    margin-bottom: 2rem;
    position: relative;
}

使用

可以在不同的文件中单独引用,也可以创建一个全局的css文件引入。
引入的时候要注意先后顺序,防止样式覆盖

main.css

@import './vendors/bootstrap.css';

@import './base/reset';
@import './base/typography.css';

@import './components/button.css';
@import './components/dropdown.css';

@import './utils/variables';
@import './utils/utils.css';
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。