RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 760421
Accepted
Randall
Randall
Asked:2020-12-19 18:45:52 +0000 UTC2020-12-19 18:45:52 +0000 UTC 2020-12-19 18:45:52 +0000 UTC

帮助创建叠加效果

  • 772

.cs {
	padding: 50px 0 80px;
}
.cs h2 {
	text-align: center;
	font-size: 36px;
	line-height: 41px;
	margin-bottom: 60px;
	font-weight: 400;
	margin: 0 0 40px;
}

.cs .t {
	display: inline-block;
	width: 50%;
	line-height: 23px;
	text-align: center;
	vertical-align: middle;

} 
.cs .t .wp:first-child {
	margin-left: 0;
}
.cs .t .wp {
	width: 75px;
	display: inline-block;
	cursor: pointer;
	vertical-align: middle;
}
.cs .t .wp img {
	width: 100%;
	border-radius: 40px;
	position: relative;
	opacity: 1;
	transition: opacity .5s ease-in-out;
}
.cs .t .wp span {
	display: none;
} 
<div class="cs">
  <h2>24/7 Customer Support</h2>
  <div class="t">
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/22_qyfcaezY.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/26_UTZtK9MY.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/29_r2HPbRjc.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/47_K7bg36vA.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/56_WuDKKWiZ.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/79_Wq5Fue3t.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/59_MGrdWrHU.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/60_ZRwxcmfT.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/71_nvT8vFjV.jpg">
      <span>Brendan</span>
    </div>
    <div class="wp">
      <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/79_Wq5Fue3t.jpg">
      <span>Brendan</span>
    </div>
  </div>
</div>

有必要实现如图所示的叠加效果, 这样当悬停时图片会上升。如果有人需要这个资源,我在哪里找到这个效果。如果有可能,当您单击右侧和左侧的图片时,单击时会移开,如图所示。 在此处输入图像描述

