个人技术站点JASONWU

Keep Coding


  • 主页

  • 文章

  • 搜索

Sass 7-1 Pattern

新建: 2021-06-03 编辑: 2021-06-22   |   分类: HTML & CSS   | 字数: 686 字

Sass 目录结构设计与 CSS(SCSS)实用代码。

Sass 7-1 Pattern

Text
 1sass/
 2|
 3|– abstracts/
 4|   |– _variables.scss   # Sass Variables
 5|   |– _functions.scss   # Sass Functions
 6|   |– _mixins.scss      # Sass Mixins
 7|   |– _helpers.scss     # Class & placeholders helpers
 8|
 9|– base/
10|   |– _animations.scss
11|   |– _base.scss
12|   |– _typograhy.scss
13|   |– _utilities.scss 
14|   ...                  # Etc…
15|
16|– components/
17|   |– _buttons.scss     # Buttons
18|   |– _carousel.scss    # Carousel
19|   |– _cover.scss       # Cover
20|   |– _dropdown.scss    # Dropdown
21|   ...                  # Etc…
22|
23|– layout/
24|   |– _navigation.scss  # Navigation
25|   |– _grid.scss        # Grid system
26|   |– _header.scss      # Header
27|   |– _footer.scss      # Footer
28|   |– _sidebar.scss     # Sidebar
29|   |– _forms.scss       # Forms
30|   ...                  # Etc…
31|
32|– pages/
33|   |– _home.scss        # Home specific styles
34|   |– _contact.scss     # Contact specific styles
35|   ...                  # Etc…
36|
37|– themes/
38|   |– _theme.scss       # Default theme
39|   |– _admin.scss       # Admin theme
40|   ...                  # Etc…
41|
42|– vendors/
43|   |– _bootstrap.scss   # Bootstrap
44|   |– _jquery-ui.scss   # jQuery UI
45|   ...                  # Etc…
46|
47`– main.scss             # Main Sass file

CSS(SCSS)实用代码

sass/abstracts/_variables.scss

Scss
1$color-grey: #e3e3e3;

sass/abstracts/_mixins.scss

Scss
 1// 清除浮动元素
 2@mixin clearfix {
 3  &::after {
 4    content: '';
 5    display: table;
 6    clear: both;
 7  }
 8}
 9
10// Electron App,不可选中
11@mixin no-selection {
12  user-select: none;
13}
14
15// Electron App,禁止拖拽
16@mixin no-drag {
17  -webkit-user-drag: none;
18}
19
20// 将黑色 SVG 图片内容转换为白色
21@mixin filter-white {
22  filter: invert(100%);
23}
24
25// 绝对定位下的垂直居中
26@mixin absoluteCenter {
27  position: absolute;
28  left: 0;
29  right: 0;
30  margin: auto;
31  z-index: 1;
32}

sass/abstracts/_helpers.scss

Scss
1// 隐藏元素
2.hidden {
3  display: none !important;
4}

sass/base/_base.scss

Scss
 1@use '../abstracts/mixins' as *;
 2
 3*,
 4*::after,
 5*::before {
 6  margin: 0;
 7  padding: 0;
 8  box-sizing: inherit;
 9}
10
11html {
12  font-size: 10px / 16px * 100%; // 定义 1rem = 10px
13}
14
15body {
16  font: caption; // Electron App,使用系统字体
17  font-size: 1.6rem;
18  box-sizing: border-box;
19}
20
21img {
22  @include no-drag; // Electron App,防止图标可被拖拽
23}

sass/components/_widgets.scss

Scss
 1@use '../abstracts/variables' as *;
 2@use '../abstracts/mixins' as *;
 3
 4// 可在内容区中自定义长度的竖线
 5.vertical_bar {
 6  float: right;
 7  border-right: .1rem solid $color-grey;
 8  height: 100%;
 9}
10
11// 可在内容区中自定义长度的横线
12// 父级容器 `position: relative`
13.horizontal_bar {
14  position: absolute;
15  bottom: 0;
16  border-bottom: .1rem solid $color-grey;
17  width: 100%;
18  z-index: 0;
19}
20
21// 带箭头的提示框
22.tooltip {
23  position: relative;
24
25  .tip {
26    @include absoluteCenter;
27
28    display: none;
29    width: 12.5rem;
30    padding: .5rem;
31    background: black;
32    color: white;
33
34    &:before {
35      content: '';
36      display: block;
37      width: 0;
38      height: 0;
39      border-left: .8rem solid transparent;
40      border-right: .8rem solid transparent;
41      border-bottom: .8rem solid black;
42      transform: translateY(-1.5rem);
43
44      @include absoluteCenter;
45      top: 1rem;
46    }
47  }
48
49  &:hover .tip {
50    display: block;
51  }
52}

sass/_main.scss

Scss
1@use './abstracts/helpers';
2
3@use './base/base';
4
5@use 'components/widgets';
#Sass#

文章:Sass 7-1 Pattern

链接:https://www.wuxianjie.net/posts/css-sass/

作者:吴仙杰

文章: 本博客文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议,转载请注明出处!

Electron 悬浮窗
JavaScrip OOP:ES6 Class
  • 文章目录
  • 站点概览
吴仙杰

吴仙杰

🔍 Ctrl+K / ⌘K

27 文章
9 分类
25 标签
邮箱 GitHub
  • Sass 7-1 Pattern
  • CSS(SCSS)实用代码
© 2021-2025 吴仙杰 保留所有权利 All Rights Reserved
浙公网安备 33010302003726号 浙ICP备2021017187号-1
0%