首页 > web前端 > css教程 > 正文

如何创建带有背景图像的 CSS3 三角形并确保可点击性?

DDD
发布: 2024-11-10 17:12:02
原创
300 人浏览过

How to Create CSS3 Triangle Shapes with Background Images and Ensure Clickability?

带有背景图像的三角形

在项目中,您需要两个三角形来充当链接并保存背景图像。问题在于无法将鼠标悬停在一个三角形的透明部分上以访问其后面的链接。以下是如何使用 CSS3 三角形和背景图像实现此设计:

CSS3 三角形不能仅使用边框创建,边框仅允许矩形形状。相反,您可以使用子图像作为链接而不是背景图像。下面是改进后的代码:

<div class="pageOption">
  <a href="#" class="option" data-inf="photo">
    <img src="../images/menuPhoto.png">
  </a>
  <a href="#" class="option" data-inf="cinema">
    <img src="../images/menuCinema.png">
  </a>
</div>
登录后复制

负责三角形形状的 CSS:

.pageOption {
  overflow: hidden;
  position: relative;
  width: 40em; height: 27em;
}
.option, .option img { width: 100%; height: 100%; }
.option {
  overflow: hidden;
  position: absolute;  
  /* arctan(27 / 40) = 34.01935deg 
   * need to skew by 90deg - 34.01935deg = 55.98065deg
  */
  transform: skewX(-55.98deg);
}
.option:first-child {
  left: -.25em;
  transform-origin: 100% 0;
}
.option:last-child {
  right: -.25em;
  transform-origin: 0 100%;
}
.option img {
  transform: skewX(55.98deg);
  transform-origin: inherit;
}
登录后复制

此解决方案利用倾斜变换属性来创建 CSS3 三角形。然后,选项内的图像不会倾斜,以补偿倾斜的容器。通过将容器和选项上的溢出设置为隐藏,图像保留在各自区域的边界内。

以上是如何创建带有背景图像的 CSS3 三角形并确保可点击性?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板