首頁  >  文章  >  web前端  >  css怎麼實現六邊形

css怎麼實現六邊形

藏色散人
藏色散人原創
2021-07-03 11:17:538720瀏覽

css實現六邊形的方法:1、將3個p組合在一起,其中包括2個等腰三角形和一個長方形;2、通過將3個長方形旋轉不同角度得到正六邊形。

css怎麼實現六邊形

#本文操作環境:windows7系統、HTML5&&CSS3版、Dell G3電腦。

css怎麼實現六邊形?

最近在寫一個蜂窩式佈局,所以研究了一下六邊形的實現原理
實現六邊形的兩個方式:
方式一: 一個長方形兩個三角形
首先我們要先了解border
css怎麼實現六邊形
每個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度的等腰三角形
css怎麼實現六邊形
我們採取製作六邊形的方式就是將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;
}

css怎麼實現六邊形
由上面程式碼我們就可以得到一個正六變形
方式二: 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影片教學」】

以上是css怎麼實現六邊形的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn