【Nuxt.js】Stylus에서 Breakpoint를 효율적으로 쓰자
아래에 그 절차를 소개합니다.
우선 디자인 템플릿에 Vuetify를 도입하고 있으므로 이쪽을 참고로 설정을 해 나갑니다.
(이쪽은 사용의 프레임워크나 이용의 Breakpoint에 맞추어 주세요.)
htps : // / 에치 fyjs. 코 m / 엔 / 쿠 s와 미자치 온 / b 레아 k 포인 ts
기존 CSS
@media screen and (max-width: 600px) {
color: red;
}
Stylus에서 쓰는 법
Stylus에서도 거의 변함없이 태그를 생략할 정도밖에 차이가 없습니다.
@media screen and (max-width: 600px) {
color red
}
block mixin 사용
Stylus에서는 + 접두사를 붙여 mixin을 호출 블록에 전달할 수 있습니다.
Sass 에서는 필요했던 @mixin 이나 @include 의 표기가 불필요합니다.
hover() {
&:hover, &:active {
{block}
}
}
+hover() {
text-decoration: underline;
}
이것들을 응용하여 media query를 작성해 갑니다.
변수 설정
우선은 변수용의 stylus 파일을 작성해, Vuetify의 breakpoint의 숫자를 넣어 갑니다.
_variables.styl
small = 600px
midium = 960px
large = 1264px
xlarge = 1904px
mixins로 설정
다음에 mixin용의 파일을 준비해 기입해 간다.
breakpoint-sm()
@media screen and (min-width: small)
{block}
breakpoint-md()
@media screen and (min-width: midium)
{block}
breakpoint-lg()
@media screen and (min-width: large)
{block}
breakpoint-xl()
@media screen and (min-width: xlarge)
{block}
추가 개선
breakpoint(breakpointNames)
for name in breakpointNames
if name == 'xm'
{block}
if name == 'sm'
@media only screen and (min-width: small)
{block}
if name == 'md'
@media only screen and (min-width: midium)
{block}
if name == 'lg'
@media only screen and (min-width: large)
{block}
if name == 'xl'
@media only screen and (min-width: xlarge)
{block}
사용하는 style에 쓴다
각각의 폭에 맞는 것에 써 갑니다.
style.styl
.contents
padding 0px
+breakpoint(xl)
padding 10px
+breakpoint(sm)
padding 20px
+breakpoint(md)
padding 30px
+breakpoint(lg)
padding 40px
+breakpoint(xl)
padding 40px
컴파일
컴파일되면 이와 같은 결과가 됩니다.
style.css
.contents {
padding: 0px;
}
@media only screen and (min-width: 600px) {
.box {
padding: 10px;
}
}
@media only screen and (min-width: 960px) {
.box {
padding: 20px;
}
}
@media only screen and (min-width: 1264px) {
.box {
padding: 30px;
}
}
@media only screen and (min-width: 1904px) {
.box {
padding: 40px;
}
}
Reference
이 문제에 관하여(【Nuxt.js】Stylus에서 Breakpoint를 효율적으로 쓰자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hiroyukiwk/items/9eb4135649f89e0e05a1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)