Menu

HTML 위 첨자와 아래 첨자: sup, sub 태그

위 첨자는 <sup>로, 아래 첨자는 <sub>로 써요. 거듭제곱, 서수, 각주 번호, 화학식에 쓰여요. 주요 용도, 줄 간격이 벌어지지 않게 하는 법, 유니코드 문자나 MathML이 더 나은 경우를 알아봐요.

이 페이지에는 실행 가능한 에디터가 있습니다 - 편집하고 실행하면 결과를 바로 볼 수 있습니다.

HTML에서 위 첨자 쓰는 법

올릴 텍스트를 <sup>로 감싸세요. 브라우저가 줄 위로 작게 올려서 보여 줘요. 짝인 <sub>는 텍스트를 작게 내려서 보여 줘요.

<sup>와 <sub>는 인라인이고 다른 인라인 요소를 담을 수 있어서, 2<sup>n+1</sup>이나 x<sub><i>i</i></sub>도 돼요.

주요 용도

원하는 것쓰는 법결과
지수10<sup>3</sup>10의 3제곱
서수2<sup>nd</sup>글자가 올라간 2nd
각주 번호text<sup><a href="#n1">1</a></sup>올라간, 클릭할 수 있는 1
화학식C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>포도당
인덱스나 밑x<sub>1</sub>, log<sub>2</sub>내려간 1과 2
상표Brand<sup>TM</sup> 또는 Brand™올라간 TM

위치가 의미의 일부일 때 태그를 쓰세요. m<sup>2</sup>와 m2는 다른 거예요. 라벨이나 배지처럼 작게 보이기만 하면 되는 텍스트에는 대신 CSS를 쓰세요.

sup로 각주 만들기

각주 번호는 아래쪽 메모로 연결되는 위 첨자 링크예요. 각 메모에 id를 주고 링크가 그곳을 가리키게 하세요.

번호를 클릭하면 메모로 이동하고, "Back"을 누르면 돌아와요. 작은 링크에서 밑줄을 없애면 문단이 깔끔해지고, 링크 색 덕분에 여전히 클릭할 수 있다는 게 보여요.

줄 간격 고르게 유지하기

기본적으로 <sup>나 <sub>는 그 줄을 주변 줄보다 높게 만들 수 있어서, 지수가 몇 개 있는 문단은 줄 간격이 고르지 않아 보여요. 여기에 line-height: 0을 주면 고쳐져요.

회색 상자는 두 번째와 네 번째 줄이 벌어져서 더 높아요. 초록색 상자는 모든 줄 높이가 같아요. 기본 스타일시트에 이 규칙을 한 번 넣어 두면 더 신경 쓸 필요가 없어요.

유니코드 문자와 MathML

흔한 경우 몇 가지에는 이미 만들어진 문자가 있어요. ²(&sup2;), ³(&sup3;), ¹(&sup1;), ™(&trade;), ½(&frac12;)예요. 태그가 필요 없고 줄 높이에도 영향을 주지 않지만, 일부 숫자와 글자에만 있어요.

제대로 된 수식(분수, 제곱근, 지수의 지수)에는 MathML을 쓰세요. 현재 브라우저는 MathML을 기본으로 렌더링해요.

<msup>는 밑과 지수를 받고, <msub>는 아래 첨자에 같은 일을 해요. 문장 안의 지수 하나에는 <sup>가 더 간단해요.

자주 하는 실수

  • 글자를 작게 하려고 <sup>를 씀. 텍스트를 올리기까지 하고, 독자에게 위 첨자라고 알려요. 작은 글자에는 font-size를 쓰세요.
  • 줄 간격이 고르지 않음. sup, sub { line-height: 0; }를 추가하세요.
  • 완성된 텍스트에 x^2나 H2O로 씀. 내용이 올바르게 읽히도록 x<sup>2</sup>와 H<sub>2</sub>O를 쓰세요.
  • 각주 번호가 너무 작아서 누르기 어려움. 휴대폰에서 올라간 숫자 하나는 아주 작은 터치 영역이에요. sup a에 padding을 조금 주거나 메모를 텍스트 가까이에 두세요.

자주 묻는 질문

HTML에서 위 첨자는 어떻게 쓰나요?

올릴 텍스트를 <sup>로 감싸세요. x<sup>2</sup>는 x의 제곱을, 1<sup>st</sup>는 서수를 보여 줘요. 브라우저가 기준선 위로 작게 올려서 그려요.

HTML에서 아래 첨자는 어떻게 쓰나요?

<sub>를 쓰세요. 물은 H<sub>2</sub>O, 인덱스는 x<sub>1</sub>처럼 써요. 기준선 아래로 작게 내려서 그려져요.

HTML에서 x 제곱은 어떻게 쓰나요?

x<sup>2</sup>를 쓰거나 이미 만들어진 문자 x²를 쓰세요. 이 문자는 엔티티 &sup2;로도 입력할 수 있어요. 제곱과 세제곱에는 문자로도 충분하고, 2<sup>n+1</sup>처럼 어떤 지수든 <sup>로 쓸 수 있어요.

<sup>를 쓰면 왜 줄 간격이 고르지 않게 되나요?

올라간 텍스트 때문에 그 줄이 문단의 다른 줄보다 높아질 수 있어요. sup, sub { line-height: 0; }로 고치세요. 줄 높이를 늘리지 않게 돼요.

<sup> 대신 CSS를 써도 되나요?

vertical-align: super와 더 작은 font-size를 쓰면 똑같아 보이지만, <sup>와 <sub>는 의미를 담아요. "m2"와 "m<sup>2</sup>"는 서로 다른 값이에요. 올리거나 내린 위치가 내용의 일부라면 태그를 쓰세요.

Coddy programming languages illustration

Coddy로 코딩 배우기

시작하기