찾다
웹 프론트엔드CSS 튜토리얼CSS로 삼각형을 그리는 6가지 팁(공유)

이 글에서는 CSS를 사용하여 삼각형을 그리는 N 기술을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

CSS로 삼각형을 그리는 6가지 팁(공유)

어떤 인터뷰에서 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인 컨테이너, 다양한 색상의 테두리 설정:

CSS로 삼각형을 그리는 6가지 팁(공유)

이런 식으로 세 변의 테두리 색상이 투명, 매우 유용할 것입니다. 다양한 각도의 삼각형을 쉽게 얻을 수 있습니다: <code>transparent,则非常容易得到各种角度的三角形:

CSS로 삼각형을 그리는 6가지 팁(공유)

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);
}

CSS로 삼각형을 그리는 6가지 팁(공유)

让它的颜色从渐变色变为两种固定的颜色:

div {
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, deeppink, deeppink 50%, yellowgreen 50%, yellowgreen 100%);
}

CSS로 삼각형을 그리는 6가지 팁(공유)

再让其中一个颜色透明即可:

div {
  background: linear-gradient(45deg, deeppink, deeppink 50%, transparent 50%, transparent 100%);
}

CSS로 삼각형을 그리는 6가지 팁(공유)

通过旋转 rotate 或者 scale,我们也能得到各种角度,不同大小的三角形,完整的 Demo 可以戳这里:

CodePen Demo - 使用线性渐变实现三角形

https://codepen.io/Chokcoco/pen/RwKKOZw

使用 conic-gradient 绘制三角形

还是渐变,上述我们使用了线性渐变实现三角形,有意思的是,在渐变家族中,角向渐变 conic-gradient 也可以用于实现三角形。

方法在于,角向渐变的圆心点是可以设置的,类似于径向渐变的圆心点也可以被设置。

我们将角向渐变的圆心点设置于 50% 0,也就是 center top,容器最上方的中间,再进行角向渐变,渐变到一定的角度范围内,都是三角形图形。

假设我们有一个 200px x 100px 高宽的容器,设置其角向渐变圆心点为 50% 0

CSS로 삼각형을 그리는 6가지 팁(공유)

并且,设置它从 90° 开始画角向渐变图,示意图如下:

CSS로 삼각형을 그리는 6가지 팁(공유)

可以看到,在初始的时候,角向渐变图形没有到第二条边的之前,都是三角形,我们选取适合的角度,非常容易的可以得到一个三角形:

div {
    background: conic-gradient(from 90deg at 50% 0, deeppink 0, deeppink 45deg, transparent 45.1deg);
}

CSS로 삼각형을 그리는 6가지 팁(공유)

上述代码中的 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

2 .png🎜
🎜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);
    }
}
🎜CSS로 삼각형을 그리는 6가지 팁(공유)🎜🎜색상을 그라데이션 색상에서 두 가지 고정 색상으로 변경하세요: 🎜
div {
    background: deeppink;
    clip-path: polygon(0 0, 100% 0, 0 100%, 0 0);
}
🎜CSS로 삼각형을 그리는 6가지 팁(공유)🎜🎜색상 중 하나를 투명하게 만드세요:🎜
◄ : &#9668; 
► : &#9658; 
▼ : &#9660; 
▲ : &#9650;
⊿ : &#8895;
△ : &#9651;
🎜CSS로 삼각형을 그리는 6가지 팁(공유)🎜🎜회전하여 회전 또는 scale을 사용하면 다양한 각도와 크기의 삼각형을 얻을 수도 있습니다. 전체 데모는 여기에서 클릭할 수 있습니다: 🎜
🎜CodePen 데모 - 선형 그래디언트를 사용하여 구현됨 Triangle🎜🎜https: //codepen.io/Chokcoco/pen/RwKKOZw🎜
🎜🎜원뿔형 그라데이션을 사용하여 삼각형🎜🎜🎜또는 그라데이션을 그렸습니다. 흥미롭게도 그라데이션에서는 선형 그라데이션을 사용했습니다. 그래디언트 conic-gradient는 삼각형을 구현하는 데에도 사용할 수 있습니다. 🎜🎜방법은 각도 그라데이션의 중심점을 설정할 수 있으며🎜, 방사형 그라데이션과 유사한 원의 중심점도 설정할 수 있습니다. 🎜🎜각도 그라데이션의 중심점을 50% 0, 즉 컨테이너 상단 중앙인 center top에 설정한 후 각도를 수행합니다. 그라데이션이 특정 각도 범위에 도달할 때까지 그라데이션은 모두 삼각형 모양입니다. 🎜🎜높이와 너비가 200px x 100px인 컨테이너가 있고 각도 그라데이션 중심점을 50% 0으로 설정했다고 가정해 보겠습니다. 🎜🎜CSS로 삼각형을 그리는 6가지 팁(공유)🎜🎜그리고 에서 설정하세요 90° code> 각도 그라데이션 다이어그램 그리기를 시작합니다. 다이어그램은 다음과 같습니다: 🎜🎜<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/image/473/819/672/1622774914344263.gif?x-oss-process=image/resize,p_40" class="lazy" .php.cn title="1622774875213800.gif" alt="CSS로 삼각형을 그리는 6가지 팁(공유)">🎜🎜초기 단계에서 각도 그라데이션 그래픽이 두 번째 변에 도달하기 전에 모두 삼각형임을 알 수 있으며 적절한 각도를 선택하면 쉽게 할 수 있습니다. 삼각형을 얻으세요. "/>🎜 🎜위 코드에서 <code> deeppink 45deg, transparent 45.1deg는 단순히 그라데이션으로 인한 앨리어싱 효과를 제거하기 위한 것입니다. 이렇게 원추형 그라데이션을 전달합니다. code>를 이용하면 쉽게 삼각형을 얻을 수 있습니다. 🎜🎜마찬가지로 회전 회전 또는 크기 조정을 사용하면 다양한 각도와 크기의 삼각형을 얻을 수도 있습니다. 전체 데모는 여기에서 클릭할 수 있습니다: 🎜
🎜CodePen Demo - 각도 그라데이션을 사용하여 삼각형 구현🎜🎜https://codepen.io/Chokcoco/pen/qBRRZJr🎜
🎜🎜transform: 회전 및 오버플로: 숨겨진 삼각형 그리기🎜🎜🎜이 방법은 여전히 ​​비교적 일반적입니다. 예, 오버플로: 숨김과 함께 변환: 회전을 사용하세요. 한눈에 이해하고 배울 수 있는 간단한 애니메이션 다이어그램은 다음과 같습니다. 🎜

