国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴安盟| 金昌市| 天镇县| 怀仁县| 油尖旺区| 金门县| 衢州市| 上高县| 赣榆县| 安远县| 砀山县| 张家界市| 介休市| 登封市| 峡江县| 灵宝市| 庆安县| 开鲁县| 平遥县| 烟台市| 吴川市| 桐柏县| 武安市| 达州市| 林芝县| 乌拉特中旗| 广丰县| 上栗县| 屏东县| 苏州市| 遂溪县| 麻城市| 曲靖市| 太白县| 衡南县| 内乡县| 女性| 蓬溪县| 岳西县| 定日县| 松滋市|