css畫正六邊形的兩種方法
說下兩種css 制作正六邊形的方法。
先看一下結(jié)果:

在之前要先了解一下正六邊形內(nèi)角和邊的關(guān)系,正六邊形的每個內(nèi)角是60deg,如圖(√3其實是根號3):

方法一:原理把正六邊形分成三部分,左中右分別是:before部分,div部分,after部分,如圖:

before三角形部分是div的before偽元素,after三角形部分是div的after偽元素。
html代碼:
<div class='div'></div>
css代碼:
.div {
position: relative;
width: 50px;
height: 86.6px;
margin: 50px auto;
background-color: red;
}
.div:before {
content: '';
display: block;
position: absolute;
width: 0;
height: 0;
right:50px;
border-width: 43.3px 25px;
border-style: solid;
border-color: transparent red transparent transparent;
}
.div:after {
content: '';
display: block;
position: absolute;
width: 0;
height: 0;
left:50px;
border-width: 43.3px 25px;
border-style: solid;
border-color: transparent transparent transparent red;
top:0;
}
注意div及偽元素的寬高需要根據(jù)上面的公式計算。
方法二:也是把正六邊形分成三個寬高相同的div,然后使用定位以及css3 transform:rotate分別向左右旋轉(zhuǎn)60deg形成正六邊形,如圖:

html代碼:
<div class='div-2'>
<div class='one'></div>
<div class='two'></div>
<div class='three'></div>
</div>
css代碼:
.one {
width: 50px;
height: 86.6px;
margin: 0 auto;
border-top: 1px solid red;
border-bottom: 1px solid red;
}
.two {
position: absolute;
width: 50px;
height: 86.6px;
left: 25px;
top: 0;
transform: translate(-50%,-50%);
transform: rotate(60deg);
border-top: 1px solid red;
border-bottom: 1px solid red;
}
.three {
position: absolute;
width: 50px;
height: 86.6px;
left: 25px;
top: 0;
transform: translate(-50%,-50%);
transform: rotate(300deg);
border-top: 1px solid red;
border-bottom: 1px solid red;
}
以上兩種方法,元素的寬高尺寸以及左右位移需要根據(jù)上面的公式計算不能隨意填寫。
總結(jié)
以上所述是小編給大家介紹的css畫正六邊形的兩種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
- 這篇文章主要介紹了CSS實現(xiàn)圖片背景填充的六邊形的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-30
這篇文章主要介紹了css實現(xiàn)六邊形圖片的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-30
這篇文章主要介紹了CSS 實現(xiàn)蜂巢/六邊形圖集的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-03-05- 這篇文章主要介紹了純css繪制蜂巢六邊形效果,需要的朋友可以參考下2014-05-08
純css實現(xiàn)的六邊形(蜂窩)導(dǎo)航效果(支持hover/兼容瀏覽器)
在之前的文章中曾經(jīng)寫到過一篇“三角形變形記之純css實現(xiàn)的分布導(dǎo)航條效果”,其中用到了邊框?qū)崿F(xiàn)三角形的效果。最近又折騰了一個六邊形的蜂窩效果給大家蹂躪。主要用到了2013-02-05
這篇文章主要介紹了使用CSS實現(xiàn)六邊形的圖片效果,這個效果的難點在于六邊形的繪制, 那么接下來我們就一起來看下作者是怎么實現(xiàn)他的吧2022-07-26




