【CSS】利用CSS伪类选择器实现三角形_css after 三角形

项目中案例:

.breadcrumb{
        height: 40px;
        line-height: 40px;
        padding: 0 20px;
        border-top: 1px solid #f9c700;
        .breadcrumb-title{
            text-align: center;
            font-size: @fontC;
            //通过定义一个伪类after
            &:after{
                position: absolute;
                content: '';
                left: 89px;
                top: 39px;
                border-top: 9px solid @colorM;
                //border-left和border-right换成透明色 才能形成三角形 不然是长方形
                border-left: 12px solid transparent;
                border-right: 12px solid transparent;
                //background-color: red;
            }
        }

详细讲解

实现三角形的方式很多种。比较简单又比较常用的是利用伪类选择器,在网页上也有很多用到这种效果,比如tips信息提示框。下面是自己写的实心三角形,原理其实很简单,代码都能看懂。

<!DOCTYPE html>
<html>
   <head>
       <meta charset="UTF-8">
       <title></title>
       <
### 使用 CSS `:before` 和 `:after` 绘制三角形 #### 利用边框技巧绘制实心三角形 通过设置元素的宽度和高度为零并仅定义其中一个方向上的边框颜色,可以创建一个指向特定方向的实心三角形。对于其他三个未被着色的方向,则将其边框的颜色设为透明。 ```css .triangle-up { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid blue; } ``` 当希望这个形状作为某个已有 HTML 元素的一部分时,就可以借助于`:before`或`:after`这两个元素来完成而不必额外增加 DOM 结构[^1]。 #### 创建空心三角形 为了构建空心三角形,在已有的实心基础上添加另一个稍大一点且同样具有相同位置但不同颜色(通常是背景色或者白色)的三角形覆盖上去即可形成视觉上看起来像是镂空的效果。这可以通过组合使用同一个选择器下的两个不同的元素——即`:before`(用于制作底层较大的填充型三角)以及`:after`(用来放置顶层较小轮廓清晰可见的小号三角)。 ```css .arrow-down { position: relative; } .arrow-down:before, .arrow-down:after { content: ""; position: absolute; bottom: 0; left: 50%; margin-left: -20px; width: 0; height: 0; border-top: 20px solid white; /* 调整此值改变箭头大小 */ border-left: 20px solid transparent; border-right: 20px solid transparent; } .arrow-down:after { bottom: 1px; /* 微调以确保外层三角形完全遮挡内层 */ border-top-color: black; /* 设置为空心部分的颜色 */ } ``` 上述代码片段展示了如何运用CSS元素与边框特性相结合的方式轻松地创造出既美观又实用的各种样式化图形组件[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值