<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
  NAVIGATION ARTICLE
  </body>
</html>

 

NAVIGATION 과 ARTICLE이라는 두 개의 단어에 테두리를 주고 나란히 배치해 보겠다.

그러기 위해선 각 단어를 태그로 묶어야 한다. 

이때 디자인이란 목적을 위해 어떤 의미도 없는 <div>태그를 사용한다. (division)

...생략...
  <body>
    <div>NAVIGATION</div> 
    <div>ARTICLE</div>
  </body>
  ...생략...

 

<div>태그는 기본적으로 블록 레벨 엘리먼트이기 때문에 화면 전체를 쓰므로 줄바꿈이 된다. 

<div>와 똑같은 목적으로 고안된 태그가 있는데, 바로 <span>태그다. 

<span>태그는 인라인 엘리먼트이다. 따라서 목적에 따라 <div>와 <span>태그를 사용하면 되겠다.

 

...생략...
    <style>
      #grid{
        border: 5px solid pink;
        display: grid;
        grid-template-columns: 150px 1fr;
      }
      div{
        border: 5px solid gray;
      }
    </style>
  </head>
  <body>
    <div id="grid">
      <div>NAVIGATION</div>
      <div>ARTICLE</div>
    </div>
  </body>
...생략...

 

그리드를 적용한 예시이다. 

1. 부피감을 확인하기 위해 <div>태그에 테두리를 지정했다.

2. 두 개의 <div>태그를 감싸는 부모 <div>태그를 추가했다.

3. 부모 태그의 id값을 설정하고, 테두리를 분홍색으로 변경했다.

   (두 개의 태그를 나란히 배치하고 싶으면 그것을 감싸는 부모 태그가 필요하다. 

   즉, 디자인 목적 만으로 <div id="grid">가 필요한 것이다.)

4. display는 속성값으로 block, inline, none을 지정해 어떤 태그가 표시되는 방법을 완전히 바꾸는 속성이다.

   display 속성에 'grid'라는 속성을 쓰면 아무 변화가 없다. 

   하지만, grid-template-columns 속성을 추가한 다음 첫 번째 칼럼은 150px 정도의 부피를 갖고, 

   두 번째 칼럼은 나머지 공간을 다 쓴다는 의미로 1fr을 지정했다. 

 

위 글은 「생활코딩! HTML+ CSS + 자바스크립트」의 내용을 참고하여 작성한 글입니다.

'WEB > CSS' 카테고리의 다른 글

CSS 코드의 재사용  (0) 2020.11.04
미디어 쿼리  (0) 2020.11.04
박스 모델  (0) 2020.11.04
CSS 속성, 선택자  (0) 2020.11.04
CSS의 기본 문법  (0) 2020.11.04

+ Recent posts