用css如何实现三角形(css实现三角形的方法)

yumo6666小时前技术文章1

在实际编程中我们经常会遇到下拉菜单的下三角和一些特殊的图形,那么这些如何用css来实现呢?

例1

例2

例3

原理:

仔细想想,原理非常简单,利用CSS的border以及它的属性值transparent来实现三角形,其中最主要的是要明白由于div的高度跟宽度都为0,margin,padding也为0,所以元素框的大小就是他的border的叠加,由于相邻border会重叠,故存在内容宽高时其实任意一边存在的border都是梯形的,当div内容宽高为0时,border就表现为三角形,将四个border的颜色设置为transparent表示边框透明,而将右边框颜色再设置为红色就发现三角形出现了,其实这个三角形是你设置颜色的边框。

<style>
    div {
        width: 0;
        height: 0;
        border-top: 40px solid transparent;
        border-left: 40px solid transparent;
        border-right: 40px solid transparent;
        border-bottom: 40px solid #ff0000;
    }
    </style>
</head>
<body>
  <div></div>
</body>

如果想要不同方向的三角形,只需要改变所需的边框颜色,另外三条边改为transparent(透明)。那么我们就能很简单地实现例1和例3的效果。

一些不规则的三角形只需要改变边框的宽度就可以得到不同形状的三角形

<style>
        div{
            width: 0px;
            height: 0px;
            border-width: 0px 0px 200px 100px;
            border-style: solid;
            border-bottom-color:green ;
            border-left-color:transparent;
        }
</style>
</head>
<body>
  <div></div>
</body>

展示结果:

相关文章

关于元素CSS高度的5个概念,一次性搞清楚它们

一次分清clientHeight、offsetHeight、scrollHeight、scrollTop、offsetTop概念:clientHeight:可视的,看得见的部分,content+pad...

一个简单的CSS属性助你实现页面的等比例缩放,快来学习一下吧

前言在响应式布局逐渐成为主流的今天,网页或者app的流式布局已经不算是一个新鲜的词汇了。今天我要讲的一个内容也是跟页面流式布局有关,如何让你的网页实现完美的缩放?网页布局我们可以很快速的写出一个响应式...

90%不知道的css常识:元素纵向百分比是相对于宽度不是高度

我调查了身边五六年经验以上的几个前端同学和同事,尽然发现绝大部分人都不知道,当然,在看到这个文章之前,我也不知道这个,平时虽然都一直在做web前端开发,但真没涉及到这块,或者说涉及到了,也解决了,但是...

如何使用CSS创建高级动画,这个函数必须掌握

我们每天都在网上摸鱼,作为前端开发人员,网站上微妙的细节变化通过比别人会更关注。我一直注意到的一件事是网站上的动画的流畅性。动画对于用户体验来说是非常好的,有时我们可以一些有趣的动画来留住用户。创建高...

前端基础知识之“CSS是什么?”(前端基础题库)

“这里是云端源想IT培训,帮你轻松拿offer”嗨~大家好,我是学长今天的你过得还好吗?- 2023.03.07 -女神节到了,所有的女孩都好看,愿我们成为自己的阳光,不需借谁的光!上期给大家分享了关...