[2行CSS布局,元素数量任意

问题描述 投票:-1回答:1

我具有以下HTML结构:

<ul>
    <li><a>a1</a><p>p1</p></li>
    <li><a>a2</a><p>p2</p></li>
    <li><a>a3</a><p>p3</p></li>
    <!-- ... -->
    <li><a>ax</a><p>px</p></li>
</ul>

很遗憾,我无法修改顺序,也无法修改结构。

我的目标是拥有:

  • 所有<a>都放在第一行
  • 行中的[[0]中的一个或全部<p>]。]
  • [a1 a2 a3 ... ax] [ p1 ] // or any p
这甚至可以实现吗?

    我尝试过网格,但最上面一行在弯曲任意列时效果不佳
  • 我尝试过flexbox,但不能与我的第2行目标配合使用
  • 我具有以下HTML结构:

      [a1
    • p1

      a2

    • p2
    • &...] >>>] >

  • 我不确定我是否正确回答了您的问题,但是此CSS应该接近您的要求。不确定您到底希望如何响应或显示input字段多么准确,但是也许这是您的起点。

    [仅显示一个输入,我将input的不透明度设置为0,仅将最后一个设置为1。然后,我将最后一个的宽度扩展到300%,并给它负的边距,还必须针对响应行为进行调整。

    因此,这不是最佳解决方案,但是它可能会将您定向到您想去的地方。

    如果您可以澄清问题,只需评论我的回答者或编辑您的问题,我可以尝试更改我的答案。

    /* Some resets for styling purpose */ ul, li, input { margin: 0; padding: 0; box-sizing:border-box; } /* Reset end */ ul { display: flex; flex-direction: row; flex-wrap: wrap; } li { display: flex; flex-direction: column; } img { content: ' '; color: black; display: block; background: red; width: auto; height: 20px; } input { opacity: 0; height: 0; } li:last-child input { opacity: 1; height: auto; width: 300%; margin-left: -200%; }
    <ul>
        <li><img><input></li>
        <li><img><input></li>
        <!--arbitrary number-->
        <li><img><input></li>
    </ul>
  • html css flexbox css-grid
    1个回答
    2
    投票
    我不确定我是否正确回答了您的问题,但是此CSS应该接近您的要求。不确定您到底希望如何响应或显示input字段多么准确,但是也许这是您的起点。

    [仅显示一个输入,我将input的不透明度设置为0,仅将最后一个设置为1。然后,我将最后一个的宽度扩展到300%,并给它负的边距,还必须针对响应行为进行调整。

    因此,这不是最佳解决方案,但是它可能会将您定向到您想去的地方。

    © www.soinside.com 2019 - 2024. All rights reserved.