문단 내(inline)에 있는 글자의 상하 여백 설정

Q: 문단 안에 있는 글자에 여백을 주려고 하는데

좌우(margin-left, margin-right) 여백은 적용되지만 상하 여백이 적용되지 않습니다.

<p><span>문단 내 상하 여백</span> 문단 내 글자의 상하 여백 설정은 display:inline-block; 속성으로</p>

span {

color : #00F;

margin-right : 5em;

}

이렇게 margin-left, margin-right는 잘 적용되지요.

하지만 상하 마진을 주면 어떨까요?

span {

color : #00F;

margin-bottom : 5em;

margin-top : 5em;

}

상하 5em을 줬는데 아무 변화가 없습니다.

코드를 아무리 들여다 봐도 문제가 없는데 스타일이 적용되지 않지요.

이건 태그의 속성 때문입니다.

display 속성을 기준으로 보면 태그는 인라인 태그와 블럭 태그 2종류가 있어요.

블럭 태그는 <p>, <div>, <h1> 같은 태그고

인라인 태그는 <span>, <sub>, <b> 같은 태그입니다.

태그 종류만 봐도 둘의 차이가 무엇인지 파악되시나요?

블럭 태그는 독립적으로 사용할 수 있는 태그예요.

<p>본문</p> (O)

이렇게 사용할 수 있습니다.

인라인태그는 독립적으로 사용을 할 수 없어요.

<sub>아래첨자</sub> (X)

이렇게 쓰면 오류가 납니다.

반드시 블럭 태그 안에 써야합니다.

<p><sub>아래첨자</sub></p> (O)

진하게, 기울임, 밑줄 등 글자를 꾸미는 태그는 대부분 인라인 태그예요.

블럭 태그는 <div>처럼 블럭 안에 다시 블럭을 사용할 수 있는 태그와 불럭 안에 블럭을 넣을 수 없는 태그로 구분돼요.

<div><div><p>문단</p></div></div> (O)

div는 이렇게 태그 안에 여러개의 블럭 태그를 쓸 수 있습니다.

<h1><p>제목</p></h1> (X)

h1이나 p태그는 div처럼 블럭 태그지만 태그 안에 블럭 태그를 쓸 수 없습니다.

블럭태그와 인라인 태그를 설명하려는게 아니니 여기서 마무리 하고.

블럭 태그는 상하좌우 마진을 적용할 수 있습니다.

하지만 인라인 태그는 좌우 마진은 적용할 수 있지만 상하 마진은 적용할 수 없습니다.

왜?

그렇게 하기로 약속이 되어 있어서 그렇습니다.

블럭 태그와 인라인 태그는 기본 속성이 다르고 지정할 수 있는 속성도 다릅니다.

블럭 태그는 강제로 줄바꿈을 하지만 인라인 태그는 줄바꿈이 없지요.

이 외에도 블럭 태그 안에는 인라인 태그를 쓸 수 있지만, 인라인 태그 안에는 인라인 태그만 써야 하고

상하정렬(vertical-align)은 인라인 태그만 적용되고 블럭 태그는 쓸 수 없는 등의 여러가지 차이가 있습니다.

그럼 인라인 태그에 상하 정렬을 꼭 해야한다면 어떻게 할까요?

인라인 태그를 블럭태그로 만들어 주면 됩니다.

span {

color : #00F;

display : block;

margin-bottom : 5em;

margin-top : 5em;

}

이렇게 하면 span 태그는 블럭태그 속성을 갖게 됩니다.

하지만 블럭 태그는 강제 줄바꿈이 기본 속성이기 때문에 이런 문제가 생기지요.

줄바꿈은 없이 상하 여백을 주고 싶을 때,

다시 말해 블럭 속성이면서 인라인 속성을 함께 부여하고 싶을 때가 있을거예요.

그럴 때 inline-block 속성을 사용할 수 있습니다.

span {

color : #00F;

display : inline-block;

margin-top : 5em;

margin-bottom : 5em;

}

inline-block 속성은 블럭 속성이기 때문에 margin을 적용할 수 있지만

inline 속성도 함께 갖고 있어 줄바꿈은 되지 않습니다.

display 속성은 여러개가 있습니다.

block, inline, inline-block, flex, grid, lint-item 등 다양합니다.

전자책 만들 때 display 속성 사용 빈도도 아주 높습니다.

잘 활용하면 제작 시간을 단축하고 다양한 스타일을 만들 수 있습니다.

설정

트랙백

댓글