editor

문서 › 블록 넣기

표

표 넣기, 행·열 추가와 삭제, 셀 합치기, 머리글 행, 셀 배경색, 열 너비 조절.

가격표, 일정표, 비교표처럼 칸을 나눠 정리할 때 씁니다. 툴바의 표 버튼에서 크기를 고르면 표가 들어가고, 표 안에 커서를 두면 표 위에 편집 막대가 뜹니다.

직접 써 보기

이 데모의 코드

createEditor('#editor', {
  toolbar: 'heading | bold color | table | undo redo',
});

표 넣기

  • 툴바의 table 버튼을 누르면 10 × 10 칸이 나옵니다. 마우스를 올려 크기를 정하고 누르면 됩니다. 키보드로는 방향키로 크기를 정하고 Enter 를 누릅니다.
  • 빈 줄에서 / 를 치고 "표"를 고르면 3 × 3 표가 들어갑니다 (슬래시 메뉴).
  • 엑셀·한글·워드에서 복사한 표는 셀 병합 같은 표 구조를 살려 붙여집니다 (붙여넣기 정리).

표 편집 막대

커서가 표 안에 있으면 표 위쪽에 막대가 뜹니다. 버튼은 왼쪽부터 다음과 같습니다.

버튼하는 일
위에 행 넣기 · 아래에 행 넣기커서가 있는 행 위나 아래에 빈 행을 넣습니다. 합쳐진 셀이 걸쳐 있으면 그 셀이 한 칸 늘어납니다.
왼쪽에 열 넣기 · 오른쪽에 열 넣기커서가 있는 열 옆에 빈 열을 넣습니다.
행 삭제 · 열 삭제커서가 있는(또는 고른 셀들의) 행이나 열을 지웁니다. 모든 행이나 열을 지우면 표가 없어집니다.
셀 합치기두 칸 이상 고른 셀을 하나로 합칩니다. 셀마다 있던 글은 줄을 바꿔 이어 붙습니다.
셀 나누기합쳐진 셀을 원래 칸으로 되돌립니다. 글은 첫 칸에 남습니다.
머리글 행첫 행을 <th scope="col"> 머리글로 바꾸거나 되돌립니다. 머리글은 회색 배경에 굵은 글씨입니다.
셀 배경색고른 셀(없으면 커서가 있는 셀)의 배경색을 바꿉니다. 색 없음, 직접 고르기, 최근 색도 있습니다.
테두리1px · 2px · 3px · 테두리 없음. 셀을 골랐으면 그 셀만, 아니면 표 전체에 적용합니다. 테두리 없는 셀은 편집 중에만 점선으로 보입니다.
세로 맞춤셀 안 글을 위쪽 · 가운데 · 아래쪽에 맞춥니다.
표 삭제표를 지우고 그 자리에 빈 문단을 남깁니다.

셀 고르기와 이동

  • 셀 하나에서 다른 셀까지 마우스로 끌면 사각형 범위로 셀이 골라집니다. 합쳐진 셀이 걸치면 범위가 그만큼 넓어집니다.
  • Tab 은 다음 셀, Shift+Tab 은 이전 셀로 갑니다. 마지막 셀에서 Tab 을 누르면 아래에 행이 하나 생깁니다.
  • 셀 오른쪽 테두리에 마우스를 대면 커서가 바뀝니다. 그대로 끌면 열 너비가 바뀝니다 (최소 30px). 처음 끌 때 모든 열의 지금 너비가 px로 고정되어, 끈 열만 달라집니다.

저장되는 HTML

모양은 모두 인라인 스타일로 저장됩니다. 사이트에 따로 CSS가 없어도 편집할 때와 같은 표가 보입니다.

<div data-table-wrap="" style="overflow-x: auto">
  <table style="border-collapse: collapse; width: 100%"><tbody>
    <tr><th style="border: 1px solid #d0d5dd; …; background-color: #f2f4f7; font-weight: 600" scope="col">요금제</th>…</tr>
    <tr><td style="border: 1px solid #d0d5dd; padding: 6px 8px; vertical-align: top">기본</td>…</tr>
  </tbody></table>
</div>

바깥의 div[data-table-wrap] 는 responsiveOutput(기본 켜짐)이 붙입니다. 휴대폰처럼 좁은 화면에서 표가 화면 밖으로 넘치지 않고 옆으로 밀어서 보입니다. 저장한 글을 다시 불러오면 이 상자는 벗겨지므로 편집할 때는 보이지 않습니다.

코드로 다루기

표 막대의 버튼은 모두 editor.exec() 명령입니다. 직접 만든 버튼이나 단축키에서 같은 일을 할 수 있습니다.

editor.exec('insertTable', '4x3');   // 4행 3열
editor.exec('rowBelow');             // rowAbove, colLeft, colRight
editor.exec('deleteRow');            // deleteCol, deleteTable
editor.exec('mergeCells');           // splitCell
editor.exec('headerRow');
editor.exec('cellColor', '#fff3bf'); // '' 이면 배경색 지우기
editor.exec('cellVAlign', 'middle'); // top | middle | bottom
editor.exec('tableBorder', '0');     // 0 | 1 | 2 | 3 (px)

프리셋과 휴대폰

table 버튼은 basic, board(기본), full 프리셋의 첫 줄에 있고 minimal 에는 없습니다. 휴대폰에서 기본 board 툴바는 자주 쓰는 버튼 한 줄만 남기므로, 표 버튼은 ⋯ 메뉴 안에 들어갑니다.

옵션

이름타입기본값설명
tabletoolbar item-표 넣기 (10 × 10 크기 고르기)
colorsstring[]셀용 20색이 옵션을 주면 글자색 팔레트와 셀 배경색 팔레트가 모두 이 목록을 씁니다. 주지 않으면 셀 배경색은 옅은 색 위주의 셀 전용 팔레트입니다.
responsiveOutputbooleantrue저장 HTML에서 표를 옆으로 스크롤되는 상자로 감쌉니다. false 면 표만 저장합니다.