这是我目前正在处理的网站:
http://willcrichton.net/
如果单击中间六边形每边的箭头,可以看到它使用jQuery jQuery Cycle jQuery Easing左右转换.但是,你也可以看到它相当丑陋 – 因为我使用六边形而不是正方形,因为div是方形的,内容六边形与背景以令人不快的方式重叠.
所以,我的问题是:我怎么会把div变成六角形呢?该六边形应该与内容div的大小/形状相同,并且当内容在六边形区域之外时,它应该是不可见的.
编辑:
HTML
<div id="content"> <div class="slide"> <a href="#"><div class="arrow left"></div></a> <a href="#"><div class="arrow right"></div></a> <div id="websites-title"></div> <div class="website"> </div> </div> <div class="slide"> <a href="#"><div class="arrow left"></div></a> <a href="#"><div class="arrow right"></div></a> </div></div> <script type="text/javascript"> $("#content").cycle({ fx: 'scrollHorz',timeout: 0,prev: ".left",next: ".right",easing: "easeInOutBack" }); </script>
CSS
/* Container styles */ #container { width: 908px; height: 787px; left: 50%; top: 50%; position: absolute; margin-top: -393.5px; margin-left: -452px; background-image: url("images/background.png"); font: 12px "Lucida Sans Unicode","Arial",sans-serif; z-index: 3; } #content { width: 686px; height: 598px; position: absolute; left: 50%; top: 50%; margin-top: -282px; margin-left: -343.5px; /*background-image: url("images/hacky_hole2.png");*/ z-index: 1; } .slide { width: 100%; height: 100%; background-image: url("images/content.png"); position: relative; z-index: 2; }
更新:如果你现在检查网站,你会看到我尝试使用“窗口”方法失败,你可以看到为什么z-index不起作用.
@R_403_323@
您不能将div设为六边形,但可以使用带有Alpha透明度的PNG文件来遮盖您想要的区域.因此,您需要制作四个div,每个div都有一个背景,其中PNG文件的透明度充当遮罩.使用滑块将这些div绝对定位在div上.
编辑:正如下面的Pekka所说,这也可以通过一个大的PNG文件作为掩码来完成.
<div id="content"></div> <div class="slide"> <a href="#"><div class="arrow left"></div></a> <a href="#"><div class="arrow right"></div></a> <div id="websites-title"></div> <div class="website"> </div> </div> <div class="slide"> <a href="#"><div class="arrow left"></div></a> <a href="#"><div class="arrow right"></div></a> </div>
请注意,我关闭了< div id =“content”>元件.此元素应该是幻灯片的兄弟元素,但应位于具有更高z-index的幻灯片上方.或者,如果您的“内容”div用于除显示蒙版之外的其他目的,您可能需要创建专用于显示蒙版的新元素.