国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

css畫正六邊形的兩種方法

2024-07-11 08:42:06
字體:
供稿:網(wǎng)友

說下兩種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)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 察隅县| 伽师县| 班玛县| 鄂托克旗| 阿合奇县| 抚顺市| 灵璧县| 惠州市| 上高县| 龙南县| 哈密市| 泽普县| 南皮县| 大城县| 武陟县| 犍为县| 富源县| 伊宁县| 安西县| 弋阳县| 仁怀市| 全椒县| 连州市| 胶州市| 朔州市| 隆回县| 浮山县| 安陆市| 闽清县| 留坝县| 碌曲县| 奉贤区| 会宁县| 诸暨市| 丹东市| 九江县| 岐山县| 鄢陵县| 兴化市| 宁晋县| 神木县|