在悬停事件

时间:2017-10-03 12:29:06

标签: html css css-position overlay

我正在努力实现这里使用的概念:

https://codepen.io/web-tiki/pen/HhCyd

body{
  font-family: 'Open Sans', arial, sans-serif;
  background:rgb(123, 158, 158);

}
*{
  margin:0;
  padding:0;
}
#categories{
  overflow:hidden;
  width:90%;
  margin:0 auto;
}
.clr:after{
  content:"";
  display:block;
  clear:both;
}
#categories li{
  position:relative;
  list-style-type:none;
  width:27.85714285714286%; /* = (100-2.5) / 3.5 */
  padding-bottom: 32.16760145166612%; /* =  width /0.866 */
  float:left;
  overflow:hidden;
  visibility:hidden;
 
  -webkit-transform: rotate(-60deg) skewY(30deg);
  -ms-transform: rotate(-60deg) skewY(30deg);
  transform: rotate(-60deg) skewY(30deg);
}
#categories li:nth-child(3n+2){
  margin:0 1%;
}
#categories li:nth-child(6n+4){
  margin-left:0.5%;
}
#categories li:nth-child(6n+4), #categories li:nth-child(6n+5), #categories li:nth-child(6n+6) {
	margin-top: -6.9285714285%;
  margin-bottom: -6.9285714285%;
  
  -webkit-transform: translateX(50%) rotate(-60deg) skewY(30deg);
  -ms-transform: translateX(50%) rotate(-60deg) skewY(30deg);
  transform: translateX(50%) rotate(-60deg) skewY(30deg);
}
#categories li:nth-child(6n+4):last-child, #categories li:nth-child(6n+5):last-child, #categories li:nth-child(6n+6):last-child{
  margin-bottom:0%;
}
#categories li *{
  position:absolute;
  visibility:visible;
}
#categories li > div{
  width:100%;
  height:100%;
  text-align:center;
  color:#fff;
  overflow:hidden;
  
  -webkit-transform: skewY(-30deg) rotate(60deg);
  -ms-transform: skewY(-30deg) rotate(60deg);
  transform: skewY(-30deg) rotate(60deg);
  
	-webkit-backface-visibility:hidden;
  
}

/* HEX CONTENT */
#categories li img{
  left:-100%; right:-100%;
  width: auto; height:100%;
  margin:0 auto;   
}

#categories div h1, #categories div p{
  width:90%;
  padding:0 5%;
  background-color:#008080; background-color: rgba(0, 128, 128, 0.8);
  font-family: 'Raleway', sans-serif;
  
  -webkit-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
  -ms-transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
  transition: top .2s ease-out, bottom .2s ease-out, .2s padding .2s ease-out;
}
#categories li h1{
  bottom:110%;
  font-style:italic;
  font-weight:normal;
  font-size:1.5em;
  padding-top:100%;
  padding-bottom:100%;
}
#categories li h1:after{
	content:'';
  display:block;
  position:absolute;
  bottom:-1px; left:45%;
  width:10%;
  text-align:center;
  z-index:1;
  border-bottom:2px solid #fff;
}
#categories li p{
	padding-top:50%;
	top:110%;
	padding-bottom:50%;
}


/* HOVER EFFECT  */

#categories li div:hover h1 {
  bottom:50%;
  padding-bottom:10%;
}

#categories li div:hover p{
  top:50%;
  padding-top:10%;
}
#fork{
  position:fixed;
  top:0;
  left:0;
  color:#000;
  text-decoration:none;
  border:1px solid #000;
  padding:.5em .7em;
  margin:1%;
  transition: color .5s;
  overflow:hidden;
}
#fork:before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 130%; height: 100%;
  background: #000;
  z-index: -1;
  transform-origin:0 0 ;
  transform:translateX(-100%) skewX(-45deg);
  transition: transform .5s;
}
#fork:hover {
  color: #fff;
}
#fork:hover:before {
  transform: translateX(0) skewX(-45deg);
}
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,800italic,400,700,800' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Raleway:400,700,300,200,100,900' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Amatic+SC:400,700' rel='stylesheet' type='text/css'>

<ul id="categories" class="clr">
  <li class="pusher"></li>
	<li>
      <div>
        <img src="https://farm3.staticflickr.com/2878/10944255073_973d2cd25c.jpg" alt=""/>
        <h1>This is a title a bit longer</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
    <li>
      <div>
        <img src="https://farm9.staticflickr.com/8461/8048823381_0fbc2d8efb.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm5.staticflickr.com/4144/5053682635_b348b24698.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm3.staticflickr.com/2827/10384422264_d9c7299146.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6217/6216951796_e50778255c.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6092/6227418584_d5883b0948.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li><li>
      <div>
        <img src="https://farm4.staticflickr.com/3766/12953056854_b8cdf14f21.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6139/5986939269_10721b8017.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3165/5733278274_2626612c70.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7163/6822904141_50277565c3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3771/13199704015_72aa535bd7.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  	<li>
      <div>
        <img src="https://farm3.staticflickr.com/2878/10944255073_973d2cd25c.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
    <li>
      <div>
        <img src="https://farm9.staticflickr.com/8461/8048823381_0fbc2d8efb.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm5.staticflickr.com/4144/5053682635_b348b24698.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm3.staticflickr.com/2827/10384422264_d9c7299146.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6217/6216951796_e50778255c.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6092/6227418584_d5883b0948.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3766/12953056854_b8cdf14f21.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  	<li>
      <div>
        <img src="https://farm3.staticflickr.com/2878/10944255073_973d2cd25c.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
    <li>
      <div>
        <img src="https://farm9.staticflickr.com/8461/8048823381_0fbc2d8efb.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm5.staticflickr.com/4144/5053682635_b348b24698.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm3.staticflickr.com/2827/10384422264_d9c7299146.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6217/6216951796_e50778255c.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6092/6227418584_d5883b0948.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3766/12953056854_b8cdf14f21.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6139/5986939269_10721b8017.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3165/5733278274_2626612c70.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7163/6822904141_50277565c3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3771/13199704015_72aa535bd7.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6139/5986939269_10721b8017.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3165/5733278274_2626612c70.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7163/6822904141_50277565c3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm4.staticflickr.com/3771/13199704015_72aa535bd7.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li>
      <div>
        <img src="https://farm7.staticflickr.com/6083/6055581292_d94c2d90e3.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
  <li class="pusher"></li>
  <li>
      <div>
        <img src="https://farm8.staticflickr.com/7187/6895047173_d4b1a0d798.jpg" alt=""/>
        <h1>This is a title</h1>
        <p>Some sample text about the article this hexagon leads to</p>
    </div>
  </li>
