css3三角形使用场景

css3三角形使用场景

我们知道有一个特效是span下拉列表,也就是说当鼠标放上一个div时,会出现原本隐藏的内容或者二级菜单,这样一个下拉列表会突出来一个小的三角形指向原本的div区域块,如图所示:

那么我们现在来总结一下,我们是如何写出这些三角形的。

CSS3三角形实现原理

在css3中,我们主要使用的是一个transparent的属性,意思是透明的,比如我们将字体设置为黑色会写color:black,那么如果想把字体的颜色设置为透明,我们可以写color:transparent。同理background-color:transparent可以设置背景为透明。

三角形8种分类

我们根据三角形的位置分为8种:triangle up,triangle down,triangle left,triangle right,triangle top left,triangle top right,triangle bottom left和triangle bottom right。

8种三角形实现实例

1.triangle up 上三角形

#triangle-up{

width:0;

height:0;

border-left:50px solid transparent;

border-right:50px solid transparent;

border-bottom:100px solid black;

}

2.triangle down 下三角形

#triangle-down{

width:0;

height:0;

border-left:50px solid transparent;

border-right:50px solid transparent;

border-top:100px solid black;

}

3.triangle left 左三角形

#triangle-left{

width:0;

height:0;

border-top:50px solid transparent;

border-bottom:50px solid transparent;

border-right:100px solid black;

}

4.triangle right 右三角形

#triangle-right{

width:0;

height:0;

border-top:50px solid transparent;

border-bottom:50px solid transparent;

border-left:100px solid black;

}

5.triangle top left 左上三角形

#triangle-topleft{

width:0;

height:0;

border-top:100px solid black;

border-right:100px solid transparent;

}

6.triangle top right 右上三角形

#triangle-topright{

width:0;

height:0;

border-top:100px solid black;

border-left:100px solid transparent;

}

7.triangle bottom left 左下三角形

#triangle-bottomleft{

width:0;

height:0;

border-bottom:100px solid black;

border-right:100px solid transparent;

}

8.triangle bottom right 右下三角形

#triangle-bottomright{

width:0;

height:0;

border-bottom:100px solid black;

border-left:100px solid transparent;

}

源码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- https://blog.csdn.net/qq_42928070/article/details/103036155 -->
    <div style="width: 500px;height:500px;margin-top: 30px;margin-left: 30px;">
        <span id="triangle-up"> </span>
         <span style="margin-left: 10px;">******</span>
       
        <span id="triangle-down"> </span>
         <span style="margin-left: 10px;">******</span>
        <span id="triangle-left"> </span>
         <span style="margin-left: 10px;">******</span>
        <span id="triangle-right"> </span>
         <span style="margin-left: 10px;">******</span>
        <span id="triangle-topleft"> </span>
         <span style="margin-left: 10px;">******</span>
        <span id="triangle-topright"> </span>
         <span style="margin-left: 10px;">******</span>
        <span id="triangle-bottomleft"> </span>
         <span style="margin-left: 10px;">******</span>
        <span id="triangle-bottomright"> </span>
    </div>
</body>
<style>
    #triangle-up {

        width: 0;

        height: 0;

        border-left: 5px solid transparent;

        border-right: 5px solid transparent;

        border-bottom: 15px solid black;

    }

    #triangle-down {

        width: 0;

        height: 0;

        border-left: 5px solid transparent;

        border-right: 5px solid transparent;

        border-top: 15px solid black;

    }



    #triangle-left {

        width: 0;

        height: 0;

        border-top: 5px solid transparent;

        border-bottom: 5px solid transparent;

        border-right: 15px solid black;

    }



    #triangle-right {

        width: 0;

        height: 0;

        border-top: 5px solid transparent;

        border-bottom: 5px solid transparent;

        border-left: 15px solid black;

    }



    #triangle-topleft {

        width: 0;

        height: 0;

        border-top: 15px solid black;

        border-right: 15px solid transparent;

    }



    #triangle-topright {

        width: 0;

        height: 0;

        border-top: 15px solid black;

        border-left: 15px solid transparent;

    }



    #triangle-bottomleft {

        width: 0;

        height: 0;

        border-bottom: 15px solid black;

        border-right: 15px solid transparent;

    }



    #triangle-bottomright {

        width: 0;

        height: 0;

        border-bottom: 15px solid black;

        border-left: 15px solid transparent;

    }
</style>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值