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>
相关推荐
kyriewen6 小时前
百度用6%成本碾压硅谷?中国AI把性价比玩明白了
前端·百度·ai编程
kyriewen7 小时前
你还在手动敲命令部署?GitHub Actions 让你 push 即上线,摸鱼时间翻倍
前端·面试·github
Csvn8 小时前
Pinia 状态管理
前端
不减20斤不改头像9 小时前
手机一句话开发贪吃蛇!TRAE SOLO 移动端 AI 编程实测
前端·后端
xuankuxiaoyao9 小时前
Vue.js实践-组件基础下
前端·javascript·vue.js
小白学大数据9 小时前
JS 混淆加密下的 Python 爬虫解决方案
javascript·爬虫·python
一棵白菜9 小时前
Claude Code + Amazon Bedrock 使用指南
前端
大家的林语冰10 小时前
前端周刊:axios 疑遭朝鲜黑客“钓鱼“;CSS 新函数上线;npm 上线深色主题;Oxlint 兼容表;ESLint 支持 Temporal......
前端·javascript·css
哀木11 小时前
一个简单的套壳方案,就能让你的 Agent 少做重复初始化
前端
问心无愧051311 小时前
ctf show web入门27
前端