【发布时间】:2019-08-23 13:50:18
【问题描述】:
我正在构建一个网站,该网站显示许多 div 在彼此相邻和下方浮动。单击 div 时,该 div 会展开并显示其内容。
我想要做的是让所有其他 div 围绕展开的 div 浮动,但现在它们只会浮动在右侧(因为一行中的一个对象被展开并将其余对象向右和向下推)。
有没有办法通过 css 或 javascript 解决这个问题?
我实现了 float:left 和 display:inline-block,但是这些函数显然无法理解移动到扩展 div 的左侧。不同的位置也不起作用,我能做些什么来解决/完成这个?
$('.toggle-cells-one').click(function() {
var toggleHeight = $(this).height() == 80 ? "181px" : "80px";
$(this).animate({
height: toggleHeight
});
});
$('.toggle-cells-two').click(function() {
var toggleHeight = $(this).height() == 80 ? "282px" : "80px";
$(this).animate({
height: toggleHeight
});
});
$(".alg").on("click", function() {
$(".alg-sub").toggle();
});
$(".cam").on("click", function() {
$(".cam-sub").toggle();
});
$(".con").on("click", function() {
$(".con-sub").toggle();
});
$(".dji").on("click", function() {
$(".dji-sub").toggle();
});
$(".eth").on("click", function() {
$(".eth-sub").toggle();
});
.country-wrap {
position: relative;
display: inline-block;
float: left;
width: 90px;
height: 80px;
margin: -1px -1px 0 0;
padding: 10px;
cursor: pointer;
border: 1px solid black;
text-align: center;
vertical-align: top;
font-size: 18px;
}
/*.country-wrap:hover {
width: 201px;
}*/
.country-content {
display: none;
margin-top: 15px;
}
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<div class="countries">
<div class="country-wrap toggle-cells-one alg">
<img src="image0100.svg"><br> ALG
<div class="country-content alg-sub">
<img src="image0101.svg"><br> KAB
</div>
</div>
<div class="country-wrap toggle-cells-one cam">
<img src="image0200.svg"><br> ALG
<div class="country-content cam-sub">
<img src="image0201.svg"><br> KAB
</div>
</div>
<div class="country-wrap toggle-cells-one con">
<img src="image0300.svg"><br> ALG
<div class="country-content con-sub">
<img src="image0301.svg"><br> KAB
</div>
</div>
<div class="country-wrap toggle-cells-one dji">
<img src="image0400.svg"><br> ALG
<div class="country-content dji-sub">
<img src="image0401.svg"><br> KAB
</div>
</div>
<div class="country-wrap toggle-cells-one eth">
<img src="image0500.svg"><br> ALG
<div class="country-content eth-sub">
<img src="image0501.svg"><br> KAB
</div>
</div>
</div>
【问题讨论】:
-
你试过用弹性盒子吗?它具有比浮动技术更好的控制器。
-
这可能是一个解决方案,我现在将深入研究它,看看是否可以。谢谢!
-
你会想要考虑使用“display: flex;”和“弹性包装:包装;”在父母身上
-
检查masonry。
-
@AndrewB 不幸的是,这会将扩展 div 下方的完整行向下移动
标签: javascript jquery html css