gpt4 book ai didi

javascript - 单击时展开和收缩的垂直 div

转载 作者:行者123 更新时间:2023-12-02 16:50:29 24 4
gpt4 key购买 nike

我的目标是在父 div 中包含五个左右的 div。单击某个 div 时,它应该展开到其他 div 上。让我困惑的是如何让所述 div 展开到其他 div 上方,以便当单击重置/后退/关闭按钮时,所有 div 都会再次显示。

悬停时,div 应稍微展开。

父容器为 1900 x 500。

我的代码:

.one {
height: 100%;
width: 20%;
background-color: #ffccaa;
float: left;
}
.two {
height: 100%;
width: 20%;
background-color: #ffffcc;
float: left;
}
.three {
height: 100%;
width: 20%;
background-color: #aabbcc;
float: left;
}
.four {
height: 100%;
width: 20%;
background-color: #cccccc;
float: left;
}
.five {
height: 100%;
width: 20%;
background-color: #ff11bb;
float: left;
}

* {margin: 0; padding: 0;}
.header {height: 50vh; width: 100vw; background-color: #000;}
.navi {height: 100px; width: 100%; background-color: #fccaab; margin-top: 5px;}
.logo {height: 100%; width: 500px; background-color: #ccc; align:center; margin: auto;}
.content {height: auto; width: 100%; background-color: #ccffca; margin-top: 5px;}
.footer {height: 10vh; width: 100%; background-color: #abcdef; margin-top: 5px;}
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="css/file.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>

<body>
<div class="header">
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>
<div class="five"></div>
</div>
<div class="navi">
<div class="logo"></div>
</div>
<div class="content">

</div>

<div class="footer">

</div>
</body>
</html>

最佳答案

在此示例中,单击的 div 被赋予 100% 宽度,而其同级 div 的宽度被删除。 transition提供流畅的动画。

使用 div 上的 :hover 伪类创建悬停。在此示例中,使用 transform scale property 稍微缩放 div像这样:

body > div:hover {
transform: scale(1.05);
cursor: pointer;
}

使用.selected:hover {transform:scale(1)}选择时,比例尺将被删除

工作示例

注意:我已将所有 id 更改为类,并将所有重复样式压缩为 body > div; body 的所有直接 div 子级都具有相同的宽度、高度、过渡,并且向左浮动。

$('body > div').on('click', function() {
$(this).toggleClass('selected').siblings().toggleClass('hide');
});
html,
body {
height: 100%;
margin: 0;
overflow: hidden;
}
body > div {
transition: all 0.3s;
float: left;
height: 100%;
width: 20%;
}
body > div:hover {
transform: scale(1.05);
cursor: pointer;
}
.one {
background-color: #ffccaa;
}
.two {
background-color: #ffffcc;
}
.three {
background-color: #aabbcc;
}
.four {
background-color: #cccccc;
}
.five {
background-color: #ff11bb;
}
.selected {
width: 100%;
}
.selected:hover {
transform: scale(1);
}
.hide {
width: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>
<div class="five"></div>

关于javascript - 单击时展开和收缩的垂直 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26695332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com