javascript
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    NeedHate
    2020-12-19T21:15:23Z2020-12-19T21:15:23Z

    这是这样一个实现:

    console.clear();
    const ul = document.querySelector('ul')
    const imgs = ul.querySelectorAll('li');
    
    const sibs = (current) => {
    	let prevSibling = current;
    	let nextSibling = current;
    	const next = [];
    	const prev = [];
    	
    	while(nextSibling.nextElementSibling !== null) {
    		nextSibling = nextSibling.nextElementSibling;
    		next.push(nextSibling)
    	};
    	while(prevSibling.previousElementSibling !== null) {
    		prevSibling = prevSibling.previousElementSibling;
    		prev.push(prevSibling)
    	};
    	
    	for(let item in next) {
    		
    		let num = (parseInt(item ) + 1)/next.length * 0.9;
    		next[next.length - (parseInt(item) + 1)].style.opacity = num;
    		
    	}
    	
    	for(let item in prev) {
    		let num = (parseInt(item) + 1)/prev.length*0.75;
    		prev[prev.length - (parseInt(item) + 1)].style.opacity = num
    	}
    }
    [...imgs].forEach(img => {
    	document.documentElement.addEventListener('click', function(e){
    		[...imgs].filter(item => {
    			if(item !== img) {
    				item.classList.remove('active');
    				item.style.opacity = '1'
    			}
    		})
    	})
    	img.addEventListener('click', function(e){
    		e.stopPropagation();
    		sibs(img);
    		
    		[...imgs].filter(item => {
    			if(item !== img) {
    				item.classList.remove('active');
    			} else {
    				item.classList.add('active');
    				item.style.opacity = '1'
    			}
    		})
    	})
    })
    * {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
    }
    
    img {
      max-width: 100%;
      vertical-align: middle;
    }
    
    .wrapper {
      width: 600px;
      margin: 30px auto;
    }
    
    ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
    ul.hoverable li:hover {
      -webkit-transform: translatey(-10%);
              transform: translatey(-10%);
    }
    ul li {
      width: 100px;
      border-radius: 50%;
      overflow: hidden;
      margin-right: -20px;
      -webkit-transition: .3s;
      transition: .3s;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      -webkit-transform: translatez(0);
              transform: translatez(0);
      -webkit-box-flex: 0;
          -ms-flex: 0 100px;
              flex: 0 100px;
      min-width: 100px;
      max-width: 100px;
    }
    ul li.active {
      margin: 0 10px 0 30px;
      -webkit-transform: translatey(0);
              transform: translatey(0);
    }
    <div class="wrapper">
    	<ul class="hoverable">
    		<li><img src="https://cdn.tourradar.com/s3/team/original/22_qyfcaezY.jpg" alt=""></li>
    		<li><img src="https://cdn.tourradar.com/s3/team/original/26_UTZtK9MY.jpg" alt=""></li>
    		<li><img src="https://cdn.tourradar.com/s3/team/original/29_r2HPbRjc.jpg" alt=""></li>
    		<li><img src="https://cdn.tourradar.com/s3/team/original/47_K7bg36vA.jpg" alt=""></li>
    		<li><img src="https://cdn.tourradar.com/s3/team/original/60_ZRwxcmfT.jpg" alt=""></li>
    		
    	</ul>
    </div>

    • 1
  2. Randall
    2020-12-19T21:03:15Z2020-12-19T21:03:15Z

    .cs {
    	padding: 50px 0 80px;
    	background: #fff;
    }
    .cs h2 {
    	text-align: center;
    	font-size: 36px;
    	line-height: 41px;
    	margin-bottom: 60px;
    	font-weight: 400;
    	margin: 0 0 40px;
    }
    
    .cs .t {
    	display: inline-block;
    	width: 48%;
    	line-height: 23px;
    	text-align: center;
    	vertical-align: middle;
    
    } 
    .cs .t .wp:first-child {
    	margin-left: 0;
    }
    .cs .t .wp {
    	width: 75px;
    	display: inline-block;
    	 margin-left: -30px;
    	cursor: pointer;
    	vertical-align: middle;
    }
    .cs .t .wp:active {
        margin: 0 40px 0 10px;
        position: relative;
        text-align: center
    }
    .cs .t .wp:active span {
        display: block;
        font-family: Georgia,Nimbus Roman No9 L,serif;
        width: 100%;
        font-style: italic;
        position: absolute
    }
    .cs .t a {
        display: block;
        margin-top: 10px
    }
    .cs .t .wp img {
    	width: 100%;
    	border-radius: 40px;
    	position: relative;
    	opacity: 1;
    	 -webkit-transition: opacity .5s ease-in-out;
        -moz-transition: opacity .5s ease-in-out;
        -o-transition: opacity .5s ease-in-out;
        transition: opacity .5s ease-in-out;
    	transition: opacity .5s ease-in-out;
    }
    .wp:hover {
        margin-bottom: 20px
    }
    .cs .t .wp span {
    	display: none;
    }
    .cs .t:last-child {
    	text-align: left;
    }
    .cs .t a {
    	display: block;
    	margin-top: 10px;
    }
    <div class="cs">
      <h2>24/7 Customer Support</h2>
      <div class="t">
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/22_qyfcaezY.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/26_UTZtK9MY.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/29_r2HPbRjc.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/47_K7bg36vA.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/56_WuDKKWiZ.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/79_Wq5Fue3t.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/59_MGrdWrHU.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/60_ZRwxcmfT.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/71_nvT8vFjV.jpg">
          <span>Brendan</span>
        </div>
        <div class="wp">
          <img class="lazy" src="https://cdn.tourradar.com/s3/team/original/79_Wq5Fue3t.jpg">
          <span>Brendan</span>
        </div>
      </div>
    </div>

    只需要添加一个伪类active

    .cs .t .wp:active {
        margin: 0 40px 0 10px;
        position: relative;
        text-align: center
    }
    .cs .t .wp:active span {
        display: block;
        font-family: Georgia,Nimbus Roman No9 L,serif;
        width: 100%;
        font-style: italic;
        position: absolute
    }
    

    一切正常。我请你只在全屏上查看工作示例。

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5