SCSSのファイル分割【仮】
とりあえずで自分で考えた内容↓↓
調べたら違う構造が出てきたからこれは【仮】
SCSS構造
SCSS ー style.scss
ー page ー_header.scss
ー setting ー_color.scss
ー_font.scss
ー_breakpoints.scss
ポイント
・まずstyle.scssですべてのファイルを読み込むが、breakpointのmixinのための記述は別で記述する必要がある
@use "sass:map";
@mixin mq($breakpoint: lg) { @media #{map.get(breakpoints.$breakpoints,$breakpoint)} { @content; }
・各ページごとに使う変数を入れたファイルを読み込む&mixinのための記述が必要がある。
その際、ファイルの読み込みは一度ファイルから出てsettingのファイルを読み込むため@use "../setting/color";のように../を記述する必要がある
style.scssの記述例
@use "sass:map";
@use "setting/color";
@use "setting/font";
@use "setting/breakpoints";
@use "page/header";
@mixin mq($breakpoint: lg) {
@media #{map.get(breakpoints.$breakpoints,$breakpoint)} {
@content;
}
}
header.scss(他のpageも一緒)の記述例
@use "sass:map";
@use "../setting/color";
@use "../setting/font";
@use "../setting/breakpoints";
@mixin mq($breakpoint: lg) {
@media #{map.get(breakpoints.$breakpoints,$breakpoint)} {
@content;
}
}
font.scss (color等も同様)の記述例
// fonts
$main-fonts-ja: "Noto Sans JP", sans-serif;
$main-fonts-en: "Courgette", cursive;
$sub-fonts-ja: "Kiwi Maru", serif;
$sub-fonts-en: "Josefin Sans", serif;
breakpoints.scssの記述例
@use "sass:map";
// breakpoints
$breakpoints: (
"sm": "screen and (min-width:600px)",
"md": "screen and (min-width:768px) ",
"lg": "screen and (min-width:900px)",
"xl": "screen and (min-width:1200px)",
"xxl": "screen and (min-width:1700px)",
) !default;
この記事が気に入ったらサポートをしてみませんか?