zoukankan      html  css  js  c++  java
  • 如何使用CSS画三角形

    在盒模型中,当内容区宽度高度均设为0px后,对border进行设定会如图所示:

    这样我们通过对各个方向的border进行设定,能够得到我们想要的三角形(如果有一边border宽度为0的话,那么它将会缩成一个点,由其他两边连接上);

    假如左border不存在,这时会是:

        此时有:黑色border的宽度决定了整个长方体的宽,红和蓝border的宽度之和决定了整个长方体的长;

    这时将红蓝border的颜色设置为transparent透明,就得到了一个黑色实心三角形;

    空心三角形就是通过在一个实心三角形之后添加一个颜色为白色的略小一些的伪类三角形,并且通过position定位覆盖原实心三角形;

    下面是一些例子:

    body:

    1     <h1>实心</h1><hr>
    2     等腰三角形(箭头朝上)<div id="div1"></div><hr>
    3     等腰三角形(箭头朝下)<div id="div2"></div><hr>
    4     直角三角形(箭头左上)<div id="div3"></div><hr>
    5     直角三角形(箭头右上)<div id="div4"></div><hr>
    6     <h1>空心</h1><hr>
    7     空心三角形<div id="div5"></div>

    css:

     1  #div1{
     2              0px;
     3             height: 0px;
     4             border-right:50px solid transparent;
     5             border-bottom:100px solid skyblue;
     6             border-left:50px solid transparent;
     7         }
     8 
     9  #div2{
    10              0px;
    11             height: 0px;
    12             border-top:100px solid skyblue;
    13             border-right:50px solid transparent;
    14             border-left:50px solid transparent;
    15         }
    16 
    17  #div3{
    18              0px;
    19             height: 0px;
    20             border: 50px solid skyblue;
    21             border-right-color: transparent;
    22             border-bottom-color: transparent;
    23         }
    24 
    25  #div4{
    26              0px;
    27             height: 0px;
    28             border: 50px solid skyblue;
    29             border-bottom-color: transparent;
    30             border-left-color: transparent;
    31         }
    32 
    33  #div5{
    34             position: relative;
    35              0px;
    36             height: 0px;
    37             border: 50px solid transparent;
    38             border-right-color:skyblue;
    39         }
    40 
    41  #div5::after{
    42             content: "";
    43              0px;
    44             height: 0px;
    45             border: 40px solid transparent;
    46             border-right-color:white;
    47             position: absolute;
    48                 left: -35px;
    49                 bottom: -40px;
    50         }

    效果图:

  • 相关阅读:
    Leetcode86.分隔链表
    Leetcode39.组合总和
    Leetcode31.下一个排列
    剑指Offer35.复杂链表复制
    剑指Offer14-I.剪绳子
    剑指Offer38.字符串的排序
    Leetcode29.两数相除
    232. Implement Queue using Stacks
    程序员跳槽指南
    226. Invert Binary Tree
  • 原文地址:https://www.cnblogs.com/bigsoft-185025529/p/10363062.html
Copyright © 2011-2022 走看看