如何用偽類畫出一個三角形


 剛剛做題遇到這樣一道題

其中 第一個和第二個都比較簡單。第三個要注意的是
第三幅圖。主要運用的就是利用偽類。要形成上面這個圖。我們只需要用到兩個偽類元素:after和:before.利用第二個after:后面的內容 移動到前一個元素下面一點點。間隔間距大小根據div邊框border大小而定。這里兩個位置不重合的部分即為這個圖像。。就和這一樣。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" content="偽類寫三角形">
    <title>Document</title>
    <style>
    div{
        width:200px;
        height:100px;
        position: relative;
        margin:50px auto;
        border:1px solid black;
    }
    div:before{
        content:"";
        border:10px solid transparent;
        border-bottom-color:black;
        position:absolute;
        left:20px;
        top:0;
        margin-top:-20px;

    }
    div:after{
        content:"";
        border:10px solid transparent;
        border-bottom-color:white;
        position: absolute;
        top:0;
        left:20px;
        margin-top:-19px;
    }

    </style>
</head>
<body>
    <div></div>
</body>
</html>

 

效果圖如圖所示

這相當於。第一個div:before 的border顏色設置為div框一樣的顏色 即black;margin-top:-20px;

第二個div:after的border顏色設置為DIV的背景顏色(這里是白色)然后也向上平移margin-top:-19px.

這樣就能遮住before的大部分內容。就留下1px的間隙,正好給形成上面這幅圖。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM