CSS로 삼각형을 그리는 6가지 팁(공유)
이 글에서는 CSS를 사용하여 삼각형을 그리는 N 기술을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
어떤 인터뷰에서 CSS CSS를 사용하여 삼각형을 그리는 방법에 대한 질문을 자주 볼 수 있는데, 가장 일반적인 대답은 일반적으로 테두리를 사용하여 그리는 것입니다.
현재 CSS가 발전하면서 실제로 CSS만 사용하여 삼각형을 그리는 흥미로운 방법이 많이 있습니다. 이 기사에서는 이에 대해 자세히 나열하겠습니다.
이 글을 통해 CSS를 사용하여 삼각형을 그리는 6가지 방법을 배울 수 있으며 모두 익히기가 매우 쉽습니다. 물론 이 글은 단지 소개일 뿐입니다. CSS는 날마다 바뀌고 있습니다. 이 글에서 누락된 몇 가지 흥미로운 방법을 메시지 영역에 추가하셔도 됩니다~
테두리를 사용하여 삼각형을 그리세요.
테두리를 사용하여 삼각형을 구현하는 것은 대부분의 사람들이 익힐 수 있는 것이어야 하며 높이와 너비가 0이고 테두리가 투명한 컨테이너를 사용하는 방법도 다양한 웹사이트에서 자주 볼 수 있습니다.
간단한 코드는 다음과 같습니다.
div { border-top: 50px solid yellowgreen; border-bottom: 50px solid deeppink; border-left: 50px solid bisque; border-right: 50px solid chocolate; }
높이와 너비가 0인 컨테이너, 다양한 색상의 테두리 설정:
이런 식으로 세 변의 테두리 색상이 투명<이라면 /code>, 매우 유용할 것입니다. 다양한 각도의 삼각형을 쉽게 얻을 수 있습니다: <code>transparent
,则非常容易得到各种角度的三角形:
CodePen Demo - 使用 border 实现三角形
https://codepen.io/Chokcoco/pen/GqrVpB
使用 linear-gradient 绘制三角形
接着,我们使用线性渐变 linear-gradient
实现三角形。
它的原理也非常简单,我们实现一个 45°
的渐变:
div { width: 100px; height: 100px; background: linear-gradient(45deg, deeppink, yellowgreen); }
让它的颜色从渐变色变为两种固定的颜色:
div { width: 100px; height: 100px; background: linear-gradient(45deg, deeppink, deeppink 50%, yellowgreen 50%, yellowgreen 100%); }
再让其中一个颜色透明即可:
div { background: linear-gradient(45deg, deeppink, deeppink 50%, transparent 50%, transparent 100%); }
通过旋转 rotate
或者 scale
,我们也能得到各种角度,不同大小的三角形,完整的 Demo 可以戳这里:
CodePen Demo - 使用线性渐变实现三角形
https://codepen.io/Chokcoco/pen/RwKKOZw
使用 conic-gradient 绘制三角形
还是渐变,上述我们使用了线性渐变实现三角形,有意思的是,在渐变家族中,角向渐变 conic-gradient
也可以用于实现三角形。
方法在于,角向渐变的圆心点是可以设置的,类似于径向渐变的圆心点也可以被设置。
我们将角向渐变的圆心点设置于 50% 0
,也就是 center top
,容器最上方的中间,再进行角向渐变,渐变到一定的角度范围内,都是三角形图形。
假设我们有一个 200px x 100px
高宽的容器,设置其角向渐变圆心点为 50% 0
:
并且,设置它从 90°
开始画角向渐变图,示意图如下:
可以看到,在初始的时候,角向渐变图形没有到第二条边的之前,都是三角形,我们选取适合的角度,非常容易的可以得到一个三角形:
div { background: conic-gradient(from 90deg at 50% 0, deeppink 0, deeppink 45deg, transparent 45.1deg); }
上述代码中的 deeppink 45deg, transparent 45.1deg
多出来的 0.1deg
是为了简单消除渐变产生的锯齿的影响,这样,我们通过 conic-gradient
,也轻松的得到了一个三角形。
同理,再配合旋转 rotate
或者 scale
,我们也能得到各种角度,不同大小的三角形,完整的 Demo 可以戳这里:
CodePen Demo - 使用角向渐变实现三角形
https://codepen.io/Chokcoco/pen/qBRRZJr
transform: rotate 配合 overflow: hidden 绘制三角形
这种方法还是比较常规的,使用 transform: rotate
配合 overflow: hidden

🎜CodePen 데모 - 테두리를 사용하여 삼각형 구현🎜🎜https://codepen.io/Chokcoco/pen/GqrVpB🎜🎜🎜 선형 그라데이션을 사용하여 삼각형을 그립니다🎜🎜🎜그런 다음 선형 그라데이션
linear-gradient
을 사용하여 삼각형을 구현합니다. 🎜🎜원칙도 매우 간단합니다. 45°
그라데이션을 구현합니다: 🎜.triangle { width: 141px; height: 100px; position: relative; overflow: hidden; &::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: deeppink; transform-origin: left bottom; transform: rotate(45deg); } }

div { background: deeppink; clip-path: polygon(0 0, 100% 0, 0 100%, 0 0); }

◄ : ◄ ► : ► ▼ : ▼ ▲ : ▲ ⊿ : ⊿ △ : △

