不一样手风琴效果

news/2024/12/2 23:34:15/

示例地址:demo示例演示

1、不一样的手风琴效果

按照设计需求,我们就可以很明显的看到不一样的地方,大多数的手风琴效果是这样的:四个div排列成一排,hover的时候把其他的三个进行了挤压处理。
在这里插入图片描述
不过我们需要的呈现效果是这样的:hover的时候,不用挤压其他的div,原因是希望1x的内容区域中,显示完整的内容,而不要去挤压他。
在这里插入图片描述

2、实现方式

第一种手风琴实现方式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>手风琴效果</title><link rel="stylesheet/less" href="css/style.less">
</head>
<body>
<div class="organ"><div class="organ-list"><ul><li>1</li><li>2</li><li>3</li><li>4</li></ul></div>
</div></body>
</html>
*{margin: 0;padding: 0;
}
.organ{width: 1200px;margin: 200px auto;height: 800px;background: #1a8cff;.organ-list{width: 100%;height: 300px;padding: 10px;overflow: hidden;ul{width: 100%;height: 100%;list-style: none;position: relative;display: flex;li{width: 23.8%;height: 100%;background: #f5f5f5;margin-right: 1%;transition: all 0.5s;margin-bottom: 10px;font-size: 24px;font-weight: 600;color: #303233;line-height: 300px;text-align: center;position: relative;z-index: 399;&:hover{width: 48.5%;background: #07FFAE;}}}}
}

第二种实现方式相对来说会复杂一点,在实现第二种类型之前,先说一下遇到的问题
问题一:flex布局会让div都在同一行怎么办?
解决:ul添加flex-wrap: wrap;让他可以换行,当然也可以用float:left;
这样会出现新的问题:hover最后一个div时他不见了!!!
在这里插入图片描述
原因是因为最后一个div,hover时候,他超出父类的宽度,就会被顶出去,顶到下面一行
在这里插入图片描述
问题二:如何解决最后一个div被顶下去?
解决:单独处理最后一个div,给最后一个div进行定位处理,让他固定在那个位置,这里的方式是,给他添加一个类

 .m2{position: absolute;right: 1%;z-index: 399;}
<script src="js/jquery-1.11.0.min.js"></script>
<script>$(function () {let $nth = $(".organ-list>ul>li:nth-of-type(4n)");$nth.hover(function () {$(this).addClass("m2");$(this).css("z-index","499");},function () {$(this).css("z-index","299");})})
</script>

在这里插入图片描述
细节问题:绑定最后的那个div时不要用li:last-of-type,因为当一行不满四个的时候,他会默认这一行的最后一个,这样是不行的,所有我们要用:nth-of-type(4n);
在这里插入图片描述

3、完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>手风琴效果</title><link rel="stylesheet/less" href="css/style.less">
</head>
<body>
<div class="organ"><div class="organ-list"><ul><li>1</li><li>2</li><li>3</li><li>4</li></ul></div><div class="organ-list"><ul><li>5</li><li>6</li><li>7</li><li>8</li></ul></div>
</div><script src="js/less.js"></script>
<script src="js/jquery-1.11.0.min.js"></script>
<script>$(function () {let $nth = $(".organ-list>ul>li:nth-of-type(4n)");$nth.hover(function () {$(this).addClass("m2");$(this).css("z-index","499");},function () {$(this).css("z-index","299");})})
</script>
</body>
</html>
*{margin: 0;padding: 0;
}
.organ{width: 1200px;margin: 200px auto;height: 800px;background: #1a8cff;.organ-list{width: 100%;height: 300px;padding: 10px;overflow: hidden;ul{width: 100%;height: 100%;list-style: none;position: relative;/*display: flex;//flex-wrap: wrap;*/li{float: left;width: 23.8%;height: 100%;background: #f5f5f5;margin-right: 1%;transition: all 0.5s;margin-bottom: 10px;font-size: 24px;font-weight: 600;color: #303233;line-height: 300px;text-align: center;position: relative;z-index: 399;&:hover{width: 48.5%;background: #07FFAE;}}.m2{position: absolute;right: 1%;z-index: 399;}}}
}

http://www.ppmy.cn/news/590427.html

相关文章

年终工作总结

不知不觉间&#xff0c;来到公司已经快一年时间了&#xff0c;在工作中&#xff0c;经历了很多酸甜苦辣&#xff0c;认识了很多良师益友&#xff0c;获得了很多经验教训&#xff0c;感谢领导给了我成长的空间、勇气和信心。在这几年的时间里&#xff0c;通过自身的不懈努力&…

华洛希钢琴HAROCHE老师告诉你:弹钢琴的正确手型与指法

钢琴大师鲁宾斯坦说过:“演奏钢琴最大的秘诀是,在正确的地方使用正确的指法,弹奏正确的琴键”。可见, 手型和指法在学习钢琴演奏中的重要性,当指法练到一定程度时,就会成为一种技巧,成为弹奏钢琴的艺术。 首先,学钢琴手型是基础,手型规范才有助于练习出正确的指法,指…

手风琴效果(jQuery)

简单的手风琴效果实现实际比看起来简单&#xff0c;只是改变当前的元素宽度和其他元素的宽度&#xff0c;其代码如下&#xff08;图片什么的都要换成自己噢&#xff09; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8…

JQuery--手风琴,留言板

1.手风琴 <!DOCTYPE html> <html><head lang"en"><meta charset"UTF-8"><title></title><style>ul {list-style: none}* {margin: 0;padding: 0;}div {position: relative;width: 1200px;height: 400px;margin…

jquery accordion 手风琴的使用

首先&#xff0c;accordion 的意思是手风琴&#xff0c;发音是 饿考滴儿 &#xff0c;嘿嘿&#xff0c;我觉得大家在使用的时候应该使用它的正确发音&#xff0c;我想是因为效果像是手风琴吧&#xff0c;所以叫做accordion吧&#xff0c;我开始没有仔细看&#xff0c;还以为是a…

JQuery-手风琴

手风琴案列 HTML样式 <style type"text/css">* {padding: 0;margin: 0;}ul {list-style-type: none;}.parentWrap {width: 200px;text-align: center;}.menuGroup {border: 1px solid #999;background-color: #e0ecff;}.groupTitle {display: block;height: …

音乐家演奏乐器

Main.m #import <Foundation/Foundation.h> #import "Piano.h" #import "Violin.h" #import "Actor.h"/*乐器&#xff08;Instrument&#xff09;分为&#xff1a;钢琴(Piano)、小提琴(Violin)。各种乐器的弹奏&#xff08; play &#xf…

JQ实现手风琴案例

JQ实现手风琴案例看过原生js打的手风琴案例感觉太麻烦&#xff0c;所以亲手打了一个 用jq实现的手风琴案例。首先 我们来看html部分 不用设置img的样式 所以我就不需要上面命名&#xff0c;直接一个大盒子包着五个小盒子里面再包着一个img。 3.上面是css的样式 Css样式 虽然很…