: after를 사용하여 요소 뒤에 공백 (“”) 추가


274

일부 내용 뒤에 공백을 추가하고 싶지만 content: " ";작동하지 않는 것 같습니다.

이것은 내 코드입니다.

h2:after {
    content: " ";
}

... 작동하지 않지만 다음과 같이 작동합니다.

h2:after {
    content: "-";
}

내가 뭘 잘못하고 있죠?


2
예상 결과를 이해하지 못합니다. 을 padding사용하여 추가하려고합니다 content. 공간이 추가되었는지 알 수없는 것 같습니다.
fncomp

2
그것은 이상한 질문입니다. 당신은 공간을 추가 하기 위해 패딩 을 사용해야하며 content : after 는 아마도 display : inline과 display : block 사이의 차이점에 대해 알지 못합니까?
Littlemad

콘텐츠를 통해 패딩을 추가하려고합니다.
bradley.ayers

2
이 방법을 사용하여 공백을 추가하면 overflow: hidden블록 요소가 기울임 꼴 텍스트의 마지막 문자의 마지막 몇 픽셀을 잘릴 때 유용 합니다. 이 경우 패딩은 도움이되지 않습니다.
Joe Waller

3
패딩은 공간을 밑줄로 표시하려는 경우 도움이되지 않습니다 text-decoration: underline;.
dmitry_romanov

답변:


142

설명

코드가 공백을 삽입한다는 점은 주목할 가치가 있습니다.

h2::after {
  content: " ";
}

그러나 즉시 제거됩니다.

에서 익명 인라인 박스 ,

이후 'white-space'속성에 따라 축소되는 공백 내용은 익명 인라인 상자를 생성하지 않습니다.

그리고에서 '공백'모델을 처리 ,

줄 끝의 공백 (U + 0020)에 '공백'이 '보통', '지금 줄'또는 '사전 줄'로 설정되어 있으면 제거됩니다.

해결책

그래서 당신은 공간을 설정, 제거하지 않으려는 경우 white-spacepre또는 pre-wrap.

h2 {
  text-decoration: underline;
}
h2.space::after {
  content: " ";
  white-space: pre;
}
<h2>I don't have space:</h2>
<h2 class="space">I have space:</h2>

비 공백 공백을 사용하지 마십시오 (U + 00a0). 단어 사이의 줄 바꿈을 방지해야합니다. 그것들은 축소가 불가능한 공간으로 사용되어서는 안되며 의미가 없습니다.


3
white-spaceiE11 또는 Edge에서 지원되지 않는 것 같습니다 ( caniuse.com/#search=white-space 참조 ). 사용자 bradley.ayers의 답변이 더 낫습니까? (모름, 줄 바꿈 동작과 같은 다른 측면이 있는지 모르겠습니다)
chimos

561

이스케이프 된 유니 코드를 통해 지정해야합니다. 이 질문 은 관련 이 있으며 답변 이 포함되어 있습니다.

해결책:

h2:after {
    content: "\00a0";
}

64
이것이 비 브레이크 링 공간을 추가한다는 점은 가치가 없습니다. 일반 공간을 원하면 "\ 00A0"대신 "\ 0020"이 필요합니다.
Offlein

4
일반 공간을 추가해도 아무런 효과가 없다는 점에 주목할 가치가 있습니다. 이 텍스트와 이전 요소 사이에 공백이 없으면 추가되지 않습니다. 정상적인 공간은 그 자체로 붕괴됩니다.
mheim

2
@Offlein은 '\ 0020'을 별도의 답변으로 추가하십시오. Font Awesome과 같은 일부 글꼴 \00A0은 공백을 표시 할 수 없으며 패딩을 사용할 수없는 전후에 요소 사이 에 공백을 원할 경우
Mousey

이미 콘텐츠에있는 무언가 뒤에 공백을 어떻게 추가합니까?
vsync

2
@ FrançoisDupont,이 변경 사항을 설명하는 자료가 있습니까?
isherwood

9

인라인 블록 컨테이너를 사용하여 워크 플로 타임 라인에 일련의 개별 이벤트를 표시하기 때문에 패딩 대신이 기능이 필요했습니다. 타임 라인의 마지막 이벤트에는 그 뒤에 화살표가 필요하지 않았습니다.

다음과 같이 끝났습니다.

.transaction-tile:after {
  content: "\f105";
}

.transaction-tile:last-child:after {
  content: "\00a0";
}

gt (쉐브론) 캐릭터에 fontawesome을 사용했습니다. 어떤 이유로 든 "content : none;" 마지막 타일에서 정렬 문제가 발생했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.