회전
또는 scale
을 사용하면 다양한 각도와 크기의 삼각형을 얻을 수도 있습니다. 전체 데모는 여기에서 클릭할 수 있습니다: 🎜🎜CodePen 데모 - 선형 그래디언트를 사용하여 구현됨 Triangle🎜🎜https: //codepen.io/Chokcoco/pen/RwKKOZw🎜🎜🎜원뿔형 그라데이션을 사용하여 삼각형🎜🎜🎜또는 그라데이션을 그렸습니다. 흥미롭게도 그라데이션에서는 선형 그라데이션을 사용했습니다. 그래디언트
conic-gradient
는 삼각형을 구현하는 데에도 사용할 수 있습니다. 🎜🎜방법은 각도 그라데이션의 중심점을 설정할 수 있으며🎜, 방사형 그라데이션과 유사한 원의 중심점도 설정할 수 있습니다. 🎜🎜각도 그라데이션의 중심점을 50% 0
, 즉 컨테이너 상단 중앙인 center top
에 설정한 후 각도를 수행합니다. 그라데이션이 특정 각도 범위에 도달할 때까지 그라데이션은 모두 삼각형 모양입니다. 🎜🎜높이와 너비가 200px x 100px
인 컨테이너가 있고 각도 그라데이션 중심점을 50% 0
으로 설정했다고 가정해 보겠습니다. 🎜🎜
에서 설정하세요 90°</ code> 각도 그라데이션 다이어그램 그리기를 시작합니다. 다이어그램은 다음과 같습니다: 🎜🎜<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/473/819/672/1622774914344263.gif" class="lazy" .php.cn/upload/image/904/371/434/1622774875213800.gif" title="1622774875213800.gif" alt="CSS로 삼각형을 그리는 6가지 팁(공유)"/>🎜🎜초기 단계에서 각도 그라데이션 그래픽이 두 번째 변에 도달하기 전에 모두 삼각형임을 알 수 있으며 적절한 각도를 선택하면 쉽게 할 수 있습니다. 삼각형을 얻으세요. "/>🎜 🎜위 코드에서 <code> deeppink 45deg, transparent 45.1deg
는 단순히 그라데이션으로 인한 앨리어싱 효과를 제거하기 위한 것입니다. 이렇게 원추형 그라데이션
을 전달합니다. code>를 이용하면 쉽게 삼각형을 얻을 수 있습니다. 🎜🎜마찬가지로 회전 회전
또는 크기 조정
을 사용하면 다양한 각도와 크기의 삼각형을 얻을 수도 있습니다. 전체 데모는 여기에서 클릭할 수 있습니다: 🎜🎜CodePen Demo - 각도 그라데이션을 사용하여 삼각형 구현🎜🎜https://codepen.io/Chokcoco/pen/qBRRZJr🎜🎜🎜transform: 회전 및 오버플로: 숨겨진 삼각형 그리기🎜🎜🎜이 방법은 여전히 비교적 일반적입니다. 예,
오버플로: 숨김
과 함께 변환: 회전
을 사용하세요. 한눈에 이해하고 배울 수 있는 간단한 애니메이션 다이어그램은 다음과 같습니다. 🎜设置图形的旋转中心在左下角 left bottom
,进行旋转,配合 overflow: hidden
。
完整的代码:
.triangle { width: 141px; height: 100px; position: relative; overflow: hidden; &::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: deeppink; transform-origin: left bottom; transform: rotate(45deg); } }
CodePen Demo - transform: rotate 配合 overflow: hidden 实现三角形
https://codepen.io/Chokcoco/pen/LYxyyPv
使用 clip-path 绘制三角形
clip-path
一个非常有意思的 CSS 属性。
clip-path
CSS 属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的 URL 定义的路径或者外部 SVG 的路径。
也就是说,使用 clip-path
可以将一个容器裁剪成任何我们想要的样子。
通过 3 个坐标点,实现一个多边形,多余的空间则会被裁减掉,代码也非常简单:
div { background: deeppink; clip-path: polygon(0 0, 100% 0, 0 100%, 0 0); }
CodePen Demo - 使用 clip-path 实现三角形
https://codepen.io/Chokcoco/pen/GRrmEzY
在这个网站中 -- CSS clip-path maker,你可以快捷地创建简单的 clip-path
图形,得到对应的 CSS 代码。
利用字符绘制三角形
OK,最后一种,有些独特,就是使用字符表示三角形。
下面列出一些三角形形状的字符的十进制 Unicode 表示码。
◄ : ◄ ► : ► ▼ : ▼ ▲ : ▲ ⊿ : ⊿ △ : △
譬如,我们使用 ▼
实现一个三角形 ▼,代码如下:
<div class="normal">▼ </div>
div { font-size: 100px; color: deeppink; }
效果还是不错的:
然而,需要注意的是,使用字符表示三角形与当前设定的字体是强相关的,不同的字体绘制出的同一个字符是不一样的,我在 Google Font 上随机选取了几个不同的字体,分别表示同一个字符,得到的效果如下:
可以看到,不同字体的形状、大小及基线都是不一样的,所以如果你想使用字符三角形,确保用户的浏览器安装了你指定的字体,否则,不要使用这种方式。
完整的对比 Demo,你可以戳这里:
CodePen Demo - 使用字符实现三角形
https://codepen.io/Chokcoco/pen/abpWyzy
最后
好了,本文到此结束,关于使用 CSS 绘制三角的 6 种不同方式,希望对你有帮助 :)
原文地址:https://segmentfault.com/a/1190000039808190
作者:chokcoco
更多编程相关知识,请访问:编程视频!!
위 내용은 CSS로 삼각형을 그리는 6가지 팁(공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

답 : 부트 스트랩의 날짜 선택기 구성 요소를 사용하여 페이지에서 날짜를 볼 수 있습니다. 단계 : 부트 스트랩 프레임 워크를 소개하십시오. HTML에서 날짜 선택기 입력 상자를 만듭니다. 부트 스트랩은 선택기에 스타일을 자동으로 추가합니다. JavaScript를 사용하여 선택한 날짜를 얻으십시오.

부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.
