フロントエンドスクール-19日目
4381 ワード
Sass
Sassとは?
CSSフロントプロセッサとしてのCSSフロントプロセッサ.ブラウザはCSSしか実行できないため、直接Sassを実行することはできません.SassはCSSの構文と似ていますが、ネストや条件文の繰り返し文単位演算などのプログラミング言語を使用できます.ただし、Web上では直接実行されないため、CSSにコンパイルして使用することができます.
SassとSCSSの違い
セキュリティスタイルシートの3番目のバージョンでは、新しいSCSSはすべてのセキュリティ機能をサポートするCSSの親セットであり、CSS構文を完全に互換化するために新しい構文を導入しています.すなわち,SCSSはCSSとほぼ同じ構文でSass機能をサポートする.
違いは、Sassは{}(カッコ)と;省略(セミコロン)、SCSSは{}和;(セミコロン)CSSを受け入れます.
Sassのコンパイル方法
Sass構文をCSSに変換する操作.node js、SassMeister、Gulpなどにコンパイルできます.
SassMeister
SassMeisterのWebサイトでSass/CSS構文をリアルタイムでCSS構文に変換
Parcel
WebアプリケーションバンドルパッケージParcelはコンパイルを簡略化
へんすう
繰り返し使用する値を変数として指定できます.変数名の前には常に$が加算されます.$변수이름: 속성값;
SCSS
$color-code: #000;
$url: "/common/images/";
$w: 200px;
.wrap {
color: $color-code;
background-image: $url;
width: $w;
}
Compiled to
.wrap {
color: #000;
background-image: "/common/images/";
width: 200px;
}
オーバーラップ
SASSはオーバーラップ機能を使用できます.上位選択者の重複を回避し、複雑な構造をより容易に作成できます.
SCSS
.wrap {
width: 100%;
.list {
padding: 20px;
li {
color: red;
}
}
}
Compiled to
.wrap {
width: 100%;
}
.wrap .list {
padding: 20px;
}
.wrap .list li {
color: red;
}
インポート
CSSには、現在のファイルに別のCSSをロードする@importという属性があります.このプロパティを使用すると、意図的にコードを分割して効率的にメンテナンスできますが、@importと宣言されたCSSごとにhttpリクエストが発行されるため、Webページのパフォーマンスが低下したため、使用を禁止します.SASSにも@importがあり、他のファイルをマウントできます.CSSの@importとは異なり、複数のSASSファイルは@import時に最終的に1つのCSSにコンパイルされるため、コードを複数のファイルに分けて管理することができ、パフォーマンスに影響を与えることはありません.もちろん、@importファイルで定義した内容は親SASSファイルでも使用できます.// 작성 방법 : @import "파일명.scss" 또는 @import "파일명";
@import "reset";
@import "reset.scss";
えんざん
SASSは基本的な演算機能をサポートする.レイアウト作業では、状況に応じてサイズを計算したり、指定した値で作成したりするのに役立ちます.
算術演算子
比較演算子
論理演算子
@mixin
mixinでは、スタイルシート全体で再利用するCSS宣言グループを定義できます.@mixinは再利用するコンテンツを宣言する部分であり、@includeは@mixinで定義されたコンテンツを挿入、適用する部分である
@mixinの例
// SCSS문법
@mixin large-text {
font-size: 22px;
font-weight: bold;
font-family: sans-serif;
color: orange;
}
// Sass문법
=large-text
font-size: 22px
font-weight: bold
font-family: sans-serif
color: orange
@include
@mixinで宣言された部分.
@includeの使い方// SCSS문법
@include 믹스인이름;
// Sass문법
+믹스인이름
@includeの例// SCSS문법
h1 {
@include large-text;
}
div {
@include large-text;
}
// Sass문법
h1
+large-text
div
+large-text
@content
宣言されたMixinに@contentが含まれている場合は、このセクションで必要なスタイルブロックを渡すことができます.このようにして、既存のmixinが有する機能にセレクタや属性などを追加することができる.
SCSSの例
@mixin icon($url) {
&::after {
content: $url;
@content;
}
}
.icon1 {
// icon Mixin의 기존 기능만 사용
@include icon("/images/icon.png");
}
.icon2 {
// icon Mixin에 스타일 블록을 추가하여 사용
@include icon("/images/icon.png") {
position: absolute;
};
}
CSSコンパイル後
content: "/images/icon.png";
}
.icon2::after {
content: "/images/icon.png";
position: absolute;
}
@extend
場合によっては、特定の選択者が他の選択者のすべてのスタイルを持つ必要がある場合があります.李京雨@extendを利用してオブジェクトへの継承のように使える
@extendの使い方
@extend 선택자;
SCSSの例
.btn {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
@extend .btn;
background: red;
}
CSSコンパイル後
.btn, .btn-danger {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
background: red;
}
Reference
この問題について(フロントエンドスクール-19日目), 我々は、より多くの情報をここで見つけました
https://velog.io/@skdksldk2/프론트엔드스쿨-19일차
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
繰り返し使用する値を変数として指定できます.変数名の前には常に$が加算されます.
$변수이름: 속성값;
SCSS
$color-code: #000;
$url: "/common/images/";
$w: 200px;
.wrap {
color: $color-code;
background-image: $url;
width: $w;
}
Compiled to
.wrap {
color: #000;
background-image: "/common/images/";
width: 200px;
}
オーバーラップ
SASSはオーバーラップ機能を使用できます.上位選択者の重複を回避し、複雑な構造をより容易に作成できます.
SCSS
.wrap {
width: 100%;
.list {
padding: 20px;
li {
color: red;
}
}
}
Compiled to
.wrap {
width: 100%;
}
.wrap .list {
padding: 20px;
}
.wrap .list li {
color: red;
}
インポート
CSSには、現在のファイルに別のCSSをロードする@importという属性があります.このプロパティを使用すると、意図的にコードを分割して効率的にメンテナンスできますが、@importと宣言されたCSSごとにhttpリクエストが発行されるため、Webページのパフォーマンスが低下したため、使用を禁止します.SASSにも@importがあり、他のファイルをマウントできます.CSSの@importとは異なり、複数のSASSファイルは@import時に最終的に1つのCSSにコンパイルされるため、コードを複数のファイルに分けて管理することができ、パフォーマンスに影響を与えることはありません.もちろん、@importファイルで定義した内容は親SASSファイルでも使用できます.// 작성 방법 : @import "파일명.scss" 또는 @import "파일명";
@import "reset";
@import "reset.scss";
えんざん
SASSは基本的な演算機能をサポートする.レイアウト作業では、状況に応じてサイズを計算したり、指定した値で作成したりするのに役立ちます.
算術演算子
比較演算子
論理演算子
@mixin
mixinでは、スタイルシート全体で再利用するCSS宣言グループを定義できます.@mixinは再利用するコンテンツを宣言する部分であり、@includeは@mixinで定義されたコンテンツを挿入、適用する部分である
@mixinの例
// SCSS문법
@mixin large-text {
font-size: 22px;
font-weight: bold;
font-family: sans-serif;
color: orange;
}
// Sass문법
=large-text
font-size: 22px
font-weight: bold
font-family: sans-serif
color: orange
@include
@mixinで宣言された部分.
@includeの使い方// SCSS문법
@include 믹스인이름;
// Sass문법
+믹스인이름
@includeの例// SCSS문법
h1 {
@include large-text;
}
div {
@include large-text;
}
// Sass문법
h1
+large-text
div
+large-text
@content
宣言されたMixinに@contentが含まれている場合は、このセクションで必要なスタイルブロックを渡すことができます.このようにして、既存のmixinが有する機能にセレクタや属性などを追加することができる.
SCSSの例
@mixin icon($url) {
&::after {
content: $url;
@content;
}
}
.icon1 {
// icon Mixin의 기존 기능만 사용
@include icon("/images/icon.png");
}
.icon2 {
// icon Mixin에 스타일 블록을 추가하여 사용
@include icon("/images/icon.png") {
position: absolute;
};
}
CSSコンパイル後
content: "/images/icon.png";
}
.icon2::after {
content: "/images/icon.png";
position: absolute;
}
@extend
場合によっては、特定の選択者が他の選択者のすべてのスタイルを持つ必要がある場合があります.李京雨@extendを利用してオブジェクトへの継承のように使える
@extendの使い方
@extend 선택자;
SCSSの例
.btn {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
@extend .btn;
background: red;
}
CSSコンパイル後
.btn, .btn-danger {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
background: red;
}
Reference
この問題について(フロントエンドスクール-19日目), 我々は、より多くの情報をここで見つけました
https://velog.io/@skdksldk2/프론트엔드스쿨-19일차
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
.wrap {
width: 100%;
.list {
padding: 20px;
li {
color: red;
}
}
}
.wrap {
width: 100%;
}
.wrap .list {
padding: 20px;
}
.wrap .list li {
color: red;
}
// 작성 방법 : @import "파일명.scss" 또는 @import "파일명";
@import "reset";
@import "reset.scss";
SASSは基本的な演算機能をサポートする.レイアウト作業では、状況に応じてサイズを計算したり、指定した値で作成したりするのに役立ちます.
算術演算子
比較演算子
論理演算子
@mixin
mixinでは、スタイルシート全体で再利用するCSS宣言グループを定義できます.@mixinは再利用するコンテンツを宣言する部分であり、@includeは@mixinで定義されたコンテンツを挿入、適用する部分である
@mixinの例
// SCSS문법
@mixin large-text {
font-size: 22px;
font-weight: bold;
font-family: sans-serif;
color: orange;
}
// Sass문법
=large-text
font-size: 22px
font-weight: bold
font-family: sans-serif
color: orange
@include
@mixinで宣言された部分.
@includeの使い方// SCSS문법
@include 믹스인이름;
// Sass문법
+믹스인이름
@includeの例// SCSS문법
h1 {
@include large-text;
}
div {
@include large-text;
}
// Sass문법
h1
+large-text
div
+large-text
@content
宣言されたMixinに@contentが含まれている場合は、このセクションで必要なスタイルブロックを渡すことができます.このようにして、既存のmixinが有する機能にセレクタや属性などを追加することができる.
SCSSの例
@mixin icon($url) {
&::after {
content: $url;
@content;
}
}
.icon1 {
// icon Mixin의 기존 기능만 사용
@include icon("/images/icon.png");
}
.icon2 {
// icon Mixin에 스타일 블록을 추가하여 사용
@include icon("/images/icon.png") {
position: absolute;
};
}
CSSコンパイル後
content: "/images/icon.png";
}
.icon2::after {
content: "/images/icon.png";
position: absolute;
}
@extend
場合によっては、特定の選択者が他の選択者のすべてのスタイルを持つ必要がある場合があります.李京雨@extendを利用してオブジェクトへの継承のように使える
@extendの使い方
@extend 선택자;
SCSSの例
.btn {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
@extend .btn;
background: red;
}
CSSコンパイル後
.btn, .btn-danger {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
background: red;
}
Reference
この問題について(フロントエンドスクール-19日目), 我々は、より多くの情報をここで見つけました
https://velog.io/@skdksldk2/프론트엔드스쿨-19일차
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// SCSS문법
@mixin large-text {
font-size: 22px;
font-weight: bold;
font-family: sans-serif;
color: orange;
}
// Sass문법
=large-text
font-size: 22px
font-weight: bold
font-family: sans-serif
color: orange
@mixinで宣言された部分.
@includeの使い方
// SCSS문법
@include 믹스인이름;
// Sass문법
+믹스인이름
@includeの例// SCSS문법
h1 {
@include large-text;
}
div {
@include large-text;
}
// Sass문법
h1
+large-text
div
+large-text
@content
宣言されたMixinに@contentが含まれている場合は、このセクションで必要なスタイルブロックを渡すことができます.このようにして、既存のmixinが有する機能にセレクタや属性などを追加することができる.
SCSSの例
@mixin icon($url) {
&::after {
content: $url;
@content;
}
}
.icon1 {
// icon Mixin의 기존 기능만 사용
@include icon("/images/icon.png");
}
.icon2 {
// icon Mixin에 스타일 블록을 추가하여 사용
@include icon("/images/icon.png") {
position: absolute;
};
}
CSSコンパイル後
content: "/images/icon.png";
}
.icon2::after {
content: "/images/icon.png";
position: absolute;
}
@extend
場合によっては、特定の選択者が他の選択者のすべてのスタイルを持つ必要がある場合があります.李京雨@extendを利用してオブジェクトへの継承のように使える
@extendの使い方
@extend 선택자;
SCSSの例
.btn {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
@extend .btn;
background: red;
}
CSSコンパイル後
.btn, .btn-danger {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
background: red;
}
Reference
この問題について(フロントエンドスクール-19日目), 我々は、より多くの情報をここで見つけました
https://velog.io/@skdksldk2/프론트엔드스쿨-19일차
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
@mixin icon($url) {
&::after {
content: $url;
@content;
}
}
.icon1 {
// icon Mixin의 기존 기능만 사용
@include icon("/images/icon.png");
}
.icon2 {
// icon Mixin에 스타일 블록을 추가하여 사용
@include icon("/images/icon.png") {
position: absolute;
};
}
content: "/images/icon.png";
}
.icon2::after {
content: "/images/icon.png";
position: absolute;
}
場合によっては、特定の選択者が他の選択者のすべてのスタイルを持つ必要がある場合があります.李京雨@extendを利用してオブジェクトへの継承のように使える
@extendの使い方
@extend 선택자;
SCSSの例
.btn {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
@extend .btn;
background: red;
}
CSSコンパイル後
.btn, .btn-danger {
padding: 10px;
margin: 10px;
background: blue;
}
.btn-danger {
background: red;
}
Reference
この問題について(フロントエンドスクール-19日目), 我々は、より多くの情報をここで見つけました https://velog.io/@skdksldk2/프론트엔드스쿨-19일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol