CSS3 用border寫 空心三角箭頭 (兩種寫法)

bing發表於2016-12-14

之前一直在尋找這種空心三角箭頭, 終於知道了原理! 自己記錄一下,順便分享給之前跟我一樣想要的擼友們~

  1. 第一種寫法 利用常見的 after偽元素

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .arrow {
                width: 20px;
                height: 4px;
                margin: 0 auto 7px;
                border-left: 4px solid transparent;
                border-right: 4px solid transparent;
                border-bottom: 4px solid #343c99;
                transform: rotate(45deg);
                transform-origin: left;
            }
            
            .arrow:after {
                content: ``;
                display: block;
                width: 100%;
                height: 100%;
                border-left: 4px solid transparent;
                border-right: 4px solid transparent;
                border-top: 4px solid #343c99;
                position: absolute;
                right: -10px;
                top: -14px;
                transform: rotate(90deg);
                transform-origin: bottom;
            }
        </style>
    </head>
    <body>
        <div class="arrow"></div>
    </body>
</html>
  1. 第二種寫法相對於比較簡單

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            /*簡單*/
            .wb_arrow{
                border-right: 2px solid #343c99;
                border-top: 2px solid #343c99;
                height: 10px;
                width: 10px;
                margin:50px auto 0;
                transform: rotate(deg);
                -webkit-transform: rotate(0deg);
                /*不加這兩個屬性三角會比上一個略醜, 大家可以試一下*/
                border-left: 2px solid transparent;
                border-bottom: 2px solid transparent;
            }
        </style>
    </head>
    <body>
        <div class="wb_arrow"></div>
    </body>
</html>

相關文章