【问题标题】:Make Image overlay clickable to link to another page使图像叠加层可单击以链接到另一个页面
【发布时间】:2016-03-27 14:16:25
【问题描述】:

jsfiddle:https://jsfiddle.net/e0u4sow1/

我想使用以下代码将图像链接到另一个页面。现在,如果我将其设为链接,则它不起作用。我在需要添加的地方阅读了

pointer-events: none;

代码中的某处。它尝试过,但它要么不起作用,要么起作用但删除了覆盖。

HTML:

<h1>MR Cube</h1>
<div class="media"></div>
<div class="media"><a href="http://www.google.nl/"><img alt="" class="media__image" src="http://www.webwinkelsucces.nl/wp-content/uploads/2015/05/1112625-les-outils-de-test-et-d-integration-continue-open-source.jpg" /></a>
<div class="media__body">
<h1>Lees meer</h1>
</div>
</div>

CSS:

.media {
    display: inline-block;
    position: relative;
    vertical-align: top;
}

.media__image { display: block; }

.media__body {
  background: rgba(41, 128, 185, 0.7);
  bottom: 0;
  color: white;
  font-size: 1em;
  left: 0;
  opacity: 0;
  overflow: hidden;
  padding: 3.75em 3em;
  position: absolute;
  text-align: center;
  top: 0;
  right: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.media__body:hover { opacity: 1; }

.media__body:after,
.media__body:before {
  border: 1px solid rgba(255, 255, 255, 0.7);
  bottom: 1em;
  content: '';
  left: 1em;
  opacity: 0;
  position: absolute;
  right: 1em;
  top: 1em;
  -webkit-transform: scale(1.5);
  -ms-transform: scale(1.5);
  transform: scale(1.5);
  -webkit-transition: 0.6s 0.2s;
  transition: 0.6s 0.2s;
}

.media__body:before {
  border-bottom: none;
  border-top: none;
  left: 2em;
  right: 2em;
}

.media__body:after {
  border-left: none;
  border-right: none;
  bottom: 2em;
  top: 2em;
}

.media__body:hover:after,
.media__body:hover:before {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.media__body h2 { margin-top: 0; }

.media__body p { margin-bottom: 1.5em; }

【问题讨论】:

  • 您应该使用jsfiddle,以便我们测试您的代码
  • 请考虑支持答案,以帮助感谢人们在您的问题上投入的时间和精力

标签: html css hyperlink overlay clickable


【解决方案1】:

.media__body移动到a

<a href="http://www.google.nl/">
    <img alt="" class="media__image" src="http://www.webwinkelsucces.nl/wp-content/uploads/2015/05/1112625-les-outils-de-test-et-d-integration-continue-open-source.jpg" />
    <div class="media__body">
        <h1>Lees meer</h1>
    </div>
</a>

检查这个fiddle

【讨论】:

    【解决方案2】:

    * {
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }
    
    .image-container{
      width:200px;
      position:relative;
      overflow: hidden; 
    }
      
    .image-container img {
      max-width: 100%; 
      height: auto;
      display: block; /* added this */
      
    }
    
    .image-container a {
      position:absolute;
      color: #fff;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      padding: 0;
      z-index:2;
      
    }
    
    .image-container .image-overlay{
      opacity:0;
      position:absolute;
      color: #fff;
      background: rgba(141, 178, 215, 0.77);
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      padding: 0;
      text-align:center;
      font-size:40px;
      line-height: 200px;  /* added this */
    
      
      -webkit-transition: opacity .5s ease-in-out;
      -moz-transition: opacity .5s ease-in-out;
      -ms-transition: opacity .5s ease-in-out;
      -o-transition: opacity .5s ease-in-out;
      transition: opacity .5s ease-in-out;
      z-index:1;
    }
    
    .image-container:hover .image-overlay{
      opacity:1;
    }
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
    
    <div class="image-container">
      <a href="#"></a>
      <div class="image-overlay">
        <i class="fa fa-search"></i>
      </div>
      <img src="https://placehold.it/350x350">
    </div>

    【讨论】:

      【解决方案3】:

      虽然 JQuery 没有被标记,但这是你可以使用它完成的:

      $(".media__body").click(function(){
          window.location = "http://www.google.com/";
      });
      

      Here is a Demo

      【讨论】:

        【解决方案4】:

        这里是解决方案,只需用&lt;a&gt;标签包装所有用于图像的标签

        Demo

        <h1>MR Cube</h1>
        <a href="www.google.com" >
        <div class="media"></div>
        <div class="media"><img alt="" class="media__image" src="http://www.webwinkelsucces.nl/wp-content/uploads/2015/05/1112625-les-outils-de-test-et-d-integration-continue-open-source.jpg" />
        <div class="media__body">
        <h1>Lees meer</h1>
        </div>
        </div>
        </a>
        

        【讨论】:

          猜你喜欢
          • 2010-09-12
          • 1970-01-01
          • 2017-02-26
          • 2016-11-28
          • 2011-10-26
          • 2021-07-02
          • 1970-01-01
          • 2020-11-13
          • 1970-01-01
          相关资源
          最近更新 更多