本篇主要會用到的CSS屬性為:border 。
應該有很多人沒辦法理解,所以一步一步來解釋一下:
1.首先,一般border會看到的樣貌,我們把線寬設大一點來看:
height: 100px;
width: 100px;
border-top: 30px solid #C66;
border-bottom: 30px solid #6C6;
border-left: 30px solid #66C;
border-right: 30px solid #CC6;
2.應該可以看到上左下右的邊框交接處都是斜線,所以我們可以利用這個特性來繪製三角形:
width: 0;
border-bottom: 30px solid #6C6;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
3.做到這裡大概有些人就懂了,三角形出來,六角形就不遠了,我們用三個div(三角形,長方形,三角形)就可以製作出一個六角形了:
HTML部分
<div id="hexagon1">
<div class="hexagon-top"></div>
<div class="hexagon-mid"></div>
<div class="hexagon-bottom"></div>
</div>
CSS部分
#hexagon1 .hexagon-top{
width: 0;
border-bottom: 30px solid #6C6;
border-left: 52px solid transparent;
border-right: 52px solid transparent;
}
#hexagon1 .hexagon-mid{
width: 104px;
height: 60px;
background-color: #6C6;
}
#hexagon1 .hexagon-bottom{
width: 0;
border-top: 30px solid #6C6;
border-left: 52px solid transparent;
border-right: 52px solid transparent;
}
4.剛剛範例中的div是從上到下,最後一樣用三個div,但是改成從左到右來繪製六角形:
HTML部分
<div id="hexagon2">
<div class="hexagon-top"></div>
<div class="hexagon-mid"></div>
<div class="hexagon-bottom"></div>
</div>
CSS部分
#hexagon2 .hexagon-top{
float: left;
border-right: 30px solid #6C6;
border-top: 52px solid transparent;
border-bottom: 52px solid transparent;
}
#hexagon2 .hexagon-mid{
float: left;
width: 60px;
height: 104px;
background-color: #6C6;
}
#hexagon2 .hexagon-bottom{
float: left;
border-left: 30px solid #6C6;
border-top: 52px solid transparent;
border-bottom: 52px solid transparent;
}