CSS / display 속성으로 표 만들기 - table, table-row, table-cell

display 속성값 중 표와 관련된 값들

display 속성값으로 table, table-row, table-cell 등을 사용해서 요소를 표(table)처럼 표현할 수 있습니다. 표처럼 보이기 위해 사용할 수 있는 속성값들은 다음과 같습니다.

  • table : <table> 요소처럼 표현합니다.
  • table-caption : <caption> 요소처럼 표현합니다.
  • table-column-group : <colgroup> 요소처럼 표현합니다.
  • table-header-group : <thead> 요소처럼 표현합니다.
  • table-footer-group : <tfoot> 요소처럼 표현합니다.
  • table-row-group : <tbody> 요소처럼 표현합니다.
  • table-cell : <td> 요소처럼 표현합니다.
  • table-column : <col> 요소처럼 표현합니다.
  • table-row : <tr> 요소처럼 표현합니다.

위의 속성값으로 표처럼 표현되도록 만든 후에는, 표를 꾸미는 것과 같은 방법으로 해당 요소를 꾸밀 수 있습니다. 주의할 점은, IE의 경우 8 이상에서 지원한다는 것입니다.

예제

<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>CSS Reference | display: table</title>
    <style>
      div {
        border: 1px solid #bcbcbc;
      }
      .jb-table {
        display: table;
        width: 100%;
      }
      .jb-table-row {
        display: table-row;
      }
      .jb-table-cell {
        display: table-cell;
        padding: 0px 20px;
        height: 150px;
      }
      .jb-top {
        vertical-align: top;
      }
      .jb-middle {
        vertical-align: middle;
      }
      .jb-bottom {
        vertical-align: bottom;
      }
    </style>
  </head>
  <body>
    <div class="jb-table">
      <div class="jb-table-row">
        <div class="jb-table-cell">
          <p>Lorem</p>
        </div>
        <div class="jb-table-cell">
          <p>Ipsum</p>
        </div>
        <div class="jb-table-cell">
          <p>Dolor</p>
        </div>
      </div>
      <div class="jb-table-row">
        <div class="jb-table-cell jb-top">
          <p>Lorem</p>
        </div>
        <div class="jb-table-cell jb-middle">
          <p>Ipsum</p>
        </div>
        <div class="jb-table-cell jb-bottom">
          <p>Dolor</p>
        </div>
      </div>
    </div>
  </body>
</html>

Related Posts

CSS / display 속성의 값을 inline 또는 inline-block으로 했을 때 여백 조정하는 방법

CSS / display 속성의 값을 inline 또는 inline-block으로 했을 때 여백 조정하는 방법

inline 또는 inline-block의 여백 display 속성값으로 inline 또는 inline-block으로 정하면 요소들이 가로로 배열됩니다. 이 때 요소와 요소 사이에 여백이 생깁니다. 예를 들어 다음과 같이 순서 없는 목록을 가로로 배열해보겠습니다.(여백을 파악하기 위해 테두리를 만들었습니다.) <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS</title> <style> ...

CSS / 인터넷 익스플로러(IE)에서 구글 웹폰트 사용하는 방법

CSS / 인터넷 익스플로러(IE)에서 구글 웹폰트 사용하는 방법

구글 웹폰트 IE 미지원 구글 웹폰트를 사용하면 수많은 글꼴을 쉽게 사용할 수 있습니다. 구글 서버에 있는 글꼴을 가져다 쓰므로 트래픽도 절약할 수 있습니다. 그런데 한가지 문제가 있습니다. IE를 지원하지 않습니다. 구글 웹폰트의 CSS 소스를 보면 @font-face { font-family: 'Nanum Gothic'; font-style: normal; font-weight: 400; src: local('NanumGothic'), url(https://fonts.gstatic.com/s/nanumgothic/v9/PN_3Rfi-oW3hYwmKDpxS7F_z-7r_xFtIsPV5MbNOyrVj67GNc972x-dpix2LdhN-iTB6aWWhDX3G.0.woff2) format('woff2'); ...

CSS / CSS로 드롭다운(Dropdown) 메뉴 만들기

CSS / CSS로 드롭다운(Dropdown) 메뉴 만들기

CSS만으로 만든 드롭다운 메뉴입니다. Ipsum, Dolor에 마우스를 올리면 하위 메뉴가 나옵니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS Tips | Dropdown Menu</title> <style> .dropdown > ul > li { ...

CSS / Flex / flex-direction

CSS / Flex / flex-direction

flex-direction으로 Item의 배열 방향을 정합니다. 기본값은 row로, 왼쪽에서 오른쪽으로 배열합니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS</title> <style> .jb-container { height: 400px; padding: ...

CSS / Grid / order

CSS / Grid / order

order 속성으로 그리드 아이템의 순서를 변경할 수 있습니다. 시각적인 순서만 바뀔 뿐 문서 구조가 바뀌는 것은 아닙니다. order 속성의 기본값은 0입니다. 값이 같은 경우 입력된 순서대로 나옵니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS</title> <style> body { ...

CSS / 선택자(Selector) / 전체 선택자, 타입 선택자, 속성 선택자

CSS / 선택자(Selector) / 전체 선택자, 타입 선택자, 속성 선택자

전체 선택자 전체 선택자(Universal Selector)는 모든 HTML 요소를 선택합니다. 별표(*)로 나타냅니다. 예를 들어 * { color: blue; } 는 모든 요소의 색을 파란색으로 만듭니다. 다른 선택자와 같이 사용할 때는 생략할 수 있습니다. 즉, *.abc { color: blue; } .abc { color: blue; } 는 같은 결과를 만듭니다. 타입 선택자 타입 선택자(Type Selector)는 h1, p, div, span 등 HTML 요소(Element)를 선택하는 ...

CSS / font-family / 글꼴 정하는 속성

CSS / font-family / 글꼴 정하는 속성

개요 font-family는 글꼴을 설정하는 속성입니다. 기본값 : 웹브라우저의 기본 글꼴 상속 : Yes 애니메이션 : No 버전 : CSS Level 1 문법 font-family: font | initial | inherit font : family-name 또는 generic-family initial : 기본값으로 설정 inherit : 부모 요소의 속성값을 상속받음 font family-name은 글꼴 이름입니다. 글꼴 이름에 띄어쓰기가 있으면 작은 따옴표 또는 큰 따옴표로 감쌉니다. generic-family는 글꼴 유형입니다. serif : 삐침 있는 ...

CSS / 이미지에 마우스 올렸을 때 확대하는 방법

CSS / 이미지에 마우스 올렸을 때 확대하는 방법

이미지에 마우스를 올렸을 때 이미지가 확대되는 효과를 만들어보겠습니다. 우선 다음과 같이 이미지가 들어간 간단한 HTML 문서를 만듭니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS</title> <style> body { box-sizing: border-box; ...

CSS / Grid / grid-auto-rows

CSS / Grid / grid-auto-rows

그리드에서 열 개수는 grid-template-columns로 정합니다. 그 개수를 넘어가면 행이 바뀌죠. 그리고 높이는 행마다 다르게 정해집니다. 예를 들어 다음과 같은 HTML 문서가 있을 때, 첫번째 행의 높이와 다른 행의 높이는 다릅니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>CSS</title> <style> ...

CSS / background-color / 배경색을 정하는 속성

CSS / background-color / 배경색을 정하는 속성

개요 background-color로 배경의 색을 정합니다. 그 색으로 border와 padding을 포함한 영역을 칠합니다. margin 영역은 칠하지 않습니다. 기본값 : transparent 상속 : No 애니메이션 : Yes 버전 : CSS Level 1 문법 background-color: transparent | color | initial | inherit transparent : 배경색이 없습니다. color : 색을 정합니다. initial : 기본값으로 설정합니다. inherit : 부모 요소의 속성값을 상속받습니다. 예제 <!doctype html> <html lang="ko"> <head> <meta ...

CSS 강좌