前言

画三角形有什么用?

可以做这样的 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的更多相关文章

  1. css中border画三角形

    <!doctype html><html lang="en"> <head>  <meta charset="UTF-8&quo ...

  2. 用CSS的border画三角形

    用border画三角形,实际上属于一种奇淫巧技. 利用的是border的一个特性:当一个元素的宽高都为0时,给border设置宽度(至少给2个相邻的边框设置宽度),border就会撑开这个元素. 四个 ...

  3. css 利用border 绘制三角形. triangle

    1.基础三角形. <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  4. Sass mixin 使用css border属性画三角形

    To be finished. //triangle@mixin css-triangle ($direction: "down", $size: 20px, $color: #0 ...

  5. CSS画三角形引发的一些思考

      今天刷知乎时看到了一个问题,有谁能详细讲一下css如何画出一个三角形?怎么想都想不懂? - 知乎.很巧,刚入前端坑的我前不久也遇到过这个问题,今天再来谈一谈这个问题则是因为知乎的一些答案引发了我的 ...

  6. css伪元素before/after和画三角形的搭配应用

    想要实现的效果如下: 第一步:如何用css画出三角形? /* css画三角形 */ .sanjiao{ ; border-top:40px solid red; border-bottom:40px ...

  7. css画三角形原理解析

    <div id="div1"></div><div id="div2"></div><div id=&qu ...

  8. HTML 和 CSS 画三角形和画多边行基本原理及实践

    基本 HTML 标签 <div class = 'test'></div> 基本 CSS 代码 .test { width: 100px; height: 100px; bac ...

  9. 纯css画三角形

    纯css画三角形与border元素相关 设置border的属性 width: 100px; height: 100px; border-style: solid; border-width: 100p ...

  10. 用CSS border相关属性画三角形

    效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2l3aV9jb2Rlcg==/font/5a6L5L2T/fontsize/400/fill/I0J ...

随机推荐

  1. 学习 React 需要具备的 JavaScript 知识

    学习 React 需要具备的 JavaScript 知识 为什么要学习 React? React 可以与任何其他库或框架无缝集成,因为 React 是一个仅视图库(它是 Model View C on ...

  2. Golang 高性能 Websocket 库 gws 使用与设计(一)

    前言 大家好这里是,白泽,这期分析一下 golang 开源高性能 websocket 库 gws. 视频讲解请关注B站:白泽talk 介绍 gws:https://github.com/lxzan/g ...

  3. HDP 源码集

    HDP 各个组件的源码(含历史各个版本) 分支 组件 标签 最后发版时间 地址 hadoop 2256 2020-12-21 17:44 https://gitee.com/piaolingzxh/h ...

  4. 【DataBase】MySQL 13 分组查询

    视频参考自:P59 - P68 https://www.bilibili.com/video/BV1xW411u7ax 分组查询 GROUP BY -- group by 子句 -- 要注意!grou ...

  5. 【Mybatis-Plus】06 代码生成器 CodeGenerator

    导入生成器需要的依赖坐标: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybat ...

  6. 元学习:元学习的始祖论文——《On the Optimization of a Synaptic Learning Rule》

    ============================================= 这个论文保持着上世纪人工智能论文的特点,与其说是计算机类论文更不如说是偏生物科学方面的论文,这也可能是因为当 ...

  7. java模拟并发请求工具类(测试专用)

    1.背景 实际生产中,我们开发好接口后可能会简单的压力测试一下,也就是说模拟并发测试,测试工具类如下: 2.工具类 package tentative.normal.other; import cn. ...

  8. 在oracle中将一行字符串拆分成多行

    例如,有如下一张表,表名为bk_test.插入了以下数据: CREATE TABLE BK_TESK(id varchar2(10),s varchar2(20)); insert into BK_T ...

  9. 海豚调度任务类型Apache SeaTunnel部署指南

    Apache DolphinScheduler已支持Apache SeaTunnel任务类型,本文介绍了SeaTunnel任务类型如何创建,任务参数,以及任务样例. 一.Apache SeaTunne ...

  10. flex布局被内容被撑开及flex布局下定宽元素被压缩

    实现效果使用flex进行左右布局,左边定宽200px,右边自适应,当右边内容过多,造成右边盒子被撑开,会造成两种问题 左边定宽盒子被压缩解决办法: flex-grow:0;//是否自动增长空间 fle ...