AD JB Toolbox 01

CSS / Tutorial / 마름모 만드는 방법

CSS로 삼각형을 만들 수 있다면 마름모는 쉽게 만들 수 있습니다. 삼각형을 두 개 붙이면 마름모가 되기 때문입니다. 마름모는 네 변의 길이가 같은 사각형이므로, 이등변삼각형 두 개를 붙이며 됩니다.

  • HTML 문서에 다음과 같이 내용이 없는 요소를 하나 넣습니다.
<div class="rhombus"></div>
  • 크기를 0으로 한 후, border 속성을 이용하여 이등변삼각형을 만듭니다.
  • position: relative;는 나머지 반쪽의 위치를 잡기 위해 넣은 것입니다.
.rhombus {
  width: 0px;
  height: 0px;
  border-right: 200px solid #666666;
  border-top: 100px solid transparent;
  border-bottom: 100px solid transparent;
  position: relative;
  left: -50%;
}

  • :after 선택자를 이용하여 삼각형을 하나 더 만듭니다.
  • position을 이용하여 위치를 잘 맞추면 마름모가 만들어집니다.
.rhombus:after {
  content: "";
  border-left: 200px solid #666666;
  border-top: 100px solid transparent;
  border-bottom: 100px solid transparent;
  position: absolute;
  top: -100px;
  left: 200px;
}

  • 전체 코드는 다음과 같습니다.
<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>CSS</title>
    <style>
      body {
        margin: 0px;
      }
      .container {
        display: flex;
        height: 100vh;
        justify-content: center;
        align-items: center;
      }
      .rhombus {
        width: 0px;
        height: 0px;
        border-right: 200px solid #666666;
        border-top: 100px solid transparent;
        border-bottom: 100px solid transparent;
        position: relative;
        left: -50%;
      }
      .rhombus:after {
        content: "";
        border-left: 200px solid #666666;
        border-top: 100px solid transparent;
        border-bottom: 100px solid transparent;
        position: absolute;
        top: -100px;
        left: 200px;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="item">
        <div class="rhombus"></div>
      </div>
    </div>
  </body>
</html>
같은 카테고리의 다른 글
CSS 강좌 / Grid 반복 열·자동 배치·영역 이름 사용하기

CSS 강좌 / Grid 반복 열·자동 배치·영역 이름 사용하기

repeat·auto-fit·auto-fill의 차이와 자동 배치 순서를 실행 예제로 비교합니다. grid-template-areas로 페이지를 구성하고 모바일 전환, 영역 이름 오류와 읽기 순서도 확인합니다.

CSS 강좌 / display와 기본 배치 흐름 이해하기

CSS 강좌 / display와 기본 배치 흐름 이해하기

block·inline·inline-block의 줄바꿈과 크기 적용을 같은 요소로 비교합니다. display: none과 visibility: hidden의 공간 차이, 인라인 이미지의 크기 예외를 실행하며 확인합니다.

CSS 강좌 / 문법: 선택자·선언·주석과 오류 처리

CSS 강좌 / 문법: 선택자·선언·주석과 오류 처리

CSS의 선택자·선언·구분 기호·주석을 예제로 설명합니다. 잘못된 속성값과 세미콜론 누락을 비교하고, 실행 가능한 예제와 오류 수정 실습으로 브라우저가 적용한 결과를 확인합니다.

CSS / Tutorial / 구분선 만드는 방법

CSS / Tutorial / 구분선 만드는 방법

글의 완급 조절, 내용 전환 등을 위해 구분선을 사용하는 경우가 많습니다. 선은 여러 가지 방식으로 만들 수 있는데, 보기 좋게 꾸미는 것은 CSS로 합니다. 아래는 div 태그에 모양을 입혀서 구분선을 만드는 몇 가지 예제입니다.

CSS 강좌 / Grid로 행과 열 만들기

CSS 강좌 / Grid로 행과 열 만들기

Grid의 격자선·트랙·셀과 fr 단위를 이해하고 명시적 행, 자동 행, 열을 가로지르는 배치를 전체 예제로 익힙니다. 긴 콘텐츠와 모바일에서 생기는 넘침도 비교합니다.

CSS 강좌 / Flexbox로 요소를 한 방향에 배치하기

CSS 강좌 / Flexbox로 요소를 한 방향에 배치하기

Flexbox의 직접 자식, 주축과 교차축, row·column·reverse의 차이를 전체 예제로 익힙니다. 초기 크기와 키보드 순서를 비교하면서 배치가 달라지는 이유를 확인합니다.

CSS 강좌 / @keyframes 애니메이션과 움직임 줄이기

CSS 강좌 / @keyframes 애니메이션과 움직임 줄이기

키프레임의 중간 상태와 재생 시간·지연·방향·횟수·종료 상태를 비교합니다. 일시 정지와 움직임 감소 설정까지 전체 예제로 확인합니다.

CSS 강좌 / 컨테이너 쿼리로 구성 요소 너비에 맞춰 꾸미기

CSS 강좌 / 컨테이너 쿼리로 구성 요소 너비에 맞춰 꾸미기

같은 카드가 본문과 사이드바의 폭에 맞춰 배치를 바꾸도록 컨테이너 쿼리를 적용합니다. 중첩 컨테이너와 이름 선택, 조건이 적용되지 않는 원인도 살펴봅니다.

CSS 강좌 / 미디어 쿼리와 콘텐츠 기준 분기점 만들기

CSS 강좌 / 미디어 쿼리와 콘텐츠 기준 분기점 만들기

카드의 최소 폭과 여백을 기준으로 미디어 쿼리 분기점을 정합니다. 1·2·3열 전체 예제와 경계값 비교로 조건이 적용되는 과정을 확인합니다.

CSS 강좌 / position의 값이 fixed일 때 가운데 정렬하는 방법

CSS 강좌 / position의 값이 fixed일 때 가운데 정렬하는 방법

position의 fixed를 이용하여 요소의 위치를 고정시킬 수 있습니다. 예를 들어 상단에 고정되는 메뉴바를 만들 때 사용합니다. 그런데, fixed를 하면 요소가 한쪽으로 치우칩니다. 만약 가운데에 위치시키고 싶다면 어떻게 할까요? transform 속성으로 해결할 수 있습니다.