SCSS
25525 ワード
ネストされたネスト
SCSSはサブ要素を重ねて簡単に造形することができる.
.container {
h1{
color: royalblue;
font-size:24px;
}
ul{
display:flex;
li{
font-size:12px;
}
}
}
1.ネスト属性
属性の入力は、親要素にサブ要素を埋め込むことで、同じネーミングスペースを簡単に使用することもできます.
.box{
font: {
weight: bold;
size: 10px;
family: sans-serif;
};
margin: {
top:10px;
left:20px;
};
padding: {
top:10px;
bottom:40px;
}
}
2.親選択プログラムを&参照します。
この範囲の選択者を意味します.
.list{
li{
&:last-child{
margin-left:0
}
}
}
フレームワークを作成する際に毒性と利便性を提供します.//font-size
.fs {
&-small {
font-size: 12px;
}
&-medium {
font-size: 14px;
}
&-large {
font-size: 16px;
}
}
//background-color
.bc {
&-dark {
background-color: #a8a8a8;
}
&-normal {
background-color: #daddad;
}
&-light {
background-color: #faa2af;
}
&-emphasis {
background-color: #f94855;
}
}
へんすう
SCSSは$(ドルID)で簡単に変数を適用できます.
$deepdark: black;
$dark: darkgrey;
$light: orange;
.container{
color:$deepdark;
h1{
color: $dark;
}
}
変数は宣言された範囲内で有効です.JavaScriptのscopeとは異なり、変更後の値は範囲外でも変更された値として適用されます.
$size: 200px; // 전체 범위
.container {
$size: 400px; // .container에서는 400px로 변경하여 사용
.item{
width: $size; // 400px
}
}
.box {
width: $size // $size는 계속 변경딘 400px로 사용된다.
}
さんじゅつえんざん
/
は、算術演算として使用するために、ショートカット属性を区切る記号として使用される.1.かっこまたは
2.数量に定価配布
3.calcの使用
.div {
width: 20px + 20px // 40px
height: 40px - 10px // 30px
margin: 30px / 2 //30px / 2 나누기는 적용되지 않음
font-size: 10px * 2 // 20px
}
// 나누기 적용 방법 1.
margin: (30px / 2) // 15px;
// 나누기 적용 방법 2.
$size: 30px;
margin: $size / 2 // 15px;
// 나누기 적용 방법 3.
margin: calc(30 / 2)px;
@mixin / @include
リサイクル可能なコードを生成することで、コード量を減らすことができます.
@mixin center{
display:flex;
justify-content: center;
align-items: center;
}
.container {
@include center;
.item{
@include center;
font-size: 18px;
}
}
@mixinのパラメータとパラメータの使用
@mixin d-flex($align:center){
display:flex;
justify-content: $align;
align-items: $align;
}
.container {
@include d-flex; // default parameter를 통해 자동 center로 정렬됨.
.item{
@include d-flex(flex-start);
font-size: 18px;
}
}
複素パラメータ、引数を受け入れることができます。
@mixin d-flex($horizon: center, $align: center, $color: #ff0){
display:flex;
justify-content: $horizon;
align-items: $align;
color: $color;
}
.container {
@include d-flex(center,flex-start,#daddad);
.item{
@include d-flex($align:flex-start,#f94855);
font-size: 18px;
}
}
キーワード引数は、引数の位置に関係なく特定のパラメータを指定します.ユーザーが望むパラメータのみを渡すことができます.
上記の制御例は.itemではキーワード引数が使用されています.
.item{
@include d-flex($align:flex-start,#f94855);
font-size: 18px;
}
SCSSの繰り返し文
変数名を指定しfrom~throughを使用
@for $i from 1 through 10 {
//scss의 보간 #{}
.box:nth-child(#{$i}){
width: 100px;
}
}
SCSSの関数
@mixin center{
display: flex;
justify-content: center;
align-items: center;
}
@function ratio($size, $ratio) {
@return $size * $ratio
}
.box {
$width: 100px;
width: $width;
height: ratio($width, 9/16); // 16:9의 비율을 쉽게 만들 수 있다.
@include center;
}
//@mixin은 코드의 모음, 함수는 반환된 결과를 나타낸다.
SCSSの組み込み関数
// mix() 첫번째 인수에 들어오는 색상과 2번째 인수를 섞어 새로운 색상을 만들어 반환한다.
.box{
background-color:mix($color, red)
}
// lighten(),darken() 첫번째 인수에 들어오는 색상을 2번째 인수만큼 밝게,어둡게 만들어 반환한다
.box{
background-color: lighten(#3533ff, 10%);
}
.box{
background-color: darken(#3533ff, 10%);
}
// darken, lighten은 버튼의 호버 효과에 유용하게 쓰인다.
.button:hover{
background-color: darken($color, 10%)
}
//grayscale() 회색으로 만들어준다
.box{
background-color: grayscale(#3533ff);
}
//invert() 색상을 반전시킨다
.box{
background-color: invert(#3533ff);
}
//rgba() 반투명하게 만들어준다. 표준보다 편리하여 유용하다
.box{
background-color: rgba($color, .5);
}
@each
// @mixin의 @content
@mixin left-top{
position:absolute;
top:0;
left:0;
@content;
}
.container {
width:100%;
height: 100px;
@include left-top;
}
// mixin에 @content를 작성하고 사용하는 요소에서 중괄호를 통해 속성을 추가할 수 있다.
.box{
@include left-top {
bottom: 0;
right: 0;
margin: auto;
}
}
Reference
この問題について(SCSS), 我々は、より多くの情報をここで見つけました https://velog.io/@tchaikovsky/SCSSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol