繁体   English   中英

与display:inline-block` CSS属性有关的问题[重复]

[英]Issue with `display:inline-block` CSS property [duplicate]

这个问题已经在这里有了答案:

我最近对另一个用户做出了一个答案,该答案关于JQuery :: slideUp()顺序多个项目的通用方法。 如果需要参考,可以在这里查看:

按顺序向上滑动元素

提出解决方案后, OP向我询问了有关下一个代码的初始跳跃效果

 $('button').on('click', function() { close_all($(".block")); }); function close_all(elements, idx=0) { if (idx >= elements.length) return; let cb = () => close_all(elements, idx + 1); elements.eq(idx).slideUp(2000, cb); } 
 .block { display: inline-block; width:14%; background:gold; margin:0 9px; } #block1{ height:54px; } #block2{ height:25px; } #block3{ height:72px; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class='block' id='block1'>BLOCK 1</div> <div class='block' id='block2'>BLOCK 2</div> <div class='block' id='block3'>BLOCK 3</div> <button>CLICK</button> 

在深入研究之后,我发现这与他对.block元素拥有的display:inline-block属性有关。 对于到目前为止我已经读过的内容(我没有在CSS实验),此属性可以替代float:left 因此,我决定将样式更改为使用float:left而不是display:inline-block ,问题消失了。 您可以在下一个代码中检查它:

 $('button').on('click', function() { close_all($(".block")); }); function close_all(elements, idx=0) { if (idx >= elements.length) return; let cb = () => close_all(elements, idx + 1); elements.eq(idx).slideUp(2000, cb); } 
 .block { float: left; width:14%; background:gold; margin:0 9px; } #block1{ height:54px; } #block2{ height:25px; } #block3{ height:72px; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class='block' id='block1'>BLOCK 1</div> <div class='block' id='block2'>BLOCK 2</div> <div class='block' id='block3'>BLOCK 3</div> <button>CLICK</button> 

有人知道我们使用display:inline-block时为什么会出现此问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM