Bulma의 멋진 SASS 스니펫 강조 표시
Being the awesome CSS framework that it is, Bulma has a very clean and structured SASS codebase. Let's dive in it and get some Sassy gems 💎 for ourselves.
Bulma는 현장에 처음 온 사람이든 노련한 전문가이든 누구에게나 추천하고 싶은 프레임워크입니다. 특히 학습 중인 경우SASS .
오늘 강조할 내용은 해당 항목에 없습니다documentation. 그러나 이 겸손하지만 견고한 CSS 프레임워크의 잠재력을 최대한 활용하려면 살펴보십시오.
⚠ 고개를 들어!
Bulma는 완전히 SASS로 작성되었습니다. SASS. 그래서 친절한 알림으로.
@mixin newMixin()
는 SASS에서 =newMixin()
와 같습니다.@include newMixin()
는 SASS에서 +newMixin()
와 같습니다.SASS는 세미콜론을 사용하지 않습니다
;
. SASS는 중괄호를 사용하지 않습니다
{}
. SASS는 중첩 대신 들여쓰기를 사용합니다. 정확해야 합니다.
I'm adding bits of information and annotations in the code, look for 📚 comments.
💎 입력을 위한 쉬운 자리 표시자
이 믹스인은 접두어가 있는 경우 실제로 필요하지 않지만
input
또는 textearea
의 자리 표시자를 신속하게 스타일 지정하는 멋진 방법입니다.=placeholder
$placeholders: ':-moz' ':-webkit-input' '-moz' '-ms-input'
@each $placeholder in $placeholders
&:#{$placeholder}-placeholder
@content
// 📚 Content passed to @include ends up where the @content directive is.
💎 더 쉬운 미디어 쿼리
구성 요소에 대한 특정 미디어 쿼리를 작성할 때 유용합니다.
=from($device)
@media screen and (min-width: $device)
@content
=until($device)
@media screen and (max-width: $device - 1px)
@content
Bulma에는 변수로 정의된 자체 중단점 세트가 있어 매우 구체적인 믹스인을 허용합니다.
=mobile
@media screen and (max-width: $tablet - 1px)
@content
=tablet
@media screen and (min-width: $tablet), print
@content
=tablet-only
@media screen and (min-width: $tablet) and (max-width: $desktop - 1px)
@content
// 📚 Content passed to @include ends up where the @content directive is.
💎 절대 요소 오버레이
div
? ::after
또는 ::before
입니까?=overlay($offset: 0)
bottom: $offset
left: $offset
position: absolute
right: $offset
top: $offset
다른 오프셋을 원할 경우에 대비하여 매개변수를 더 추가하여 혼합할 수 있습니다.
💎 어둡고 밝은 변형을 찾기 위한 색상 도우미 믹스인
colorLuminance는 색상의 휘도 수준을 0에서 1까지 결정합니다.
특히 이 기능은 라이브러리에서 내가 가장 좋아하는 기능 중 하나입니다.
@function colorLuminance($color)
@if type-of($color) != 'color'
// 📚 Checking if its an actual color. If not, returns .55
@return 0.55
$color-rgb: ('red': red($color),'green': green($color),'blue': blue($color))
// 📚 Grabs each RGB value for the color
@each $name, $value in $color-rgb
$adjusted: 0
$value: $value / 255
@if $value < 0.03928
$value: $value / 12.92
@else
$value: ($value + .055) / 1.055
$value: powerNumber($value, 2)
// 📚 Calculates amount of luminance for each color (RGB) and then stores it back in the variable.
$color-rgb: map-merge($color-rgb, ($name: $value))
@return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722)
// 📚 Sums up the RGB luminances together to get the $color's luminance.
findColorInvert는 이전에 정의된 함수
colorLuminance
의 도움으로 흰색 또는 검은색(ish)을 반환합니다. 이것은 @each
를 사용하여 프로그래밍 방식으로 구성 요소를 생성할 때 매우 유용합니다.@function findColorInvert($color)
@if (colorLuminance($color) > 0.55)
@return rgba(#000, 0.7)
@else
@return #fff
findLightColor는
lightness
함수를 사용하여 색상의 밝은 버전을 반환합니다. 주어진 색상은 특정 밝기 수준 미만이어야 합니다. 그렇지 않으면 함수가 동일한 색상을 반환합니다.@function findLightColor($color)
// 📚 Checks the type of the variable sent to the function
@if type-of($color) == 'color'
$l: 96%
// 📚 After defining a base lightness level ($l), checks if $color isn't above it already. Then proceeds to adjust the color.
@if lightness($color) > 96%
$l: lightness($color)
@return change-color($color, $lightness: $l)
// 📚 If its not a color, returns a variable Bulma has already declared before.
@return $background
findDarkColor는 주어진 색상의 더 어두운 버전을 반환합니다. 이 함수는 max 함수를 사용하여 항상 베이스와 함께 합니다.
@function findDarkColor($color)
// 📚 Checks the type of the variable sent to the function
@if type-of($color) == 'color'
$base-l: 29%
// 📚 After setting a base target of darkness ($base-l), gets the luminance of the color.
$luminance: colorLuminance($color)
$luminance-delta: (0.53 - $luminance)
$target-l: round($base-l + ($luminance-delta * 53))
// 📚 After doing some calculations, chooses the highest value between the target lightness ($target-l) and the base one defined previously.
@return change-color($color, $lightness: max($base-l, $target-l))
// 📚 If its not a color, returns a variable Bulma has already declared before.
@return $text-strong
👋 이별의 말
Bulma의 리포지토리를 통해 SASS를 많이 배우고 있다는 것을 알게 되었고 이 기사를 통해 여러분도 그렇게 되었기를 바랍니다!
여기에서 강조한 이 스니펫은 코드베이스의 일부에 불과하며I encourage you to use Bulma 다음에 CSS 프레임워크가 필요할 때입니다. 매우 잘 작성된 문서가 있으며 사용자 정의가 가능하며 오픈 소스입니다 ♥.
이 게시물이 마음에 드셨거나 어쨌든 유용하셨다면 댓글이나 반응으로 알려주세요. 또한 다른 인기 있는 CSS 프레임워크를 분석하고 싶다면 댓글에 어떤 프레임워크가 있는지 알려주십시오.
Reference
이 문제에 관하여(Bulma의 멋진 SASS 스니펫 강조 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nomade55/highlighting-awesome-sass-snippets-from-bulma-4nnm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)