css 三角形

参考链接 纯 CSS 实现三角形的 3 种方式

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <ul>
        <li style="list-style: none;border:1px solid gray;padding:20px;margin:10px;">
            <div>使用 CSS 绘制三角形的第一种方法就是使用 「border」 属性。给定一个宽度和高度都为 0 的元素,其 border 的任何值都会直接相交,我们可以利用这个交点来创建三角形。也就是说,border属性是三角形组成的,下面给每一边都提供不同的边框颜色:</div>
            <div style="width:0;height:0;border:100px solid;border-color:red orange yellow green;"></div>
        </li>

        <li style="list-style: none;border:1px solid gray;padding:20px;margin:10px;">
            <div>左右边框透明,下边框不透明</div>
            <div style="width:0;height:0;border-left: 100px solid transparent;border-right: 100px solid transparent;border-bottom: 100px solid yellow;"></div>
        </li>

        <li style="list-style: none;border:1px solid gray;padding:20px;margin:10px;">
            <div>上下边框透明,右边框不透明</div>
            <div style="width:0;height:0;border-top: 100px solid transparent;border-bottom: 100px solid transparent;border-right: 100px solid orange;"></div>
        </li>

        <li style="list-style: none;border:1px solid gray;padding:20px;margin:10px;">
            <div>左右边框透明,上边框不透明</div>
            <div style="width:0;height:0;border-top: 100px solid red;border-left: 100px solid transparent;border-right: 100px solid transparent;"></div>
        </li>
        <li style="list-style: none;border:1px solid gray;padding:20px;margin:10px;">
            <div>上下边框透明,左边框不透明</div>
            <div style="width:0;height:0;border-top: 100px solid transparent;border-bottom: 100px solid transparent;border-left: 100px solid green;"></div>
        </li>
    </ul>
    <ul>
        <li style="list-style: none;border:1px solid gray;padding:20px;margin:10px;">
            <div>clip-path 就是使用它来绘制多边形(或圆形、椭圆形等)并将其定位在元素内。实际上,浏览器不会绘制 clip-path 之外的任何区域,因此我们看到的是 clip-path 的边界。

                下面来绘制一个指向右侧的三角形:
                
                clip-path: polygon(0 0, 0% 100%, 100% 50%);
                这个值是怎么来的呢?使用 clip-path 可以为沿路径放置的每个点定义坐标。在这种情况下,就定义了三个点:top-left (0 0)、bottom-left (0% 100%)、right-center (100% 50%)。效果如下:</div>
            <div style="
                width: 160px;
                height: 200px;
                background-color: skyblue;
                clip-path: polygon(0 0, 0% 100%, 100% 50%);">
            </div>
        </li>
    </ul>
    <div style="width: 160px;
        height: 200px;
        outline: 2px solid skyblue;
        background-repeat: no-repeat;
        background-image: linear-gradient(32deg, orangered 50%, rgba(255, 255, 255, 0) 50%), linear-gradient(148deg, orangered 50%, rgba(255, 255, 255, 0) 50%);
        background-size: 100% 50%;
        background-position: top left, bottom left;">
    </div>
    
</body>
</html>
相关推荐
帧栈29 分钟前
开发避坑指南(27):Vue3中高效安全修改列表元素属性的方法
前端·vue.js
max50060033 分钟前
基于桥梁三维模型的无人机检测路径规划系统设计与实现
前端·javascript·python·算法·无人机·easyui
excel1 小时前
使用函数式封装绘制科赫雪花(Koch Snowflake)
前端
我命由我123451 小时前
软件开发 - 避免过多的 if-else 语句(使用策略模式、使用映射表、使用枚举、使用函数式编程)
java·开发语言·javascript·设计模式·java-ee·策略模式·js
萌萌哒草头将军2 小时前
Node.js v24.6.0 新功能速览 🚀🚀🚀
前端·javascript·node.js
AALoveTouch3 小时前
大麦APP抢票揭秘
javascript
rannn_1113 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
持久的棒棒君3 小时前
启动electron桌面项目控制台输出中文时乱码解决
前端·javascript·electron
小离a_a4 小时前
使用原生css实现word目录样式,标题后面的...动态长度并始终在标题后方(生成点线)
前端·css
郭优秀的笔记4 小时前
抽奖程序web程序
前端·css·css3