利用css的border實現畫三角形思路原理


1、利用Css 的border繪制三角形的原理:

div的border是有寬度和顏色的,當div的寬度比較大的時候,比如上面代碼每個邊100像素,顏色又不一樣,瀏覽器怎么渲染顏色呢?經測試發現,寬度較大的border相交時:

1、只有相鄰邊才會相交,對邊是不可能相交的

2、相交區域(顯然是矩形)按對角線划分成兩個三角形,兩個三角形分別渲染成兩個邊的顏色,顏色不會出現重疊的情況

3、調整四個邊的寬度,加上中間區域的寬度,配以不同顏色和透明,各種簡單多邊形(舉一反三)已經不在話下

<html>
<style>
*{margin:0px; padding: 0px;}
.tran{
position: relative;
left:10px;
top:10px;
width: 50px;
height: 50px;
border-bottom: 10px solid red;
border-left: 10px solid green;
border-top: 10px solid red;
border-right: 10px solid green;
}
</style>
<div class="tran"></div>
</html>

  效果圖:

三角形:

<html>
<style>
    *{margin:0px; padding: 0px;}
    .tran{
        position: relative;
        left:10px;
        top:10px;
        width:0;
        height:0;
        /*border-bottom: 100px solid red;*/
        border-left: 100px solid transparent;
        border-top: 100px solid red; /*要形成上面的三角形,需要設置上面這條邊有顏色,左邊和右邊透明*/
        border-right: 100px solid transparent;
    }
</style>
<div class="tran"></div>
</html>

  效果圖

 


免責聲明!

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



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