반응형
http://ofsilvers.hateblo.jp/entry/compass-sprite-mixins
백그라운드이미지 믹스인
http://stackoverflow.com/questions/5448044/sass-background-image-mixin
#1. 핸들러
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @mixin icon ($imgpath) { display: inline-block; background-image: url($imgpath); background-repeat: no-repeat; } {{#sprites}} @mixin {{name}}($device-pixel-ratio: 1) { background-position: ({{px.offset_x}}/$device-pixel-ratio) ({{px.offset_y}}/$device-pixel-ratio); width: ({{px.width}}/$device-pixel-ratio); height: ({{px.height}}/$device-pixel-ratio); background-size: ({{px.total_width}}/$device-pixel-ratio) auto; } {{/sprites}} | cs |
#2. 스프라이트 결과(_sprite.scss)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | @mixin icon ($imgpath) { display: inline-block; background-image: url($imgpath); background-repeat: no-repeat; } @mixin icon_2($device-pixel-ratio: 1) { background-position: (0px/$device-pixel-ratio) (0px/$device-pixel-ratio); width: (33px/$device-pixel-ratio); height: (25px/$device-pixel-ratio); background-size: (1280px/$device-pixel-ratio) auto; } @mixin mm($device-pixel-ratio: 1) { background-position: (0px/$device-pixel-ratio) (-35px/$device-pixel-ratio); width: (50px/$device-pixel-ratio); height: (50px/$device-pixel-ratio); background-size: (1280px/$device-pixel-ratio) auto; } @mixin travel2($device-pixel-ratio: 1) { background-position: (0px/$device-pixel-ratio) (-95px/$device-pixel-ratio); width: (1280px/$device-pixel-ratio); height: (960px/$device-pixel-ratio); background-size: (1280px/$device-pixel-ratio) auto; } | cs |
#3. scss 파일 에 적는 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | .icon { @include icon ('../img/sprite/sprite.png') } .gnb .list .icon_2 { @include icon_2; padding:20px; } @media (min-width: 767px) { .gnb .list .icon_2 { @include icon_2(2); padding:20px; } } | cs |
#4. css 컴파일 결과
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | .icon { display: inline-block; background-image: url("../img/sprite/sprite.png"); background-repeat: no-repeat; } .gnb .list .icon_2 { background-position: 0px 0px; width: 33px; height: 25px; background-size: 1280px auto; padding: 20px; } @media (min-width: 767px) { .gnb .list .icon_2 { background-position: 0px 0px; width: 16.5px; height: 12.5px; background-size: 640px auto; padding: 20px; } } | cs |
반응형
'sass' 카테고리의 다른 글
@include rfs($btn-font-size, --#{$prefix}btn-font-size); (0) | 2024.11.01 |
---|---|
사스 변수 오버라이드 (0) | 2024.10.17 |
부트스트랩 공통색상 변경 (2) | 2024.10.16 |
bourbon (사스 믹스인 버번) (0) | 2016.12.05 |
미디어쿼리를 사용한 사스 (0) | 2016.09.18 |