【发布时间】:2018-05-10 18:24:59
【问题描述】:
我需要将 div 居中并在每次点击时隐藏它们,问题是当我使用 hide() 和 flexbox 时,它会在 dissapear 后产生粗鲁的效果,但如果你只是简单地将元素浮动到左边就可以了,如何我能做到吗?
我需要应用与 第一个示例到第二个示例(使用 flexbox)。
示例如下:
$(".example1, .example2").click(function(){
$(this).hide("slow")
});
.main{
border: 2px solid black;
height: 100%;
width: 100%;
}
.example1{
background-color: grey;
width: 50px;
height: 50px;
margin: 10px;
float: left;
}
.example2{
background-color: grey;
width: 50px;
height: 50px;
margin: 10px;
float: left;
text-align: center;
margin-left: 8px;
}
.second{
border: 2px solid black;
display: flex;
display: -webkit-flex;
flex-wrap: wrap;
-webkit-flex-wrap: wrap;
justify-content: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
With simple float left it hides slowly fine:
<div class="first">
<div class="example1">1</div>
<div class="example1">2</div>
<div class="example1">3</div>
<div class="example1">4</div>
<div class="example1">5</div>
<div class="example1">6</div>
<div class="example1">7</div>
<div class="example1">8</div>
<div class="example1">9</div>
<div class="example1">10</div>
<div class="example1">11</div>
<div class="example1">12</div>
<div class="example1">12</div>
<div class="example1">13</div>
<div>
<br><br><br><br><br><br><br><br><br><br><br><br><br>
Now flex center, when you hide it makes rude effect, it isnt like div.example1:
<div class="second">
<div class="example2">1</div>
<div class="example2">2</div>
<div class="example2">3</div>
<div class="example2">4</div>
<div class="example2">5</div>
<div class="example2">6</div>
<div class="example2">7</div>
<div class="example2">8</div>
<div class="example2">9</div>
<div class="example2">10</div>
<div class="example2">11</div>
<div class="example2">12</div>
<div class="example2">13</div>
<div class="example2">14</div>
</div>
</div>
【问题讨论】:
-
“粗鲁”效果是一旦有足够的空间,第二行的元素就会跳到第一行。这会将元素的总宽度捕捉回全宽,从而产生糟糕的视觉效果。当元素跳转到第一行时,你希望有什么效果?
-
我不认为你可以使用
flex和hide()来实现这一点 - 这是一个类似的问题,可以帮助你 stackoverflow.com/a/24976134/5561605
标签: javascript jquery html css