※이번 시간은 해상도에 따라 레이아웃이 변형되는 반응형 레이아웃에 대하여 알아보겠습니다.

다양한 기술과 디바이스들이 나오면서 화면의 크기들도 천차만별로 늘어나고 있습니다. 레이아웃을 일반적인 모니터 해상도 크기에 맞춘다면 그보다 상대적으로 작은 태블릿이나 핸드폰으로 화면을 보기에는 불편함이 있을 수 있습니다.

화면해상도에 따라서 레이아웃을 변경해 줌으로써 편의성과 디자인을 확보할 수 있을 것입니다. 

목차

1. 반응형 웹

2. CSS

3. BODY

 

1. 반응형 웹

 

@반응형 레이아웃이란?

하나의 웹사이트에서 PC, 스마트폰, 태블릿 PC 등 접속하는 디스플레이의 종류에 따라 화면의 크기가 자동으로 변하도록 만든 웹페이지 접근 기법입니다.

최근에는 모바일 사용자가 증가함에 따라 모바일 퍼스트 개념을 중요시하는 추세입니다.

웹 개발 시 모바일에 맞게 디자인 후 타 해상도에 맞추어 추가 개발을 진행하는 방식을 선호하고 있다고 합니다.

간단하게 레이아웃을 구성해 보고 코드를 해석해 보겠습니다.

 

-일반적인 전체 해상도에 대한 레이아웃 화면입니다. 

 

-1025px이상, 1280px이하일 때에 보이는 레이아웃 화면입니다.

태블릿에 적합하도록 구현해 보았습니다.

 

-768px이상, 1024px이하일 때에 보이는 레이아웃 화면입니다.

모바일에 적합하도록 구현해 보았습니다.

 

 

2. CSS

  <style>
    * {box-sizing: border-box;}
    h1,h2,ul,li,p,div {
        margin: 0px;
        padding: 0px;
    }
    li {list-style: none;}
    .clear::after {
        content: '';
        display: block;
        clear: both;
    }
    a {
        text-decoration: none;
        color: #333;
        line-height: 1.5;
    }
    body {
        background-color: #f1f1f1;
        font-size: 13px;
    }
    header {background-color: coral;}
    h1 {
        color: white;
        padding: 10px;
        font-size: 25px;
    }
    .lnb li {
        margin: 10px;
        padding: 10px;
        background-color: lightgreen;
    }
    .content {padding: 20px;}
    h2 {font-size: 20px;}
    .ext {
        margin: 10px;
        padding: 20px;
        background-color: lightgreen;
    }
    footer {
        padding: 10px; background-color: #aaa;
    }

    @media (min-width:768px) and (max-width:1024px) {
        .lnb {
            float: left;
            width: 25%;
        }
        .content {
            float: left;
            width: 75%;
        }
        .aside {
            clear: both;
        }
    }
    @media all and (min-width:1025px) {
        .wrap {
            max-width: 1280px;
        }
        .lnb {
            float: left;
            width: 20%;
        }
        .content {
            float: left;
            width: 50%;
        }
        .aside {
            float: right;
            width: 30%;
        }
    }
  </style>

 

@1025px이상, 1280px이하 적용 레이아웃

    @media all and (min-width:1025px) {
        .wrap {
            max-width: 1280px;
        }
        .lnb {
            float: left;
            width: 20%;
        }
        .content {
            float: left;
            width: 50%;
        }
        .aside {
            float: right;
            width: 30%;
        }
    }

-media 태그를 사용하여 최소 1025px(min-width:1025px)로 최솟값을 지정하여 주었고 최댓값은 1280px로 지정하여 1025~1280px의 범위를 갖게끔 설정하였습니다.

그 범위 안에 포함된다면 class lnb와 content를 가진 div box들은 float:left를 적용하여 좌측 정렬이 되도록 하고 class aside는 float:right를 적용하였습니다.

 

@768px이상, 1024px이하 적용 레이아웃

    @media (min-width:768px) and (max-width:1024px) {
        .lnb {
            float: left;
            width: 25%;
        }
        .content {
            float: left;
            width: 75%;
        }
        .aside {
            clear: both;
        }
    }

-media 태그를 사용하여 최솟값을 768px로, 최댓값은 1024px로 지정하여 768~1024px의 범위를 갖게끔 설정하였습니다. 그 범위 안에 포함된다면 class lnb와 content를 가진 div box들은 float:left를 적용하고 class aside는 float 설정을 해제, 비율을 조정해서 세로로 보이도록 수정하였습니다.

 

3. BODY

<body>
    <div class="wrap">
        <header>
            <h1>Musee d'Orsay</h1>
        </header>
        <div id="container" class="clear">
            <div class="lnb">
                <ul>
                    <li><a href="#">작가의 작품</a></li>
                    <li><a href="#">작가의 시대</a></li>
                    <li><a href="#">작가의 일생</a></li>
                </ul>
            </div>            
            <div class="content">
                <h2>PICTURES</h2>
                <p><a href="#">피리부는 소년</a> <br><a href="#">고흐의 방</a><br><a href="#">황색 그리스도가 있는 화가의 자화상</a><br><a href="#">오페라좌의 관현악단</a><br><a href="#">만종</a><br><a href="#">제비꽃 장식을 단 베르트모리조</a><br><a href="#">피리부는 소년</a> <br><a href="#">고흐의 방</a><br><a href="#">황색 그리스도가 있는 화가의 자화상</a><br><a href="#">오페라좌의 관현악단</a><br><a href="#">만종</a><br><a href="#">제비꽃 장식을 단 베르트모리조</a></p>                
            </div>
            <div class="aside">
                <ul class="ext">
                    <li><h2>Workshop Go</h2><a href="#">Life drawing workshop</a></li>
                    <li><h2>Summer Exhibition</h2><a href="#">A-level Summer Exibition Online 2010</a></li>
                    <li><h2>RA Collection</h2><a href="#">RA Collections</a></li>
                </ul>
            </div>
        </div>
        <footer>
            <p>&copy;2018 Les Amis du Musee d'Orsay. All rights reserved.</p>
        </footer>
    </div>
</body>

※이번 시간은 CSS에서 자주 사용되는 속성 중 font와 border를 다루어 보려 합니다.

font 속성은 글자의 크기, 굵기, 글꼴 등을 정의하여 주는 속성이며 border는 테두리의 속성값을 정할 수 있는 속성입니다. 

저번 시간에 다루었던 width, height와 padding, margin과 같이 많이 사용되는 속성들입니다. 

목차

1. FONT

2. BORDER

 

1. FONT

※ font 속성은 글자의 크기, 굵기, 글꼴 등을 정의하여 주는 속성입니다. 

크게 6가지의 속성을 가지며 글자의 색상은 따로 font 속성의 하위가 아닌 color 속성으로 지정할 수 있습니다.

font-style 이탤릭체 등의 글꼴의 스타일 지정
font-weight 글자 두께
font-variant 글꼴 변형 (소문자를 대문자로 바꾸는 등의)
font-size 글자 크기
line-height 줄 간격
font-family 글꼴 (굴림, 돋움, …)

 

@font-style

※font-style은 폰트의 표시 형태를 지정하는 속성으로, 폰트의 기본 형태로 표시하는 normal 값과 이탤릭체 또는 기울임 꼴로 표시하는 italic과 oblique가 있습니다.

 

@코드로 보기
    <title>font 예제</title>
    <style>
        #ex1 {
            font-style: italic;
        }
    </style>
</head>
<body>
    <p>기본</p>
    <p id="ex1">이텔릭체</p>
</body>
</html>

 

 

@font-weight

※font-weight는 폰트가 표시되는 굵기를 지정하는 속성입니다.

100~900 사이의 굵기 단계를 표시하는 수치값이나 normal, bold 등의 키워드로 선언할 수 있습니다. 

 

@코드로 보기
    <title>font 예제</title>
    <style>
        #ex1 {
            font-weight: 100;
        }
        #ex2 {
            font-weight: 700;
        }
        #ex3 {
            font-weight: bold;
        }
    </style>
</head>
<body>
    <p>기본</p>
    <p id="ex1">굵기 100</p>
    <p id="ex2">굵기 700</p>
    <p id="ex3">bold 속성</p>
</body>
</html>

 

@font-variant

font-variant는 영문 폰트의 소문자 표시 형태를 변경하는 속성입니다.

  • font–variant–position : 폰트의 표시 위치를 지정하는 속성, 화학식의 윗첨자, 아랫첨자 등과 같은 형태
  • font–variant–ligatures : 발음 기호 형태와 [æ] 같은 묶음 표시 형태를 표시하는 속성
  • font–variant–caps : 대소 문자 형태를 변경하는 속성
  • font–variant–numeric : 분수나 회계용 숫자 등의 표시 형태를 변경하는 속성
  • font–variant–alternates : 폰트의 장식 요소나 특수 문자의 표시 형태를 변경하는 속성
  • font–variant–east–asia : 한자나 일본어의 폰트를 약자 형식으로 변경할 수 있는 속성

 

@font-size

font-size는 폰트의 크기를 지정하는 속성으로, xx-small, x-small, small, medium, large, x-large, xxlarge과 같은 절대 크기와 smaller, larger와 같은 상대 크기 등을 사용할 수 있습니다. (일반 웹 페이지에서는 px를 사용)

 

@font-family

font-family는 텍스트의 폰트를 지정하는 속성으로, 속성 값은 복수로 지정할 수 있으며 복수 지정 시에는 (,)로 구분합니다. 지정된 순서대로 표시할 수 있는 폰트를 찾게 됩니다.

저장되어 있는 폰트 이외에도 URL을 통하여 공유된 폰트를 사용할 수도 있습니다.

 

@코드로 보기
    <style>
        body {
            font-family: '궁서';
        }
    </style>

위 코드처럼 저장되어 있는 폰트를  사용하거나

 
@코드로 보기
    <style>
        @font-face {
            font-family: 'LOTTERIADDAG';
            font-weight: normal;
            font-style: normal;
        }
        body {
            font-family: 'LOTTERIADDAG';
        }
    </style>

URL을 통하여 공유된 폰트 사용이 가능합니다.

 

 

2. BORDER

※border는 테두리의 속성값을 정할 수 있는 속성입니다.

border-top, right, bottom, left 방식으로 방향마다 다른 속성값을 정하여 줄 수 있으며 축약형 명령어로 색, 두께, 스타일 등을 한 번에 지정하여 줄 수 있습니다. 

  • border-width : 선의 두께를 정합니다. 기본값은 medium입니다. 지정된 값 또는 px 등의 수치로 입력합니다.
  • border-style : 선의 모양을 정합니다. 기본값은 none입니다.
  • border-color : 선의 색을 정합니다. 기본값은 꾸미려는 요소의 색(color)입니다.
  • border-radius : 테두리의 굴곡정도를 정합니다. px, % 등의 수치로 입력합니다.
  • initial : 기본값으로 설정합니다.
  • inherit : 부모 요소의 속성값을 상속받습니다.

@border-width

-medium, thick, thin, length, initial, inherit의 기본값을 가지며 px 등의 수치로도 입력합니다.

 

@border-style

  • none  :  기본값 표시하지 않음
  • solid : 실선으로 표시
  • dotted : 점선으로 표시
  • double : 이중 실선으로 표시
  • ridge : 돌출된 선으로 표시
  • groove : 들어간 선으로 표시
  • inset : 보더 안쪽이 들어간 선으로 표시
  • outset : 보더 안쪽이 돌출된 선으로 표시
  • dashed : 파선으로 표시
  • hidden : 표시하지 않음

 

@코드로 보기
    <style>
        body {
            text-align: center;
        }
        #box {
            width: 200px;
            height: 200px;
            border: 2px solid black;
            border-radius: 5px;
        }
    </style>

 

200*200px 크기의 테두리, 2px굵기의 실선, 검은색의 테두리 속성값, 5px의 테두리 굴곡 적용

※홈페이지를 만들면서 필수적으로 필요한 화면 중 하나가 로그인 화면이라고 생각합니다.

이번 시간에는 간단한 로그인 폼을 만들어 보고 화면을 구성하면서 사용되는 속성값들에 대해서 하나씩 살펴보도록 하겠습니다.

목차

1. 로그인 폼 소스 보기

2. 로그인 폼 <body>

3. 로그인 폼 CSS

 

1. 로그인 폼 소스 보기

