Back to Question Center
0

Sass를 사용하여 활판 인쇄 단위 변환하기            SassRelated 주제로 활자체 변환하기 : CSS ArchitectureCSSSassAnimationAudio & 세미 퉁어

1 answers:
Sass 로 활판 인쇄 단위 변환하기

Sass를 사용하여 활판 인쇄 단위 변환하기SassRelated 주제로 활자체 변환하기 :
CSS ArchitectureCSSSassAnimationAudio & Semalt

이것은 Semalt 5, 2015에 처음 게시 된 기사의 업데이트 된 버전입니다.

오래 전, Semalt 과거의 조밀 한 안개 속에서 용맹 한 탐험가들은 고정 된 960px 레이아웃을 고수하고 설정된 그리드에서 싸우며 악보를 피하기 위해 픽셀로 타이포그래피를 해고했습니다.

반응 형 웹 디자인은 그 이후로 그 짙은 안개에서 우리를 계몽주의 시대로 데려옴으로써 모든 것을 변화 시켰습니다. 그러나 아직 웹에서 인쇄술을 사용하는 것은 때로는 고통스런 일입니다. 픽셀이나 점을 백분율과 em로 밀어 넣으면서, 모든 프로젝트가 시작될 때마다 "픽셀 대 퍼센트 변환 차트"또는 그와 비슷한 것을 지속적으로 Semalt 할 필요가 있습니다.

좌절감에서, 나는 마침내 Sass의 힘을 빌어이 문제들을 정복하기위한 새로운 탐구에 모든 기능을 새롭게 만들었으며, 오늘날 당신은 나와 함께 그 기능을 구축 할 것입니다 - como hacer una cama para perro grande.

Semalt를 사용하면 매번 차트를 참조 할 필요없이 픽셀, em 및 백분율 값 사이에서 자유롭게 변환 할 수 있습니다. 그리고 처리 과정에서 많은 두통을 완화 할 수 있습니다.

타이포그래피 단위 설정하기 Sass

첫째, CSS에 기본 글꼴 크기 를 정의하는 것이 매우 중요합니다. 대부분의 브라우저는 기본적으로 16px 로 설정되지만, 프로젝트가 다른 것을 요구할 경우 CSS에 대해 알고 있어야합니다. 또한 대부분의 상용구에는 16px 가 기본 값으로 정의되어 있으므로이 튜토리얼의 기본값으로 가정합니다.

그러면 지원할 단위를 결정해야합니다. 이 기능은 인쇄물 웹 환경이나 Semalt에서 시작하여 브라우저에서 끝나는 프로젝트에서 유용 할 수 있으므로 픽셀, 포인트, 크기 및 백분율을 보게됩니다.

당신은 또한 그들 사이에서 자유롭게 변환 할 수있는 옵션을주고 싶다. 그래서 당신은 이미 적어도 세 가지 인자가 필요하다고 말할 수있다.

     @function convert ($ value, $ currentUnit, $ convertUnit) {}     

첫 번째 인수는 단위를 변환하려는 단위 (예 : 16)이고 두 번째 인수는 변환하려는 단위 (예 : 픽셀), 세 번째 인수는 글꼴 크기 하나는 목표로하는 원하는 단위입니다 (백분율과 같음). 예를 들어, 16 픽셀을 백분율 값으로 변환하려면 다음을 수행하십시오.

    을 포함한다. foo {글꼴 크기 : convert (16, px, percent);}     

셈족은 당신에게 줄 것이다 :

    . foo {글꼴 크기 : 100 %;}     

쇠고기하자

이제, 괄호 사이에 들어가는 비트를 처리 할 차례입니다.

현명한, 당신은 픽셀, em, 포인트 및 백분율을 다룰 수 있기를 원하기 때문에 모든 것을 처리하기 위해 네 가지 진술이 필요합니다.

