[SCSS/Mixin] 텍스트의 line-height로 되어 버리는 여백을 선두와 마지막 행만 제거
line-height로 선두와 끝도 여백이 들어가고
XD에서 이러한 여백이 설정되었다고 가정합니다.
라인간(line-height)은, 디자인에서는 문자 사이즈가 16px에 대해서 행간이 48px이므로行間48px÷文字16px=3
로 계산하고 line-height:3;
를 설정합니다.
여백(margin-top)은 50px를 설정.
그것이 여기
See the Pen line-height의 여백이 지네 by himeka223 ( 🌸 )
on CodePen.
디자인에 확실히 맞춘 것인데, 여백 엄청 열어 버리고 있습니다.
어리 석다.
이것은 line-height에 의해 선두와 끝도 여백이 들어가 버리고 있기 때문입니다.
최초의 디자인이 이런 느낌으로 만들어져 버리고 있습니다
그럼, 50px에서 line-height로 할 수 있어 버린 선두와 마지막 여백분을 끌어 잘 하면,,,
, , , 매번 그런 일 생각하고 있으면 초몹시입니다.
가장 강한 Mixin 찾기
어쩐지 어쩔 수 없을까 하고 찾고 있으면 이런 기사를 발견했습니다.
[CSS] 텍스트 요소의 선행만 line-height를 제거하고 꼭 맞는 스타일 시트의 기술 |
선행만 line-height로 만든 상위 공간을 제거하고 위쪽에 정렬되는 스타일시트 기술
@mixin lhCrop($line-height:$base-line-height, $capital-letter: 1) {
&::before {
content: '';
display: block;
height: 0;
width: 0;
margin-top: calc((#{$capital-letter} - #{$line-height}) * 0.5em);
}
}
정확히 내가 찾고 있던 것입니다!
기사에서는 어쨌든 어려운 이야기하지만, 나는 간단하게 사용하고 싶기 때문에,
우선 이 Mxin에서 사용해 보겠습니다!
간단히 설명하면
before 요소의 margin-top
에 지정된 네거티브 마진으로 line-height
로 되어 버린 선두행의 여백을 상쇄하고 있습니다!
상쇄 할 값은 calc
로 계산되며
1 - #{$line-height}) * 0.5em
$capital-letter
는 기본값은1
이며font-size=フォントの高さ
의 경우 (font-size의 75 % 높이의 글꼴 인 경우.75
)$line-heigh
는 인수로 설정된 텍스트의line-height
1.에서 2.를 가면 텍스트 1행분의, 위와 아래의 여백을 더한 수가 됩니다
3.× 0.5em
를 사용하여 위쪽 여백 수를 줄입니다 .
마이너스의 값이 되므로, 그대로 상쇄하고 있습니다!
약간 개선
이것이라면, 선행의 여백 밖에 상쇄해 주지 않기 때문에, 최종행도 여백을 after 요소로 깎아 버립니다.
게다가 overflow:hidden;
로 상쇄된 여백분을 컷**시킨다.
@mixin lhCrop($line-height:$base-line-height, $capital-letter: 1) {
overflow:hidden; //相殺した余白をカット
&::before {
content: '';
display: block;
height: 0;
width: 0;
margin-top: calc((#{$capital-letter} - #{$line-height}) * 0.5em);
}
&::after{
//最終行も取り除く
content: '';
display: block;
height: 0;
width: 0;
margin-top: calc((#{$capital-letter} - #{$line-height}) * 0.5em);
}
}
※ overflow:hidden;
로 컷한 것으로, 어딘가에서 하기 어려워질 것 같은 생각도 하지만, 우선 컷. (그렇게 되면 생각한다)
빨리 코드에 붙여 보겠습니다.
See the Pen Mixin lhCrop by himeka223 ( 🌸 )
on CodePen.
<script async=""src="https://static.codepen.io/assets/embed/ei.js"/>
예쁜 여백이 깨졌습니다!
아직 아직도 기사를 해독할 필요도 있지만, 일단은 이것으로 사용해 보겠습니다!
이것으로 조금이라도 코딩의 속도와 정밀도가 오르면 기쁩니다
Reference
이 문제에 관하여([SCSS/Mixin] 텍스트의 line-height로 되어 버리는 여백을 선두와 마지막 행만 제거), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/super-mana-chan/items/5fabaee9da4b02f0df7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)