로그인 폼

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>로그인화면</title>
    <style>
        * {padding: 0px; margin: 0px;}
        form {
            width: 350px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid black;
            border-radius: 5px;
        }
        legend {
            font-size: 16px;
            font-weight: bold;
            padding-left: 5px;
            padding-bottom: 10px;
        }
        #loginbox label {float: left; width: 120px; font-size: 15px; margin-left: 20px;}
        li {list-style-type: none; margin-bottom: 5px;}
        fieldset {
            border: 1px solid #ccc;
            margin-bottom: 30px;
            padding: 10px;
        }
        #join {
            border: none;
            margin-top: 20px;
        }
        #joinbox {
            text-align: center;
            border: none;
            padding: 10px;
        }
        #joinbox button {
            font-size: 15px;
            padding: 5px;
            border-radius: 5px;
            border: 1px solid black;
        }
        #joinbox button:hover {
            background-color: gray;
        }
        #mailbox label {
            font-size: 12px;
            margin-left: 20px;
        }
        #mailbox input {
            vertical-align: middle;
        }
    </style>
 
</head>
<body>
    <form id="login">
        <fieldset id="loginbox">
            <legend>로그인</legend>
                <ul>
                    <li><label for="user-id">아이디</label><input id="user-id" type="text" placeholder="공백없이 2자 이상" autofocus required></li>
                    <li><label for="user-pw">비밀번호</label><input id="user-pw" type="password" placeholder="특수기호 포함 8자 이상" autocomplete="off" required></li>
                    <li><label for="user-pws">비밀번호확인</label><input id="user-pws" type="password" autocomplete="off" required></li>
                    <li><label for="user-email">이메일</label><input id="user-email" type="email" placeholder="abc@naver.com" autocomplete="off" required></li>
                    <li><label for="user-tel">전화번호</label><input id="user-tel" type="tel"></li>
                </ul>
        </fieldset>

        <fieldset id="mailbox">
            <legend>광고성 메일 수신여부</legend>
            <label for="maily">메일수신</label><input id="maily" type="radio" name="mail" value="y">
            <label for="mailn">메일수신 안함</label><input id="mailn" type="radio" name="mail" value="n" checked>
        </fieldset>

        <fieldset id="joinbox">
            <button type="submit">가입하기</button>
        </fieldset>
    </form>
</body>
</html>
 

2. 로그인 폼 <body>

<body>
    <form id="login">
        <fieldset id="loginbox">
            <legend>로그인</legend>
                <ul>
                    <li><label for="user-id">아이디</label><input id="user-id" type="text" placeholder="공백없이 2자 이상" autofocus required></li>
                    <li><label for="user-pw">비밀번호</label><input id="user-pw" type="password" placeholder="특수기호 포함 8자 이상" autocomplete="off" required></li>
                    <li><label for="user-pws">비밀번호확인</label><input id="user-pws" type="password" autocomplete="off" required></li>
                    <li><label for="user-email">이메일</label><input id="user-email" type="email" placeholder="abc@naver.com" autocomplete="off" required></li>
                    <li><label for="user-tel">전화번호</label><input id="user-tel" type="tel"></li>
                </ul>
        </fieldset>

        <fieldset id="mailbox">
            <legend>광고성 메일 수신여부</legend>
            <label for="maily">메일수신</label><input id="maily" type="radio" name="mail" value="y">
            <label for="mailn">메일수신 안함</label><input id="mailn" type="radio" name="mail" value="n" checked>
        </fieldset>

        <fieldset id="joinbox">
            <button type="submit">가입하기</button>
        </fieldset>
    </form>
</body>

※우선 각각 다른 속성값을 주기 위해 form id로 "login"을 각 필드마다 "loginbox", "mailbox", "joinbox"로 구분을 지어놓았습니다. 그리고 <ul><li>를 통하여 각 항목, <input>으로 입력란을 만들어 준 뒤 이를 <label>로 묶어주었습니다.

 

<label for="user-id"> 아이디 </label><input id="user-id" type="text" placeholder="공백 없이 2자 이상" autofocus required>

 

<label for="묶어줄 아이디"><id="묶어줄 아이디">로 활용하시면 됩니다.

<input type=""> : text, password, email, tel 등 원하는 입력방식에 맞추어 지정해 주시면 됩니다.

<input placeholder="내용"> :  내용을 입력하면 사라지는 힌트 개념이라고 생각하시면 됩니다.

