布局中实现三角形的几种方法

我们常见到界面中会出现三角形的对话框,今天我尝试用三种方法,做出了这种效果。
这里写图片描述
以下是实现的三种方式:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #wrap1{
                width:600px;
                height:40px;
                border:solid 2px brown;
                background-color:deeppink;
                border-radius:10px;
                position:relative;
                top:100px;
                text-align:center;
                line-height:40px;
            }
            .trian{
                -webkit-transform:rotate(45deg);
                -moz-transform:rotate(45deg);
                -o-transform:rotate(45deg);
                transform:rotate(45deg);
            }
            .trian1{
                position:absolute;
                left:50%;
                bottom:34px;
                width:13px;
                height:13px;
                background:deeppink;
                border-left:1px solid brown;
                border-top:1px solid brown;
            }


            #wrap2{
                width:600px;
                height:40px;
                border:solid 1px #000000;
                background-color:pink;
                border-radius: 10px;
                position: relative;
                top:200px;
                text-align: center;
                line-height: 40px;
            }
            .tria1{
                width:0px;
                height:0px;
                position:absolute;
                left:50%;
                border-width:16px;
                border-style:solid;
            }
            .tria2{
                border-color:transparent transparent  #000000 transparent;
                bottom:40px;
            }
            .tria3{
                border-color:transparent transparent  pink transparent;
                bottom:39px;
            }


            #wrap3{
                position:relative;
                width:600px;
                height:40px;
                line-height:40px;
                background:palevioletred;
                border:1px solid purple;
                border-radius:4px;
                text-align:center;
                top:300px;
                color:purple;
            }
            .tria4{
                position:absolute;
                left:50%;
                width:20px;
                height:20px;
                font:normal 26px "宋体";
            }
            .tria5{
                bottom:35px;
                color:purple;
            }
            .tria6{
                bottom:34px;
                color:palevioletred;
            }

        </style>
    </head>
    <body>
        <div id="wrap1">
            <span>这是用transform属性字符实现的</span>
            <div class="trian trian1"></div>
        </div>

        <div id="wrap2">
            <span>这是用boder实现的</span>
            <div class="tria1 tria2"></div>
            <div class = "tria1 tria3"></div>   
        </div>

        <div id="wrap3">
            <span>这是利用“◆”实现的</span>
            <div class="tria4 tria5"></div>
            <div class = "tria4 tria6"></div>  
        </div>

    </body>
</html>

以下是效果图:
这里写图片描述


这里我比较喜欢border的方法,其实单边框不是矩形

        div{
                width:20px;
                height:20px;
                border-style:solid;
                border-width:10px;
                border-color:red blueviolet yellow green;
            }

效果图这里写图片描述

当我们把div的宽和高变为零的时候,我们发现,会有这样的效果:
这里写图片描述

当我们把边框的颜色设置为透明transparent时,再调整相对位置,就可以达到我们想要的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值