V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qinxs
V2EX  ›  前端开发

请教一个分散均匀布局的问题

  •  1
     
  •   qinxs · 2022-12-08 18:09:09 +08:00 · 847 次点击
    这是一个创建于 724 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:之前写的一款书签管理扩展,几乎全部功能都已完成。
    现在还存在一个跟预期不符的遗留问题,所以在此请教~

    具体问题

    一个目录下有许多书签,我想让他们先竖向、再横向均匀分布。 比如 6 个书签,按 5 行显示:

    期待的效果
    一 二 三 四 五(行)
    ① ③ ④ ⑤ ⑥

    现在的效果
    一 二 三 四 五(行)
    ① ③ ⑤
    ② ④ ⑥

    后面就空起了两行...

    问题说明

    1. 目前书签内容布局采用的是 flex 布局( flex-direction: column ), 然后通过改变 container 的高度控制列数
    2. 支持书签的删除、新增操作,所以不考虑在 3 、4 、5 、6 后填补空白单元
    3. 支持快捷键(比如:上下左右),改的时候要考虑这个

    Demo: https://plnkr.co/edit/kkIAIf6B0uylynBl?preview

    不知道有没有代价不大的实现方法?

    5 条回复    2023-02-03 01:49:01 +08:00
    edward1987
        1
    edward1987  
       2022-12-08 18:24:06 +08:00
    flex-direction: column;
    ->
    flex-direction: row;
    不就符合你的需求了吗...
    qinxs
        2
    qinxs  
    OP
       2022-12-08 19:58:35 +08:00
    @edward1987

    显示需要先竖向、再横向的
    qinxs
        3
    qinxs  
    OP
       2022-12-10 11:53:54 +08:00
    具体问题里,应该是列(我搞混了,不好意思,但好像不能修改问题)
    qinxs
        4
    qinxs  
    OP
       2022-12-18 15:41:52 +08:00
    感谢前面朋友的回答,此问题现已解决。

    解决方法:
    通过 css 选择器 an+b 给选中元素增加一个 `margin-bottom: 1px;`
    而 a,b 通过总条数和列数计算可得
    kwrush
        5
    kwrush  
       2023-02-03 01:49:01 +08:00 via iPhone
    不能用 flex-grow 吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:39 · PVG 20:39 · LAX 04:39 · JFK 07:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.