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

首頁 > 開發 > CSS > 正文

CSS實現圖片背景填充的六邊形的示例代碼

2024-07-11 09:07:56
字體:
來源:轉載
供稿:網友

六邊形的實現原理其實就是通過旋轉三個重疊的矩形得到的,如下圖所示:

這里為了得到一個正的六邊形,兩個矩形旋轉的角度必須為-60deg和60deg,以及矩形高寬比必須是Math.sqrt(3) : 1

那么首先我們要創建三個矩形:

    <div class="hexagon">        <div class="hexagon__item hexagon__item_left"></div>        <div class="hexagon__item hexagon__item_center"></div>        <div class="hexagon__item hexagon__item_right"></div>    </div>

我們設定三個矩形的寬高分別為60px和104px,背景色為藍色,.hexagon__item_left旋轉-60deg,.hexagon__item_right旋轉60deg,.hexagon__item_center不旋轉。

      .hexagon {            width: 60px;            height: 104px;            position: relative;            margin: 200px auto;        }        .hexagon__item {            width: 100%;            height: 100%;            background: blue;            position: absolute;            top: 0;            left: 0;        }        .hexagon__item_left {            transform: rotate(-60deg);        }        .hexagon__item_right {            transform: rotate(60deg);        }

這樣就簡單的得到了一個正六邊形。

那么我們要如何才能使得藍色背景變成圖片呢,其實也很簡單,上述的三個矩形其實只是起到了一個塑形的作用,實際上是應該設置為 visibility: hidden 的,我們需要給三個矩形分別添加一個矩形的子元素并且設置為 visibility: visible 。

三個子元素的寬高需要正好能覆蓋之前的藍色六邊形。

做好代碼如下,大家可以好好研究一下

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>Document</title>    <style>        .hexagon {            width: 60px;            height: 104px;            position: relative;            margin: 200px auto;        }        .hexagon__item {            width: 100%;            height: 100%;            background: blue;            position: absolute;            top: 0;            left: 0;            visibility: hidden;            overflow: hidden;        }        .hexagon__item_left {            transform: rotate(-60deg);        }        .hexagon__item_right {            transform: rotate(60deg);        }        .hexagon__item:before {            position: absolute;            top: 0;            left: 0;            content: "";            height: 100%;            width: 120px;            visibility: visible;            background: url('https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=13897784,1115290966&fm=58') no-repeat;            background-size: cover;            transform-origin: 0 0;        }        .hexagon__item_left:before {            transform: rotate(60deg) translateY(-50%);        }        .hexagon__item_right:before {            transform: rotate(-60deg) translateX(-75%);        }        .hexagon__item_center:before {            transform: translateX(-25%);        }    </style></head><body>    <div class="hexagon">        <div class="hexagon__item hexagon__item_left"></div>        <div class="hexagon__item hexagon__item_center"></div>        <div class="hexagon__item hexagon__item_right"></div>    </div></body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到CSS教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凌源市| 北票市| 大名县| 宁安市| 佛山市| 正阳县| 五河县| 拜城县| 南京市| 读书| 沂源县| 类乌齐县| 常山县| 苏州市| 栾城县| 彰化市| 顺义区| 昌吉市| 繁昌县| 青铜峡市| 和平区| 龙川县| 天峻县| 顺昌县| 大港区| 梧州市| 来安县| 康平县| 云南省| 镇雄县| 蕲春县| 海安县| 绍兴市| 巫山县| 红桥区| 阿拉善左旗| 会同县| 临夏市| 柳江县| 伊宁市| 沿河|