탭 문자를 얻는 방법?


123

HTML에는 탭에 대한 문자가 없지만 여기에 문자를 복사하여 붙여 넣을 수있는 이유가 혼란 스럽습니다.. (전체 너비는 볼 수 없지만 질문을 편집하기 위해 클릭하면 문자가 표시됩니다.) 탭 문자를 복사하여 붙여 넣을 수 있으면 html로 코딩 할 수있는 유니 코드에 해당하는 코드가 있어야합니다. . 나는 그것이 존재하지 않는다는 것을 알고 있지만 이것은 내가 결코 파악할 수 없었던 수수께끼입니다.

그래서 내 질문은 : 복사하여 붙여 넣을 수 있어도 탭에 유니 코드 문자가없는 이유는 무엇입니까?


7
다음은 탭 문자입니다. "". 다른 캐릭터가 필요하면 문자 만 보내주세요! 공백, 대시 및 그리스 문자도 있습니다!
madhead

Unix에서 : Ctrl + Shift + U를 누른 다음 9는 들여 쓰기 문자입니다.
neverMind9

StackOverflow는 질문이나 답변보다 더 심각하게 주석 텍스트를 뭉칩니다. ``, ''및 "" 다양한 방식으로 인용 된 TAB 문자 붙여 넣었습니다.
MarkHu

답변:


165

물론 탭에 대한 엔터티가 있습니다.

	

(탭은 ASCII 문자 9 또는 유니 코드 U + 0009입니다.)

그러나 리터럴 탭 (텍스트 편집기에 입력 하는 탭 )과 마찬가지로 모든 탭 문자는 HTML 파서에 의해 공백으로 처리되고<pre> 블록 내의 문자를 제외하고 단일 공백으로 축소됩니다. 여기서 리터럴 탭은 8 개의 공백 으로 렌더링됩니다 . 고정 폭 글꼴.


1
흥미롭지 만 유니 코드 문자라면 html은 그것을 전혀 변경 (축소)해서는 안됩니까?
수도원 Graebner

2
유니 코드에는 자체 탭 문자가 없습니다. U + 0009는를 눌러 얻는 탭 문자와 동일합니다 Tab. (난 당신이 유니 코드 문자 집합을 HTML 엔티티를 혼란 것 같아요.)
josh3736

9
더 일반적으로 & # 9; CSS 스타일 white-space : pre; 처럼 jsfiddle.net/cancerbero_sgx/sp269/3
cancerbero

96

시험 &emsp;

문서에 따라 :

문자 엔티티 &ensp;&emsp;는 각각 en 공백과 em 공백을 나타냅니다. 여기서 en 공백은 포인트 크기의 절반이고 em 공백은 현재 글꼴의 포인트 크기와 같습니다. 고정 피치 글꼴의 경우 사용자 에이전트는 en 공백을 A 공백 문자에 해당하는 것으로 처리하고 em 공백을 두 개의 공백 문자에 해당하는 것으로 처리 할 수 ​​있습니다.

문서 링크 : https://www.w3.org/MarkUp/html3/specialchars.html


48

<pre></pre>태그 사이에 넣은 다음이 문자를 사용하십시오.&#9;

<pre></pre>태그 없이는 작동하지 않습니다.


4
좋아요, 이건 대단해요. 저 혼자서 사용하려고 &#9;했지만 작동하지 않았습니다. 언급 해 주셔서 감사합니다 <pre>!
Abbey Graebner 2012 년

1
훌륭한 제안입니다. 정확히 왜 이렇게 작동합니까?
pkanane

1
태그 내부의 텍스트를 텍스트 장소를 사전 포맷의 <프리> 태그를 정의 공백, 줄 바꿈이 보통 택배 등 고정 폭 폰트 타입에 표시되는 탭 등을 보존한다
Raymund

2
당신의 조합으로 모든 HTML 태그를 사용할 수 있습니다 white-space: pre-wrap;또는white-space: pre;
페트르 Hurtak

16

더 완벽하게 다른 대안을 게시합니다. "사전"기반 답변을 시도했을 때 추가 세로 줄 바꿈도 추가되었습니다.

각 탭은 줄 바꿈이 필요없는 연속적인 비 분리 공백으로 변환 할 수 있습니다.

"&nbsp;&nbsp;&nbsp;&nbsp;" 

페이지 내에서 반복 / 광범위하게 사용하는 것은 권장되지 않습니다. div 여백 / 패딩 접근 방식은 훨씬 깔끔해 보입니다.


5
탭이 탭의 오른쪽에 텍스트를 정렬하는 도구로 사용되는 경우 (왼쪽의 고정되지 않은 너비 글꼴 텍스트가 같지 않음) nbsp 문자로 변환해도 문제가 해결되지 않습니다.
Steve Midgley

4

내가 사용하는 <span style="display: inline-block; width: 2ch;">&#9;</span>두 개의 문자 폭 탭의.


이것은 탭과 동일하지 않으며 공백을 추가하는 것이므로 열이 없습니다.
Salami

1

탭은 유니 코드 라이브러리에서 [HT] 또는 문자 번호 9입니다.


1

언급했듯이 효율성을 위해 순차 공간은 브라우저가 실제로 표시하는 하나의 공간으로 통합됩니다. HTML의 ML이 무엇을 의미하는지 기억하십시오. 텍스트가 표시되는 방식을 제어하도록 설계된 마크 업 언어입니다. 공백이 아닙니다. : p

그래도 브라우저가 탭을 존중하는 척 할 수 있습니다. 모든 TAB의 앞에 공백이 4 개 추가되고 CSS를 사용하면 쉽습니다. 같은 줄에 ...

 <div style="padding-left:4.00em;">Indenented text </div>

또는 스타일 시트의 일반 클래스로

.tabbed {padding-left:4.00em;}

그러면 HTML이 다음과 같이 보일 수 있습니다.

<p>regular paragraph regular paragraph regular paragraph</p>
<p class="tabbed">Indented text Indented text Indented text</p>
<p>regular paragraph regular paragraph regular paragraph</p>

1
그것은 탭이하는 일이 아닙니다. 탭은 내용을 정렬합니다. 한 행에는 3 개의 공백이 추가되고 다른 4 개의 공백이 추가 될 수 있습니다. 개념적으로 커서를 다음 탭 정지로 이동합니다.
BrainSlugs83
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.