css – 多边形Divs – 使内容溢出特定形状?

前端之家收集整理的这篇文章主要介绍了css – 多边形Divs – 使内容溢出特定形状?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我目前正在处理的网站: http://willcrichton.net/

如果单击中间六边形每边的箭头,可以看到它使用jQuery jQuery Cycle jQuery Easing左右转换.但是,你也可以看到它相当丑陋 – 因为我使用六边形而不是正方形,因为div是方形的,内容六边形与背景以令人不快的方式重叠.

所以,我的问题是:我怎么会把div变成六角形呢?该六边形应该与内容div的大小/形状相同,并且当内容在六边形区域之外时,它应该是不可见的.

编辑:

HTML

  1. <div id="content">
  2. <div class="slide">
  3.  
  4. <a href="#"><div class="arrow left"></div></a>
  5. <a href="#"><div class="arrow right"></div></a>
  6.  
  7. <div id="websites-title"></div>
  8. <div class="website">
  9.  
  10. </div>
  11. </div>
  12. <div class="slide">
  13. <a href="#"><div class="arrow left"></div></a>
  14. <a href="#"><div class="arrow right"></div></a>
  15.  
  16. </div></div>
  17.  
  18.  
  19. <script type="text/javascript">
  20. $("#content").cycle({
  21. fx: 'scrollHorz',timeout: 0,prev: ".left",next: ".right",easing: "easeInOutBack"
  22. });
  23. </script>

CSS

  1. /* Container styles */
  2.  
  3. #container {
  4. width: 908px;
  5. height: 787px;
  6. left: 50%;
  7. top: 50%;
  8. position: absolute;
  9. margin-top: -393.5px;
  10. margin-left: -452px;
  11. background-image: url("images/background.png");
  12. font: 12px "Lucida Sans Unicode","Arial",sans-serif;
  13. z-index: 3;
  14. }
  15.  
  16. #content {
  17. width: 686px;
  18. height: 598px;
  19. position: absolute;
  20. left: 50%;
  21. top: 50%;
  22. margin-top: -282px;
  23. margin-left: -343.5px;
  24. /*background-image: url("images/hacky_hole2.png");*/
  25. z-index: 1;
  26. }
  27.  
  28. .slide {
  29. width: 100%;
  30. height: 100%;
  31. background-image: url("images/content.png");
  32. position: relative;
  33. z-index: 2;
  34. }

更新:如果你现在检查网站,你会看到我尝试使用“窗口”方法失败,你可以看到为什么z-index不起作用.

解决方法

您不能将div设为六边形,但可以使用带有Alpha透明度的PNG文件来遮盖您想要的区域.因此,您需要制作四个div,每个div都有一个背景,其中PNG文件的透明度充当遮罩.使用滑块将这些div绝对定位在div上.

编辑:正如下面的Pekka所说,这也可以通过一个大的PNG文件作为掩码来完成.

编辑#2:看看你发布的代码,我会像这样修改它:

  1. <div id="content"></div>
  2. <div class="slide">
  3.  
  4. <a href="#"><div class="arrow left"></div></a>
  5. <a href="#"><div class="arrow right"></div></a>
  6.  
  7. <div id="websites-title"></div>
  8. <div class="website">
  9.  
  10. </div>
  11. </div>
  12. <div class="slide">
  13. <a href="#"><div class="arrow left"></div></a>
  14. <a href="#"><div class="arrow right"></div></a>
  15. </div>

请注意,我关闭了< div id =“content”>元件.此元素应该是幻灯片的兄弟元素,但应位于具有更高z-index的幻灯片上方.或者,如果您的“内容”div用于除显示蒙版之外的其他目的,您可能需要创建专用于显示蒙版的新元素.

猜你在找的CSS相关文章