문제

한 칸이 가로세로 100px인 체스판 800px로 만들어라.

 


풀이

첫 번째 방법

table을 이용한다.


CSS

td {
  width: 100px;
  height: 100px;
  box-sizing: border-box;
  border-collapse: collapse;
}

.black {
  background-color: black;
  border-collapse: collapse;
}

HTML

table은 기본적으로 <table border="2" 를 통해 2px의 선으로 묶어준다.

그 다음 테두리 들이 겹치치 않게 style="border-collapse: collapse; 를 통해 테두리 중복을 없애준다.

 

<!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>Document</title>
  <link rel="stylesheet" href="chessboard.css">
</head>
<body>
  <div>
    <table border="2" style="border-collapse: collapse;">
      <tr>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
      </tr>
      <tr>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
      </tr>
      <tr>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
      </tr>
      <tr>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
      </tr>
      <tr>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
        <td class="black"></td>
        <td></td>
      </tr>
    </table>
  </div>
</body>
</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>Document</title>
  <style>
    .col {
      width: 50px;
      height: 50px;
    }

    .chessboard {
      width: 400px;
      border: 1px solid black;
    }

    .row {
      display: flex;
    }

    .row:nth-child(odd) .col:nth-child(even),
    .row:nth-child(even) .col:nth-child(odd) {
      background-color: black;
    }
  </style>
</head>
<body>
  <div class="chessboard">
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
    <div class="row">
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
      <div class="col"></div>
    </div>
  </div>
</body>
</html>

 

체스판

 

'HTML CSS 개념' 카테고리의 다른 글

CSS 기본 개념  (0) 2022.08.07
HTML 태그  (0) 2022.08.07
Breakpoints (부트스트랩)  (0) 2022.08.04
CSS 부트스트랩 bootstrap  (0) 2022.08.04
CSS 플렉스 Flex  (0) 2022.08.04
복사했습니다!