gpt4 book ai didi

html - 基于 css 的六边形内的图像

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:05 24 4
gpt4 key购买 nike

我正在使用 James Tauber's hexagon tutorial创建蜂窝样式的导航。我有我想要的方向,但我无法弄清楚如何将图像添加到六边形内部。是jsfiddle中的代码没有针对将图像放在六边形内进行优化,还是我没有看到什么?

我意识到关于将图像放入六边形内还有其他问题,但没有一个真正帮助我。

建议将不胜感激。

HTML:

.hex {
float: left;
margin-right: -26px;
margin-bottom: -50px;
}
.hex .left {
float: left;
width: 0;
border-right: 30px solid #444;
border-top: 52px solid transparent;
border-bottom: 52px solid transparent;
}
.hex .middle {
float: left;
width: 60px;
height: 104px;
background: #444;
}
.hex .right {
float: left;
width: 0;
border-left: 30px solid #444;
border-top: 52px solid transparent;
border-bottom: 52px solid transparent;
}
.hex-row {
clear: left;
}
.hex.even {
margin-top: 53px;
}
#wrap {
min-width: 600px;
}
<div id="wrap">
<div class="hex-row">
<a href="http://www.google.ca">
<div class="hex">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
</a>

<div class="hex even">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
<div class="hex">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
<div class="hex even">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
<div class="hex">
<div class="left"></div>
<div class="middle"></div>
<div class="right"></div>
</div>
</div>
</div>

最佳答案

好吧,好吧,我不能用你制作六边形的方法来做,因为它只是一堆洞 - 一个边框(background-image 不适用于边框)。但我找到了另一种方法,使用 @geoffrey_crofte's solution on codepen .

首先,这里是 JSFiddle与工作示例。

这是更新后的代码。

HTML:

<div id="wrap">
<div class="hex-row">
<a href="http://www.google.ca" class='hexaHolder'>
<div class="hexa">
<div class="hex1">
<div class="hex2">
<img src="http://farm3.staticflickr.com/2788/4392569951_8bcec3b3ed_z.jpg?zz=1" alt="" />
</div>
</div>
</div>
</a>
<a href="http://www.google.ca" class='hexaHolder even'>
<div class="hexa">
<div class="hex1">
<div class="hex2">
<img src="http://farm3.staticflickr.com/2441/3657346647_a11111ed39_z.jpg?zz=1" alt="" />
</div>
</div>
</div>
</a>
<a href="http://www.google.ca" class='hexaHolder'>
<div class="hexa">
<div class="hex1">
<div class="hex2">
<img src="http://farm3.staticflickr.com/2178/3531465579_8bff044e9b_z.jpg?zz=1" alt="" />
</div>
</div>
</div>
</a>
<a href="http://www.google.ca" class='hexaHolder even'>
<div class="hexa">
<div class="hex1">
<div class="hex2">
<img src="http://farm3.staticflickr.com/2441/3657346647_a11111ed39_z.jpg?zz=1" alt="" />
</div>
</div>
</div>
</a>
<a href="http://www.google.ca" class='hexaHolder'>
<div class="hexa">
<div class="hex1">
<div class="hex2">
<img src="http://farm4.staticflickr.com/3637/3658139504_c33433f163_z.jpg?zz=1" alt="" />
</div>
</div>
</div>
</a>
</div>
</div>

CSS:

.hexaHolder{
height: 115px;
width: 99px;
float: left;
}
.hexa img{
width:100%;
margin-top: -5px;
}
.hexa, .hexa div {
margin: 0 auto;
transform-origin: 50% 50%;
overflow: hidden;
}
.hexa {
text-align: center;
margin: 0;
width: 135px;
height: 115px;
}
.hexa div {
width: 100%;
height: 100%;
}
.hexa {
transform: rotate(120deg);
}
.hex1 {
transform: rotate(-60deg);
}
.hex2 {
transform: rotate(-60deg);
}

.hex-row {
clear: left;
}

.hexaHolder.even {
margin-top: 57.5px;
}

#wrap {
min-width:600px;
}

好吧,基本上我所做的就是使用 CodePen 中的代码作为起始 block ,因为它已经将图像放入六边形内。但是,我稍微修改了 CSS 和 HTML,以便您可以 float 六边形并定位它们,使它们看起来像您的示例。所有的功劳都需要归功于@geoffrey_crofte,因为他是六边形背后的天才。我刚刚定位并调整了大小。

干杯!

关于html - 基于 css 的六边形内的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27976209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com