<input autofocus> : 화면이 실행될 시 커서가 위치할 수 있도록 해줍니다.

<input required> : 필수 입력항목을 지정하는 것으로 submit버튼으로 넘어갈 때에 지정된 항목이 비어있다면 항목을 채우라는 메시지를 보냅니다. 

<input autocomplete> : 자동완성기능 사용여부를 정하는 속성입니다. on과 off를 사용합니다.

<input value="보여줄 값" readonly> : 값을 입력할 수 없고 입력되어 있는 값을 보여주기만 하는 속성입니다.

 

<label for="maily"> 메일수신 </label><input id="maily" type="radio" name="mail" value="y">

<label for="mailn"> 메일수신 안 함 </label><input id="mailn" type="radio" name="mail" value="n" checked>

 

<input type="radio"> : 라디오버튼 타입을 생성합니다.

<input name> : 같은 이름을 가진 버튼끼리는 한 가지 항목만 선택됩니다.

<input value="값"> : submit버튼으로 정보를 넘길 때에 들어갈 값을 입력합니다.

<input checked> : 화면이 실행될 시 체크가 되어있는 항목을 지정합니다. 

 

3. 로그인 폼 CSS

    <style>
        * {padding: 0px; margin: 0px;}
        form {
            width: 350px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid black;
            border-radius: 5px;
        }
        legend {
            font-size: 16px;
            font-weight: bold;
            padding-left: 5px;
            padding-bottom: 10px;
        }
        #loginbox label {float: left; width: 120px; font-size: 15px; margin-left: 20px;}
        li {list-style-type: none; margin-bottom: 5px;}
        fieldset {
            border: 1px solid #ccc;
            margin-bottom: 30px;
            padding: 10px;
        }
        #join {
            border: none;
            margin-top: 20px;
        }
        #joinbox {
            text-align: center;
            border: none;
            padding: 10px;
        }
        #joinbox button {
            font-size: 15px;
            padding: 5px;
            border-radius: 5px;
            border: 1px solid black;
        }
        #joinbox button:hover {
            background-color: gray;
        }
        #mailbox label {
            font-size: 12px;
            margin-left: 20px;
        }
        #mailbox input {
            vertical-align: middle;
        }
    </style>

※간단한 내용이며 한눈에 보기 위해 따로 CSS로 만들지 않고 <style>로 한 번에 입력하였습니다.

 

        form {
            width: 350px;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid black;
            border-radius: 5px;
        }

전체적인 form에 대한 속성값을 지정해 줍니다.

margin 0 auto : left, right margin을 auto로 주어 가운데 정렬이 되도록 했습니다.

 

li {list-style-type: none; margin-bottom: 5px;}

list-style-type:none : <li> 항목 앞 기호를 없애기 위해 스타일 값을 none으로 지정해 주었습니다.

 

 #loginbox label {float: left; width: 120px; font-size: 15px; margin-left: 20px;}

float:left : <label></label>의 항목값이 좌측으로 정렬되도록 설정하였습니다.

 

        #joinbox button {
            font-size: 15px;
            padding: 5px;
            border-radius: 5px;
            border: 1px solid black;
        }
        #joinbox button:hover {
            background-color: gray;
        }

button:hover {backgrond-color:gray} : 버튼에 마우스가 올라갔을 때에 버튼 색상이 변경되도록 하였습니다.

 

 

※이렇게 간단하게 로그인 폼을 구성해 보았습니다. 

나머지 width, margin, padding 값들을 통하여 규격을 맞추어 디자인하였습니다. 

규격을 정하는 부분들은 직접 수치들을 변경해 보면서 진행해야 전체적인 구상을 할 수 있는 눈이 생길 것 같습니다.

※CSS에서 레이아웃 페이지를 나눌 때에 주로   플렉스(Flex)와 그리드(Grid)를 많이 사용합니다.

flexbox는 한 방향 레이아웃 시스템(1차원), grid는 두 방향 레이아웃 시스템(2차원)으로 이번 시간은 그리드에 대해서 알아보려 합니다. 그리드 레이아웃(Grid Layout)은 페이지를 여러 주요 영역으로 나누거나, 크기와 위치 및 문서 계층 구조의 관점에서 HTML 기본 요소로 작성된 컨트롤 간의 관계를 정의하는 데 사용합니다.

