[TIL] 2022.01.17

Minsu Han·2022년 1월 17일
0

TODAY I LEARNED

목록 보기
17/46
post-thumbnail

오늘 한 일

  • 웹 프론트엔드 공부
    Layouts: Floats, Flexbox, and CSS Grid Fundamentals

배운 것

  • Flexbox: 1-dimentional layout
  • CSS Grid: 2-dimentional layout
  • Flexbox, CSS Grid terminology
  • 세로(vertical) 정렬: align-items, 가로(horizontal) 정렬: justify-contents
  • Flexbox와 CSS Grid를 사용하여 레이아웃을 설계하고 item을 spacing하는 방법들

flexbox.html

<!DOCTYPE html>
<html lang="en">
  <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>Flexbox</title>
    <style>
      .el--1 {
        background-color: blueviolet;
      }
      .el--2 {
        background-color: orangered;
      }
      .el--3 {
        background-color: green;
        height: 150px;
      }
      .el--4 {
        background-color: goldenrod;
      }
      .el--5 {
        background-color: palevioletred;
      }
      .el--6 {
        background-color: steelblue;
      }
      .el--7 {
        background-color: yellow;
      }
      .el--8 {
        background-color: crimson;
      }

      .container {
        /* STARTER */
        font-family: sans-serif;
        background-color: #ddd;
        font-size: 32px;
        margin: 40px;

        /* FLEXBOX */
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
      }

      .el {
        /* 
        DEFAULTS:
        flex-grow: 0;
        flex-shrink: 1;
        flex-basis: auto; 
        */

        /* flex-basis: 200px;
        flex-shrink: 0; */
        flex: 0 0 200px;
        /* flex-grow: 1; */

        /* flex: 1; */
      }

      .el--1 {
        align-self: flex-start;
        /* order: 2; */
        /* flex-grow: 3; */
      }

      .el--5 {
        align-self: stretch;
        order: 1;
      }

      .el--6 {
        order: -1;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="el el--1">HTML</div>
      <div class="el el--2">and</div>
      <div class="el el--3">CSS</div>
      <div class="el el--4">are</div>
      <div class="el el--5">amazing</div>
      <!-- <div class="el el--6">languages</div> -->
    </div>
  </body>
</html>

css-grid.html

<!DOCTYPE html>
<html lang="en">
  <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>CSS Grid</title>
    <style>
      .el--1 {
        background-color: blueviolet;
      }
      .el--2 {
        background-color: orangered;
      }
      .el--3 {
        background-color: green;
        height: 150px;
      }
      .el--4 {
        background-color: goldenrod;
      }
      .el--5 {
        background-color: palevioletred;
      }
      .el--6 {
        background-color: steelblue;
      }
      .el--7 {
        background-color: yellow;
      }
      .el--8 {
        background-color: crimson;
      }

      .container--1 {
        /* STARTER */
        font-family: sans-serif;
        background-color: #ddd;
        font-size: 30px;
        margin: 40px;

        /* CSS GRID */
        display: grid;
        /* grid-template-columns: 200px 200px 1fr 1fr; */
        /* grid-template-rows: 300px 200px; */
        /* grid-template-columns: 1fr 1fr 1fr auto; */
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 1fr 1fr;
        /* height: 500px; */

        /* gap: 30px; */
        column-gap: 20px;
        row-gap: 40px;

        /* TEMP */
        display: none;
      }

      .el--8 {
        grid-column: 2 / 3;
        /* grid-row: 1 / span 2; */
        grid-row: 1 / 2;
      }

      .el--2 {
        /* grid-column: 1 / 4; */
        /* grid-column: 1 / span 4; */
        grid-column: 1 / -1;
        grid-row: 2;
      }

      .el--6 {
        /* grid-row: 3 / 5; */
      }

      .container--2 {
        /* STARTER */
        font-family: sans-serif;
        background-color: black;
        font-size: 40px;
        margin: 40px;

        width: 700;
        height: 600px;

        /* CSS GRID */
        display: grid;
        grid-template-columns: 125px 200px 125px;
        grid-template-rows: 250px 100px;
        gap: 50px;

        /* Aligning tracks inside container: distribute empty space */
        justify-content: center;
        /* justify-content: space-between; */

        align-content: center;

        /* Aligning items INSIDE cells: moving items around inside cells */
        align-items: end;
        justify-items: end;
      }

      .el--3 {
        align-self: center;
        justify-self: center;
      }
    </style>
  </head>
  <body>
    <div class="container--1">
      <div class="el el--1">(1) HTML</div>
      <div class="el el--2">(2) and</div>
      <div class="el el--3">(3) CSS</div>
      <div class="el el--4">(4) are</div>
      <div class="el el--5">(5) amazing</div>
      <div class="el el--6">(6) languages</div>
      <!-- <div class="el el--7">(7) to</div> -->
      <div class="el el--8">(8) learn</div>
    </div>

    <div class="container--2">
      <div class="el el--1">(1)</div>
      <div class="el el--3">(3)</div>
      <div class="el el--4">(4)</div>
      <div class="el el--5">(5)</div>
      <div class="el el--6">(6)</div>
      <div class="el el--7">(7)</div>
    </div>
  </body>
</html>

내일 할 일

  • 웹 프론트엔드 공부
    Web Design Rules and Framework 전반부
profile
기록하기

0개의 댓글