【问题标题】:Image animation below fixed header if website is scrolled down [duplicate]如果网站向下滚动,固定标题下方的图像动画[重复]
【发布时间】:2019-06-17 21:26:53
【问题描述】:

我有以下HTMLCSS 的网站,您也可以在JSfiddle here 中找到:

body {
  margin: 0;
}


/* 01.00 HEADER */

.header {
  width: 80%;
  height: 10%;
  margin-left: 10%;
  display: flex;
  justify-content: space-between;
  position: fixed;
  top: 0;
  
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
  background-color: yellow;
}

.image {
  width: 30%;
  height: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
  background-color: green;
}

.navigation {
  width: 70%;
  height: 100%;
  
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
  background-color: aqua;
}



/* 02.00 NAVIGATION */

.navigation>ul {
  height: 100%;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
  background-color: blue;
}

.navigation>ul>li {
  width: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: center;
  
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px;
}



/* 03.00 CONTENT */

.image_animation {
 width: 80%;
 margin-left: 10%;
 margin-top: 10%;
 float: left;
 display: flex;
 justify-content: space-between;

 background-color: green;
 box-sizing: border-box;
 border-style: solid;
 border-width: 1px;
}
 
.image_list {
 width: 100%;
 position: relative;
	
 background-color: red;
 box-sizing: border-box;
 border-style: solid;
 border-width: 1px;
}
	
.image_list img {
 width: 100%;
 height: 100%;
}
 
.image1 {
 height: 100%;
 width: 100%;
 float: left;
 position: absolute;
}
 
.image2 {
 height: 100%;
 width: 100%;
 float: left;
 animation-delay: 2s;
}
 
.image_list div {
 animation-name: animation_home_images;
 animation-duration:4s;
 animation-iteration-count:infinite;
 animation-fill-mode: forwards;
 opacity:0;
 }

@keyframes animation_home_images {
  50.0% {
    opacity: 1
  }
  0%, 100%{
    opacity: 0
  }
}
<div class="header">	

      <div class="image">
      Image
      </div>
  
      <nav class="navigation"> 
      
        <ul>
          <li> 1.0 Main Menu </li>
          <li> 2.0 Main Menu </li>
          <li> 3.0 Main Menu </li>
        </ul>
        
      </nav>
      
</div>	


<div class="image_animation">
    
  <div class="image_list">
    <div class="image1"><img src="http://placehold.it/101x101"></div>
		<div class="image2"><img src="http://placehold.it/201x201"></div>
	</div>
        
</div>

如您所见,我有一个.header,其属性postion: fixed; 包含一个.image 和一个.navigation。在.header 下方,一旦用户打开网站,我就有两个图像的.image_animation 运行infinite

到目前为止,这一切都很好。


现在,我面临的问题是,一旦用户向下滚动页面,.header 保持不变,但动画图片保持在固定的.header 之上。
据我所知,这个问题是由.image1position: absolute; 引起的。
但是,根据this 问题中的答案,position: absolute; 是使.image_animation 工作所必需的。

如何更改我的代码以使.image_animation 工作并在用户向下滚动页面后让它低于fixed header

【问题讨论】:

  • 玩 z-index?
  • 将 z-index:100 添加到标题元素,如上述 Temani Afif。

标签: jquery html css


【解决方案1】:

z-index-1 添加到 .header 类。谢谢

参考下面的链接

http://jsfiddle.net/szmbrLx2/888

【讨论】:

    【解决方案2】:

    试试这个。在 .header 中添加 z-index

    body {
      margin: 0;
    }
    
    
    /* 01.00 HEADER */
    
    .header {
      width: 80%;
      height: 10%;
      margin-left: 10%;
      display: flex;
      justify-content: space-between;
      position: fixed;
      top: 0;
      z-index:99;
      box-sizing: border-box;
      border-style: solid;
      border-width: 1px;
      background-color: yellow;
    }
    
    .image {
      width: 30%;
      height: 100%;
      display: flex;
      justify-content: center;
      text-align: center;
      align-items: center;
      
      box-sizing: border-box;
      border-style: solid;
      border-width: 1px;
      background-color: green;
    }
    
    .navigation {
      width: 70%;
      height: 100%;
      
      box-sizing: border-box;
      border-style: solid;
      border-width: 1px;
      background-color: aqua;
    }
    
    
    
    /* 02.00 NAVIGATION */
    
    .navigation>ul {
      height: 100%;
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
      
      box-sizing: border-box;
      border-style: solid;
      border-width: 1px;
      background-color: blue;
    }
    
    .navigation>ul>li {
      width: 100%;
      display: flex;
      justify-content: center;
      text-align: center;
      align-items: center;
      
      box-sizing: border-box;
      border-style: solid;
      border-width: 1px;
    }
    
    
    
    /* 03.00 CONTENT */
    
    .image_animation {
     width: 80%;
     margin-left: 10%;
     margin-top: 10%;
     float: left;
     display: flex;
     justify-content: space-between;
    
     background-color: green;
     box-sizing: border-box;
     border-style: solid;
     border-width: 1px;
    }
     
    .image_list {
     width: 100%;
     position: relative;
    	
     background-color: red;
     box-sizing: border-box;
     border-style: solid;
     border-width: 1px;
    }
    	
    .image_list img {
     width: 100%;
     height: 100%;
    }
     
    .image1 {
     height: 100%;
     width: 100%;
     float: left;
     position: absolute;
    }
     
    .image2 {
     height: 100%;
     width: 100%;
     float: left;
     animation-delay: 2s;
    }
     
    .image_list div {
     animation-name: animation_home_images;
     animation-duration:4s;
     animation-iteration-count:infinite;
     animation-fill-mode: forwards;
     opacity:0;
     }
    
    @keyframes animation_home_images {
      50.0% {
        opacity: 1
      }
      0%, 100%{
        opacity: 0
      }
    }
    <div class="header">	
    
          <div class="image">
          Image
          </div>
      
          <nav class="navigation"> 
          
            <ul>
              <li> 1.0 Main Menu </li>
              <li> 2.0 Main Menu </li>
              <li> 3.0 Main Menu </li>
            </ul>
            
          </nav>
          
    </div>	
    
    
    <div class="image_animation">
        
      <div class="image_list">
        <div class="image1"><img src="http://placehold.it/101x101"></div>
    		<div class="image2"><img src="http://placehold.it/201x201"></div>
    	</div>
            
    </div>

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    相关资源
    最近更新 更多