</ul>
<a id="fork" target="_blank" href="https://github.com/web-tiki/responsive-grid-of-hexagons">Fork on GitHub</a>

我不想要六角形或任何我想要从顶部和底部滑动叠加的东西。

我希望叠加层可以像六边形一样滑到500x500图像上。我尝试了很多,但我正在努力解决相对绝对定位问题,并最终得到一堆图像或根本没有叠加。

提前感谢您的任何提示和帮助!

1 个答案:

答案 0 :(得分:0)

我自己弄清楚了,所以您可以继续:CodePen或:

html,
body {
  background-color: #1c1c1c;
  height: 100%;
}
.wrapper {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: center;
}
#portfolioGrid {
  width: 40%;
  margin: auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.grid-item {
  overflow: hidden;
  position: relative;
}

.grid-item > a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.overlay-top:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 45%;
  width: 10%;
  text-align: center;
  z-index: 1;
  border-bottom: 3px solid #fff;
}
.grid-item img {
  width: 100%;
  display: block;
}
.overlay-top,
.overlay-bot {
  position: absolute;
  background-color: #000;
  text-align: center;
  width: 100%;
  overflow: hidden;
  height: 50%;
  color: #fff;
  opacity: 0.9;
}
/*hide*/
.overlay-top {
  top: -50%;
}
.overlay-bot {
  bottom: -50%;
}
.grid-item h1 {
  padding: 50% 0 0 0;
}
.grid-item p {
  padding: 0 0 50% 0;
 }
/*silding*/
.overlay-top,
.overlay-bot {
  transition: top 0.2s ease-out, bottom 0.2s ease-out;
}
.grid-item h1,
.grid-item h2,
.grid-item p {
  transition: padding 0.2s ease-out 0.4s;
  font-family: Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana,
    "sans-serif";
  font-size: 15px;
  font-weight: 300;
}
/*hover effect*/
.grid-item:hover .overlay-top {
  top: 0;
  transition-delay: 0.2s;
}
.grid-item:hover .overlay-bot {
  bottom: 0;
  transition-delay: 0.2s;
}
.grid-item:hover h1,
.grid-item:hover h2 {
  padding: 25% 0;
  margin: 0;
}
.grid-item:hover p {
  padding: 10% 0;
  margin: 0;
}
<div class="wrapper">
  <div id="portfolioGrid">
    <a class="grid-item" href="#"> <!--target="_blank" rel="noopener"-->
      <div class="overlay-top">
        <h1>Hello</h1>
      </div>
      <img src="https://picsum.photos/500" alt="#" />
      <div class="overlay-bot">
        <p>bottom text</p>
      </div>
    </a>
    <a class="grid-item" href="#"> <!--target="_blank" rel="noopener"-->
      <div class="overlay-top">
        <h1>Hello</h1>
      </div>
      <img src="https://picsum.photos/500" alt="#" />
      <div class="overlay-bot">
        <p>bottom text</p>
      </div>
    </a>
    <a class="grid-item" href="#"> <!--target="_blank" rel="noopener"-->
      <div class="overlay-top">
        <h1>Hello</h1>
      </div>
      <img src="https://picsum.photos/500" alt="#" />
      <div class="overlay-bot">
        <p>bottom text</p>
      </div>
    </a>
    <a class="grid-item" href="#"> <!--target="_blank" rel="noopener"-->
      <div class="overlay-top">
        <h1>Hello</h1>
      </div>
      <img src="https://picsum.photos/500" alt="#" />
      <div class="overlay-bot">
        <p>bottom text</p>
      </div>
    </a>
    <a class="grid-item" href="#"> <!--target="_blank" rel="noopener"-->
      <div class="overlay-top">
        <h1>Hello</h1>
      </div>
      <img src="https://picsum.photos/500" alt="#" />
      <div class="overlay-bot">
        <p>bottom text</p>
      </div>
    </a>
    <a class="grid-item" href="#"> <!--target="_blank" rel="noopener"-->
      <div class="overlay-top">
        <h1>Hello</h1>
      </div>
      <img src="https://picsum.photos/500" alt="#" />
      <div class="overlay-bot">
        <p>bottom text</p>
      </div>
    </a>
  </div>
</div>