CSS로 삼각형을 그리는 6가지 팁(공유)

设置图形的旋转中心在左下角 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);
}

CSS로 삼각형을 그리는 6가지 팁(공유)

CodePen Demo -  使用 clip-path 实现三角形

https://codepen.io/Chokcoco/pen/GRrmEzY

在这个网站中 -- CSS clip-path maker,你可以快捷地创建简单的 clip-path 图形,得到对应的 CSS 代码。

1CSS로 삼각형을 그리는 6가지 팁(공유)

利用字符绘制三角形

OK,最后一种,有些独特,就是使用字符表示三角形。

下面列出一些三角形形状的字符的十进制 Unicode 表示码。

◄ : &#9668; 
► : &#9658; 
▼ : &#9660; 
▲ : &#9650;
⊿ : &#8895;
△ : &#9651;

譬如,我们使用 实现一个三角形 ▼,代码如下:

<div class="normal">&#9660; </div>
div {
    font-size: 100px;
    color: deeppink;
}

效果还是不错的:

1CSS로 삼각형을 그리는 6가지 팁(공유)

然而,需要注意的是,使用字符表示三角形与当前设定的字体是强相关的,不同的字体绘制出的同一个字符是不一样的,我在 Google Font 上随机选取了几个不同的字体,分别表示同一个字符,得到的效果如下:

1CSS로 삼각형을 그리는 6가지 팁(공유)

可以看到,不同字体的形状、大小及基线都是不一样的,所以如果你想使用字符三角形,确保用户的浏览器安装了你指定的字体,否则,不要使用这种方式。

完整的对比 Demo,你可以戳这里:

CodePen Demo -   使用字符实现三角形

https://codepen.io/Chokcoco/pen/abpWyzy

最后

好了,本文到此结束,关于使用 CSS 绘制三角的 6 种不同方式,希望对你有帮助 :)

原文地址:https://segmentfault.com/a/1190000039808190

作者:chokcoco

更多编程相关知识,请访问:编程视频!!

위 내용은 CSS로 삼각형을 그리는 6가지 팁(공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 segmentfault에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
利用CSS怎么创建渐变色边框?5种方法分享利用CSS怎么创建渐变色边框?5种方法分享Oct 13, 2021 am 10:19 AM

利用CSS怎么创建渐变色边框?下面本篇文章给大家分享CSS实现渐变色边框的5种方法,希望对大家有所帮助!

css ul标签怎么去掉圆点css ul标签怎么去掉圆点Apr 25, 2022 pm 05:55 PM

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

css与xml的区别是什么css与xml的区别是什么Apr 24, 2022 am 11:21 AM

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

css3怎么实现鼠标隐藏效果css3怎么实现鼠标隐藏效果Apr 27, 2022 pm 05:20 PM

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

css怎么实现英文小写转为大写css怎么实现英文小写转为大写Apr 25, 2022 pm 06:35 PM

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

css怎么设置i不是斜体css怎么设置i不是斜体Apr 20, 2022 am 10:36 AM

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

rtl在css是什么意思rtl在css是什么意思Apr 24, 2022 am 11:07 AM

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

怎么设置rotate在css3的旋转中心点怎么设置rotate在css3的旋转中心点Apr 24, 2022 am 10:50 AM

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구