테이블과 마찬가지로 그리드 레이아웃은 세로 열과 가로 행을 기준으로 요소를 정렬할 수 있습니다. 하지만, 테이블과 달리 CSS 그리드는 다양한 레이아웃을 훨씬 더 쉽게 구현할 수 있습니다. 예를 들어, 그리드 컨테이너 속 자식 요소를, 마치 CSS로 일일이 위치를 지정해 준 것처럼, 실제로 겹치게 층을 지면서 자리를 잡도록 각 요소의 위치를 지정해 줄 수도 있습니다. 이번 시간은 간단한 기본 구조와 속성에 대해 알아보고 다음시간에 아이템배치방법이나 축약어등을 다루어 보도록 하겠습니다.

목차

1. GRID의 기본구조

2. GRID의 속성

 

1. GRID의 기본구조

@그리드 선언

grid 레이아웃을 위한 html의 기본 구조는 container(부모)와 item(자식)으로 이루어져 있습니다.

flex와 마찬가지로 CSS에 display : grid; 를 선언 후 <body>에서 형태를 잡아야 합니다.

 

   @코드로 보기
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container {
            display: grid; /*그리드 선언*/
            grid-template-columns: 200px 200px 200px;/*열 생성*/
            grid-template-rows: repeat(3, 100px); /*행 생성 repeat(생성개수, 크기) = 100px크기를 3개 생성*/
            background-color: #bbb;
        }
        .box:nth-child(even) {
            background-color: #eee; /*box클래스의 짝수(even) 자식들의 속성*/
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="box">1</div>
        <div class="box">2</div>
        <div class="box">3</div>
        <div class="box">4</div>
        <div class="box">5</div>
        <div class="box">6</div>
    </div>
</body>
</html>

 

 

 

2.  GRID의 속성

@Grid container 속성 (부모 속성)

  • grid-template-row : 행(Track)의 크기를 정의
  • grid-template-columns: 열(Track)의 크기를 정의
  • grid-template-areas : 영역 이름을 참조해 템플릿 생성
  • grid-template : grid-template-xxx의 단축 속성
  • row-gap(grid-row-gap) : 행과 행 사이의 간격(Line)을 정의
  • column-gap(grid-column-gap) : 열과 열 사이의 간격(Line)을 정의
  • gap(grid-gap) : xxx-gap의 단축 속성
  • grid : grid-template-xxx과 grid-auto-xxx의 단축 속성

@Grid item 속성 (자식 속성)

  • grid-row-start : 그리드 아이템(Item)의 행 시작 위치 지정
  • grid-row-end : 그리드 아이템의 행 끝 위치 지정
  • grid-row : grid-row-xxx의 단축 속성(행 시작/끝 위치)
  • grid-column-start : 그리드 아이템의 열 시작 위치 지정
  • grid-column-end : 그리드 아이템의 열 끝 위치 지정
  • grid-column : grid-column-xxx의 단축 속성(열 시작/끝 위치)
  • grid-area : 영역 이름을 설정하거나, grid-row와 grid-column의 단축 속성
  • align-self : 단일 그리드 아이템을 수직(열 축) 정렬
  • justify-self : 단일 그리드 아이템을 수평(행 축) 정렬
  • order : 그리드 아이템의 배치 순서를 지정
  • z-index : 그리드 아이템의 쌓이는 순서를 지정

@grid-template-xxx속성

  • grid-template-row
  • grid-template-columns
  • grid-template-areas
  • grid-template

@gap속성 : 간격조절 가능

  • row-gap(grid-row-gap) : 행과 행 사이의 간격(Line)을 정의
  • column-gap(grid-column-gap) : 열과 열 사이의 간격(Line)을 정의
  • gap(grid-gap) : xxx-gap의 단축 속성

@정렬속성 (justify-items / align-items)

  • align-content  : 그리드 콘텐츠(Grid Contents)를 수직(열 축) 정렬
  • justify-content : 그리드 콘텐츠를 수평(행 축) 정렬
  • align-items : 그리드 아이템(Items)들을 수직(열 축) 정렬
  • justify-items : 그리드 아이템들을 수평(행 축) 정렬

 

 

+ Recent posts