css實現六邊形的方法:1、將3個p組合在一起,其中包括2個等腰三角形和一個長方形;2、通過將3個長方形旋轉不同角度得到正六邊形。
#本文操作環境:windows7系統、HTML5&&CSS3版、Dell G3電腦。
css怎麼實現六邊形?
最近在寫一個蜂窩式佈局,所以研究了一下六邊形的實現原理
實現六邊形的兩個方式:
方式一: 一個長方形兩個三角形
首先我們要先了解border
每個border之間是成45度,利用這點我們可以做出來三角形
<p class="triangle"></p>/*css片段*/.triangle{ width: 0; height: 0; border-bottom: 50px solid red; border-left: 86px solid transparent; border-right: 86px solid transparent; }
上面程式碼可以的到一個頂角為120度的等腰三角形
我們採取製作六邊形的方式就是將3個p組合在一起,上下為120度的等腰三角形,中間為長方形(注意: border-top/border-bottom決定的是三角形的高)
下面我們來實作六邊形
<p class="top-triangle"></p> <p class="center"></p> <p class="bottom-triangle"></p> /*css片段*/ .top-triangle{ width: 0; height: 0; border-bottom: 50px solid red; border-left: 86px solid transparent; border-right: 86px solid transparent; } .center{ width: 172px; height: 100px; background: red; } .bottom-triangle{ width: 0; height: 0; border-top: 50px solid red; border-left: 86px solid transparent; border-right: 86px solid transparent; }
由上面程式碼我們就可以得到一個正六變形
方式二: 3個長方形旋轉不同角度得到正六邊形
關鍵點: overflow: hidden;
transform: rotate()的使用
<p class="six"> <p class="child"> <p class="child_child"></p> </p></p>/*css片段*/.six,.child,.child_child{ width: 100px; height: 150px; overflow: hidden; }.six{ -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); -ms-transform: rotate(120deg); -moz-transform: rotate(120deg); transform: rotate(120deg); }.child{ -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); -ms-transform: rotate(-60deg); -moz-transform: rotate(-60deg); transform: rotate(-60deg); }.child_child{ background: red; -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); -ms-transform: rotate(-60deg); -moz-transform: rotate(-60deg); transform: rotate(-60deg); }
可以為最裡面的p加背景或圖片,外面的兩個p不要加顏色,但是這種方式創建的六邊形沒有辦法添加文字,執行上面代碼可以得到下圖:
【推薦學習:《css影片教學」】
以上是css怎麼實現六邊形的詳細內容。更多資訊請關注PHP中文網其他相關文章!