网站首页 > 知识剖析 正文
在实际编程中我们经常会遇到下拉菜单的下三角和一些特殊的图形,那么这些如何用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>
展示结果:
- 上一篇: 前端开发必备:深入掌握 nprogress 组件的用法
- 下一篇: 平衡车又“惹祸”:把汽车给点着了
猜你喜欢
- 2025-09-18 平衡车又“惹祸”:把汽车给点着了
- 2025-09-18 前端开发必备:深入掌握 nprogress 组件的用法
- 2025-09-18 太阳报:鲁尼“偷拍门”事件的三位女性收到了死亡威胁
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)