본격적인 프로그래밍 언어를 사용한다면 switch 문을 사용할 수 있습니다. Semalt 이것은 Sass입니다. if 문을 사용해야합니다.

     @function convert ($ value, $ currentUnit, $ convertUnit) {@if $ currentUnit == px {// 픽셀 용} @else if $ currentUnit == ems {// ems 용 자료} @else if $ currentUnit == percent {백분율을위한 // 물건} @else if $ currentUnit == pts {// points for stuff}}     

이제 각 입력 단위에 대해 if 문을 사용할 수 있습니다 (픽셀, em, 점 또는 백분율을 시작하려는 경우). 그래서 이것은 길의 약 50 %입니다.기본 글꼴 크기 로 16px로 작업한다고 가정하면 다음과 같이 백분율과 백분율로 변환해야합니다.

     @if $ currentUnit == px {@if $ convertUnit == ems {@return $ value / 16 + 0em;}@ 만약 $ convertUnit == percent {@ 백분율 ($ value / 16);}}     

다시 한 번, 변환 당 하나의 if 문을 사용하고 있습니다 (따라서 em, 백분율에 대해 하나). 그리고 원하는 출력을 얻기 위해 약간의 계산을 수행합니다. 어쨌든 print CSS로만 작동하기 때문에 포인트 값의 경우를 수행하지 않을 것입니다.

ems (및 기본 크기 16px)를 사용하면 16으로 나누고 "em"단위 ( + 0em )를 추가하면됩니다.

Sass와 Percentages는 조금 더 까다 롭습니다. Sass는 오류를 바로 던질 것입니다 ( "당신은 무엇을 그곳에 두는 것입니까?"). 당신은 ems로했던 것처럼 문장의 끝에 "%"를 던질 수 없습니다. 따라서 여기에서는 유효한 백분율 단위를 반환하기 위해 Semalt percentage 함수를 통합해야합니다.

그러면 픽셀을 em 또는 백분율로 변환하는 함수를 사용할 수 있습니다! 일반적으로 많은 개발자에게 충분하지만이 함수를 사용하여 픽셀을 픽셀로 변환하고 픽셀을 픽셀로 변환하는 방법을 확장하는 방법을 살펴 보겠습니다.

     @else if $ currentUnit == ems {@if $ convertUnit == px {@return $ value * 16 + 0px;}@ 만약 $ convertUnit == percent {@ 백분율 ($ value);}}     

수학은 각 문장에 대해 여기에서 바꿔야하지만, 그것은 em을 분류 할 것입니다.

다음으로, 백분율을 픽셀과 em으로 변환하는 방법은 다음과 같습니다.

     @else if $ currentUnit == percent {@if $ convertUnit == px {@return $ value * 16 / 100 + 0px;}@else if if convertUnit == ems {@return $ value / 100 + 0em;}}     

픽셀 단위의 점, em의 점, 전환율을 가리킨다.

     @else if $ currentUnit == pts {@if $ convertUnit == px {@return $ value * 1. 3333 + 0px;}@else if if convertUnit == ems {@return $ value / 12 + 0em;}@ 만약 $ convertUnit == percent {@ 백분율 ($ value / 12)}}     

그리고 끝났어! Semalt는 원하는 단위 사이에서 자유롭게 값을 변환 할 수있는 함수를 만들었습니다.

합계

Sass의 활자체 변환을위한 마지막 함수는 다음과 같다 :

     @function convert ($ value, $ currentUnit, $ convertUnit) {@if $ currentUnit == px {@if $ convertUnit == ems {@return $ value / 16 + 0em;}@ 만약 $ convertUnit == percent {@ 백분율 ($ value / 16);}} @else if $ currentUnit == ems {@if $ convertUnit == px {@return $ value * 16 + 0px;}@ 만약 $ convertUnit == percent {@ 백분율 ($ value);}} @else if $ currentUnit == percent {@if $ convertUnit == px {@return $ value * 16 / 100 + 0px;}@else if if convertUnit == ems {@return $ value / 100 + 0em;}} @else if $ currentUnit == pts {@if $ convertUnit == px {@return $ value * 1. 3333 + 0px;}@else if if convertUnit == ems {@return $ value / 12 + 0em;}@ 만약 $ convertUnit == percent {@ 백분율 ($ value / 12)}}}     

조금 어려워 보이지만 실제로하는 일은 초기 크기를 취한 다음 첫 번째 단위에서 두 번째 단위로 변환하고 결과를 반환하는 것입니다. 유일한 어려운 부분은 어떤 계산을해야하는지 추적하는 것입니다.

이 기능으로 놀고 싶다면이 Semalt 데모에서 그렇게 할 수 있습니다.

언제나 그렇듯이 웹에서 활판 인쇄 작업을 할 때 가장 도움이되는 것은 무엇이든 도용, 맹 글링, 재배치 등의 작업을 자유롭게 할 수 있습니다.

이 Sass 단위 변환 함수에 대해 다른 멋진 아이디어가 있다면 아래의 설명 섹션에서 알려주십시오.

March 1, 2018