使用 CSS 纯代码实现三角形

发布于 2021-11-30 12:51:33 字数 1658 浏览 1159 评论 0

case1

下图图为项目中的一个设计,需要实现下拉框中有带边框的三角形。

design

解决思路是,通过提供两个三角形,其中一个背景为边框颜色,另外一个为内容区域颜色,后者覆盖前者,从而产生三角边框的效果。

如下为代码

<div class="popover">
  <div class="triangle bottom-triangle"></div>
  <div class="triangle top-triangle"></div>
  车辆管理
</div>
<style>
  body {
    background: #34425D;
  }
  .popover{
    padding: 10px 24px;
    color: #FFF;
    width: 200px;
    background: #11172D;
    border: 1px solid #3DFEEA;
    font-family: PingFangSC-Regular;
    font-size: 14px;
    position: relative;
    /* width:300px; padding:30px 20px; border:5px solid #beceeb; position:relative; */
  }
  .triangle {
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
  }
  .bottom-triangle {
    left: 40px;
    border-width: 6px;
    top: -12px;
    border-color: transparent transparent #3DFEEA transparent;
  }
  .top-triangle {
    left: 41px;
    border-width: 5px;
    top:-9px;
    border-color: transparent transparent #11172D transparent;
  }
</style>

可以通过 https://codepen.io/Yefei/pen/gOYyeGO 编辑和查看效果。

case2

假定要实现只带 border 的三角形,用于指示箭头,形如 ^,实现方式如下

.icon::before {
  content: ' ';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-left: 1px solid #00B4CF;
  border-top: 1px solid #00B4CF;
  transform: rotate(45deg);
  background: #FFF;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
857 人气
更多

推荐作者

6118422078

文章 0 评论 0

Bonjour°[大白

文章 0 评论 0

別甾虛僞

文章 0 评论 0

qq_FynBW0

文章 0 评论 0

浅笑依然

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文