AD JB Toolbox 01

CSS / Tutorial / 삼각형 만드는 방법

CSS의 border 속성으로 삼각형을 만들 수 있습니다. 여러 형태의 삼각형을 만들고, 그 삼각형을 회전하는 방법을 알아봅니다.

삼각형 만들기

기본

  • HTML 문서에 다음과 같이 내용이 없는 요소를 하나 만듭니다.
<div class="triangle"></div>
  • 가로와 세로의 크기를 0으로 만듭니다.
  • 아래쪽, 왼쪽, 오른쪽에 테두리를 추가하면 사각형을 만들 수 있습니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 180px solid #666666;
  border-right: 180px solid #666666;
}

  • 왼쪽 테두리의 색을 투명으로 하고...
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 180px solid transparent;
  border-right: 180px solid #666666;
}

  • 오른쪽 테두리의 색을 투명으로 하면 삼각형이 만들어집니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 180px solid transparent;
  border-right: 180px solid transparent;
}

  • 테두리의 두께를 적절히 변경하면 여러 형태의 삼각형을 만들 수 있습니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 180px solid transparent;
  border-right: 480px solid transparent;
}

정삼각형

  • 정삼각형의 높이는 밑변 길이의 반의 1.732배입니다.
  • 직접 계산하거나, calc 속성으로 적절히 높이를 정해주면 정삼각형이 만들어집니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: calc( 180px * 1.732 ) solid #666666;
  border-left: 180px solid transparent;
  border-right: 180px solid transparent;
}

직각삼각형

  • 왼쪽 테두리의 크기를 0으로 하면 직각삼각형이 만들어집니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 0px solid transparent;
  border-right: 240px solid transparent;
}

삼각형 회전하기

방법 1

  • 테두리에 적용되는 값을 변경하면 삼각형을 회전 시킬 수 있습니다.
  • 이 방법의 단점은 90도씩만 회전 가능하다는 것입니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 180px solid transparent;
  border-right: 180px solid transparent;
}

.triangle {
  width: 0px;
  height: 0px;
  border-left: 360px solid #666666;
  border-top: 180px solid transparent;
  border-bottom: 180px solid transparent;
}

.triangle {
  width: 0px;
  height: 0px;
  border-top: 360px solid #666666;
  border-left: 180px solid transparent;
  border-right: 180px solid transparent;
}

.triangle {
  width: 0px;
  height: 0px;
  border-right: 360px solid #666666;
  border-top: 180px solid transparent;
  border-bottom: 180px solid transparent;
}

방법 2

  • 원하는 만큼 회전 시키려면 transform 속성의 rotate를 사용합니다.
  • 각도를 입력하면 자유롭게 회전 시킬 수 있습니다.
.triangle {
  width: 0px;
  height: 0px;
  border-bottom: 360px solid #666666;
  border-left: 180px solid transparent;
  border-right: 180px solid transparent;
  transform: rotate( 45deg );
}

같은 카테고리의 다른 글
CSS 강좌 / display와 기본 배치 흐름 이해하기

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

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

CSS 강좌 / 상속·우선순위·캐스케이드로 최종 스타일 결정하기

CSS 강좌 / 상속·우선순위·캐스케이드로 최종 스타일 결정하기

상속과 직접 지정의 차이부터 중요도·선택자 우선순위·작성 순서까지 단계별로 판단합니다. 같은 문단의 색상·여백·테두리를 예측하는 전체 예제와 !important·인라인 스타일의 비교 실습을 제공합니다.

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

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

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

CSS 강좌 / 모바일·큰 화면·확대 보기에서 레이아웃 점검하기

CSS 강좌 / 모바일·큰 화면·확대 보기에서 레이아웃 점검하기

점검용 페이지에서 화면 폭, 확대, 긴 문자열과 키보드 조작을 확인합니다. 가로 넘침과 글자 잘림을 재현하고 원인 확인부터 수정·재점검까지 실습합니다.

CSS 강좌 / Flexbox 정렬·간격·줄바꿈·크기 조절하기

CSS 강좌 / Flexbox 정렬·간격·줄바꿈·크기 조절하기

Flexbox의 아이템 정렬과 여러 줄 정렬을 구분하고, gap·줄바꿈·grow·shrink·basis를 비교 예제로 익힙니다. 긴 문자열이 넘치는 원인과 크기·줄바꿈의 해결 방법도 다룹니다.

CSS / Tutorial / 마우스 호버 효과 / 텍스트 나오게 하는 방법

CSS / Tutorial / 마우스 호버 효과 / 텍스트 나오게 하는 방법

CSS로 특정 요소에 마우스를 올렸을 때 보이지 않던 특정 요소가 보이게 할 수 있습니다. 아래는 문단에 마우스를 올렸을 때 div 요소가 나오게 하는 예제입니다. div 요소 안에 텍스트가 있지만, 텍스트가 아닌 이미지 등 다른 것도 가능합니다.

CSS / Tutorial / 삼각형 만드는 방법

CSS / Tutorial / 삼각형 만드는 방법

CSS의 border 속성으로 삼각형을 만들 수 있습니다. 여러 형태의 삼각형을 만들고, 그 삼각형을 회전하는 방법을 알아봅니다.

CSS 강좌 / !important

CSS 강좌 / !important

CSS에서 !important는 특정 스타일 규칙이 다른 모든 스타일 규칙보다 우선 적용되도록 강제하는 데 사용됩니다. 이 키워드는 일반적인 스타일 우선 순위를 무시하고, 해당 스타일이 다른 어떤 스타일보다도 높은 우선순위를 가지도록 합니다.

CSS 강좌 / CSS를 HTML에 적용시키는 방법

CSS 강좌 / CSS를 HTML에 적용시키는 방법

인라인·내부·외부 CSS의 작성 위치를 비교하고, 두 HTML 페이지가 하나의 스타일시트를 공유하도록 구성합니다. 폴더 위치에 따른 경로와 CSS가 적용되지 않을 때의 확인 순서도 설명합니다.

CSS 강좌 / 유튜브 동영상을 반응형으로 삽입하는 방법

CSS 강좌 / 유튜브 동영상을 반응형으로 삽입하는 방법

유튜브 영상을 블로그나 홈페이지에 넣을 때 보통 iframe을 사용합니다. 코드는 유튜브 영상 공유에서 를 클릭하여 구할 수 있습니다. 아래와 같은 코드인데, 고정폭입니다. 즉 웹브라우저의 가로폭이 커지든 작아지든 가로폭이 일정합니다. 이를 반응형으로 만들고 싶다면 아래처럼 합니다.