我可以按类名控制HTML元素的顺序吗?
发布时间:2020-12-24 17:52:37 所属栏目:资源 来源:网络整理
导读:我有几个固定类名的div: div class="type-a"/divdiv class="type-b"/divdiv class="type-c"/div 可能有这些的倍数,这些div并不总是有序.它们是动态添加的. div class="type-a"/divdiv class="type-b"/divdiv class="type-c"/divdiv class="type-c"/divdiv
我有几个固定类名的div: <div class="type-a"></div> <div class="type-b"></div> <div class="type-c"></div> 可能有这些的倍数,这些div并不总是有序.它们是动态添加的. <div class="type-a"></div> <div class="type-b"></div> <div class="type-c"></div> <div class="type-c"></div> <div class="type-b"></div> <div class="type-b"></div> <div class="type-c"></div> <div class="type-a"></div> 我想将所有类型-a和类型-b div分组并在type-c div前面显示它们(可以通过浮动类型a-amp; type-b到右边,type-c到左边) .同样在type-a和type-b之间我想首先显示type-a div.然后键入-b秒. 如果不重新安排上面的HTML或使用JavaScript,我试图得到这个输出: [type-a] [type-a] [type-b] [type-b] [type-b] [type-c] [type-c] [type-c] 这只能用CSS吗? 这是fiddle,div左右浮动.现在需要发生的排序是在type-a和type-b之间. 解决方法您可以使用flexbox和order属性:.container>div { width: 20px; height: 20px; background-color: yellow; } .container { display: inline-flex; } .type-a { order: 1; } .type-b { order: 2; } .type-c { order: 3; } <div class="container"> <div class="type-a">A</div> <div class="type-b">B</div> <div class="type-c">C</div> <div class="type-c">C</div> <div class="type-b">B</div> <div class="type-b">B</div> <div class="type-c">C</div> <div class="type-a">A</div> </div> 订单也适用于Grid: .container>div { background-color: yellow; } .type-a { order: 1; } .type-b { order: 2; } .type-c { order: 3; } .container { display: grid; grid-template-columns: repeat(auto-fit,20px); } <div class="container"> <div class="type-a">A</div> <div class="type-b">B</div> <div class="type-c">C</div> <div class="type-c">C</div> <div class="type-b">B</div> <div class="type-b">B</div> <div class="type-c">C</div> <div class="type-a">A</div> </div> (编辑:徐州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |