CSS & JS Effect – 画三角形 Triangle
前言
画三角形有什么用?
可以做这样的 Design

参考
5 Ways To Create A Triangle With CSS
Border Triangle
用 border 做 三角形应该是最远古的招数了.
HTML
<div class="box"></div>
CSS
.box {
border-style: solid;
border-color: yellow blue pink red;
border-width: 150px 100px 150px 100px;
width: 0;
height: 0;
}
效果

当只有 border 没有 width, height 的时候, border 是尖尖的.
红色 + 黄色区域就是一个 90° 的三角形. 我们只要把蓝色和粉色修改成 transparent 三角形就出现了.
border-color: yellow yellow transparent transparent;
效果

用 border 做三角形并不是一个很好的方案. 它不仅不直观, 更糟糕的是 border width 很难控制. 比如我想要 height 100% 它就做不了.
Linear Gradient Triangle
linear gradient 可以调角度. 所以也可以搞出三角形.
.box {
width: 200px;
height: 300px;
background: linear-gradient(to bottom right, green 50%, transparent 50%);
}
效果

to bottom right 是渐变的方向. green 50% 表示 50% 以前都是纯绿色, 不要渐变. transparent 50% 表示从 50% 以后是纯 transparent.
所以看上去完全没有渐变的效果. 只是利用了它的角度而已.
这招比 border 好多了. 但还不是很直观. 有一种用 A 方法做出 B 效果的感觉.
Clip-path Triangle
clip-path 才是真确的方式. 三角形不就是四角形的一半吗? 那就 clip 丫
.box {
width: 150px;
height: 200px;
background: green;
clip-path: polygon(0% 0%, 0% 100%, 100% 0%);
}
polygon 是一个 point collection.
一共有 3 个 point
0% 0% 是坐标 X, Y

三个点连起来的地方要保留, 其余的 clip 掉. 这样三角形就出来了.
Image with Triangle
<img src="../images/tifa1.jpg" />
CSS
img {
width: 500px;
height: auto;
aspect-ratio: 4 / 3;
object-fit: cover;
clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}
效果

CSS & JS Effect – 画三角形 Triangle的更多相关文章
- css中border画三角形
<!doctype html><html lang="en"> <head> <meta charset="UTF-8&quo ...
- 用CSS的border画三角形
用border画三角形,实际上属于一种奇淫巧技. 利用的是border的一个特性:当一个元素的宽高都为0时,给border设置宽度(至少给2个相邻的边框设置宽度),border就会撑开这个元素. 四个 ...
- css 利用border 绘制三角形. triangle
1.基础三角形. <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Sass mixin 使用css border属性画三角形
To be finished. //triangle@mixin css-triangle ($direction: "down", $size: 20px, $color: #0 ...
- CSS画三角形引发的一些思考
今天刷知乎时看到了一个问题,有谁能详细讲一下css如何画出一个三角形?怎么想都想不懂? - 知乎.很巧,刚入前端坑的我前不久也遇到过这个问题,今天再来谈一谈这个问题则是因为知乎的一些答案引发了我的 ...
- css伪元素before/after和画三角形的搭配应用
想要实现的效果如下: 第一步:如何用css画出三角形? /* css画三角形 */ .sanjiao{ ; border-top:40px solid red; border-bottom:40px ...
- css画三角形原理解析
<div id="div1"></div><div id="div2"></div><div id=&qu ...
- HTML 和 CSS 画三角形和画多边行基本原理及实践
基本 HTML 标签 <div class = 'test'></div> 基本 CSS 代码 .test { width: 100px; height: 100px; bac ...
- 纯css画三角形
纯css画三角形与border元素相关 设置border的属性 width: 100px; height: 100px; border-style: solid; border-width: 100p ...
- 用CSS border相关属性画三角形
效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2l3aV9jb2Rlcg==/font/5a6L5L2T/fontsize/400/fill/I0J ...
随机推荐
- 利用opencv库使用Python将视频逐帧转为图片
做成型的语义分割软件需要,写了一个,在博客记录一下 import cv2 def video2pic(videoFile, outputFile): vc = cv2.VideoCapture(vid ...
- [oeasy]python0106 七段数码管_显示字母_BP机
七位数码管进化 回忆上次内容 上次回顾了 7-seg 七位数码管 可以显示数字 甚至是十六进制数字 添加图片注释,不超过 140 字(可选) 能否让 七位数码管 将26个字母 全部都显 ...
- 企业级环境部署:在 Linux 服务器上如何搭建和部署 Python 环境?
在大部分企业里,自动化测试框架落地都肯定会集成到Jenkins服务器上做持续集成测试,自动构建以及发送结果到邮箱,实现真正的无人值守测试. 不过Jenkins搭建一般都会部署在公司的服务器上,不会在私 ...
- mysql DCL常用命令
登录数据库: mysql -u root -p 查看本机MySQL中所有的用户 select user ,host from mysql.user; 查看所有数据库: show databases; ...
- 【Scala】03 函数
1.Scala的方法语法: object Hello { def main(args : Array[String]) : Unit = { // scala 允许在方法的声明中再声明方法,并且调用 ...
- 【Spring-Security】Re12 JsonWebToken
一.认证机制种类: 1.HTTP-Basic-Auth 每次请求接口必须提供账号信息[username + password] 但是信息有暴露风险,配合RestFul风格使用,逐渐淘汰 2.Cooki ...
- 国产操作系统 deepin —— UOS 系统下使用蓝牙音箱或蓝牙耳机不能正常工作
近日搞来了一个国产CPU的电脑,自带系统为UOS,具体可见: https://www.cnblogs.com/devilmaycry812839668/p/14828130.html 忽然发现这个系统 ...
- 【转载】 vim中常用折叠命令
原文地址: https://www.cnblogs.com/litifeng/p/11675547.html 个人推荐的一个视频教程地址: 上古神器Vim:从恶言相向到爱不释手 - 终极Vim教程01 ...
- 面试题:写一个遍历ArrayList的时候,删除一个元素的例子?并说说原理。
代码实现 方法一:for循环 public static void main(String[] args) { ArrayList<String> list = new ArrayList ...
- ARMv8-A 地址翻译技术之MMU的前世今生
MMU的重要性不言而喻,支撑操作系统之上的各种复杂应用.但在正式讲MMU之前,我们先说说MMU的发展史,因为ARMv8-A的MMU相当复杂,直接切入正题,会显得比较枯燥.废话不多说,咱们马上开始: 一 ...