SCSS mixins
- ๋ฅ์ง
- Development
- ๋ถ๋ฅ
- html/css
- ๋ฑ๋ก์ผ
์ ์ฉํ ๋ฏน์ค์ธ ํจ์๋ค์ ๊ธฐ๋กํด๋ ํ์๊ฐ ์์ด์ ์ด ํฌ์คํธ๋ก ๋์ดํด๋ณด๊ณ ์ ํ๋ค.
์ง์ ๋ง๋ ๊ฒ๋ ์๊ณ ๊ฐ์ ธ์จ๊ฑฐ์์ ๋ค๋ฌ์๊ฒ๋ ์๊ณ ํ๋ค.
linear gradient
์ ํ์ ๊ทธ๋ค์ด์ธํธ ๋ฐฐ๊ฒฝ์ ๋ง๋ ๋ค.
// linear gradient
@mixin linear-gradient($direction, $start, $end) {
background: -webkit-linear-gradient($direction, $start, $end);
background: -moz-linear-gradient($direction, $start, $end);
background: -o-linear-gradient($direction, $start, $end);
background: linear-gradient($direction, $start, $end);
}
div {
@include linear-gradient(to right, #fff, #000);
}
๊ฐ๋ก ์คํฌ๋กค ์บ๋ฌ์ (content carousel)
์ปจํ
์ธ ๋ฅผ ๊ฐ๋ก ์คํฌ๋กค ํํ๋ก ๊ตฌํํ๋ค.
ํน์ ์์น๋ก ๋ฌ๋ผ๋ถ๋ ํน์ฑ์ด ์์ผ๋ฉฐ ์บ๋ฌ์
๊ธฐ๋ฅ๊ณผ ์ ์ฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ํ์์ ๋์ฒ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ณ๊ฒ ์ฌ๋ผ์ด๋๋ฅผ ๊ตฌํํ๊ณ ์ ํ ๋ ํ์ํ๋ค.
// horizontal scroll for mobile
@mixin horizontal-scroll-wrap($padding-side:16px, $padding-bottom:16px) {
display: block;
padding-bottom: $padding-bottom;
margin: 0;
white-space: nowrap;
font-size: 0;
line-height: 0;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
-webkit-scroll-snap-type: x mandatory;
scroll-snap-type: x mandatory;
-webkit-scroll-padding-left: $padding-side;
scroll-padding-left: $padding-side;
}
@mixin horizontal-scroll-item($padding-side:16px, $padding-side-outer:null) {
@if $padding-side-outer == null {
$padding-side-outer: $padding-side;
}
position: relative;
display: inline-block;
margin-left: $padding-side;
padding: 0;
-webkit-scroll-snap-align: start;
scroll-snap-align: start;
vertical-align: top;
white-space: normal;
line-height: normal;
font-size: initial;
&:first-child {
margin-left: $padding-side-outer;
}
&:last-child {
margin-right: $padding-side-outer;
}
}
ul {
@include horizontal-scroll-wrap(16px, 16px);
li {
@include horizontal-scroll-item(16px, 16px);
}
}
0๊ฐ์ ๋๊ธ
๋ฑ๋ก๋ ๋๊ธ์ด ์์ต๋๋ค.