【问题标题】:unable to add <br /> in div无法在 div 中添加 <br />
【发布时间】:2012-09-04 16:19:41
【问题描述】:

我正在尝试使用 jQuery 在运行时添加多个 div。我想添加 3 个属于同一类的 div,然后添加换行符,这样当用户再次单击“添加框”按钮时,我可以在下一行再显示 3 个 div。

这是相同的 jsFiddle:http://jsfiddle.net/WjFCf/3/

正如您在 jsFiddle 中看到的那样,它几乎可以执行所有操作,但不会在第 3 个 div 之后添加换行符。因此,当用户再次单击该按钮时,它只会在同一行中添加更多 div。

有人可以帮我解决这个问题吗?

【问题讨论】:

  • Inspect Element 清楚地显示了换行符......这是一个 CSS 问题。
  • 不管窗口有多窄,您是否希望它们保持三行?
  • @Alnitak:是的。这就是目的。
  • @Asdfg 仅依靠cleardisplay 的解决方案将无法实现这一点 - 如果屏幕变窄,它们会自动换行。唯一的解决办法是将它们放在一个固定宽度的容器中。

标签: jquery html line-breaks


【解决方案1】:

我想你想clear它。

http://jsfiddle.net/WjFCf/4/

注意 CSS 的变化。

【讨论】:

    【解决方案2】:

    正在添加您的换行符,问题是框上的float: left。如果您将其更改为 display: inline-block,您将获得您正在寻找的结果。

    【讨论】:

      【解决方案3】:

      您将让下一行框具有clear:both 属性,以便它们位于上方的浮动框下方。

      http://jsfiddle.net/WjFCf/5/

      【讨论】:

        【解决方案4】:

        如果您将箱子放入(足够)固定宽度的容器中,它将确保它们正确地分成三组。

        就目前而言,如果窗口变得太小,“多余”的 div 将掉到下一行。

        http://jsfiddle.net/alnitak/ZbPxG/

        【讨论】:

          【解决方案5】:

          当我将此代码添加到您的代码时,它运行良好:

          #boxes{
             width: 600px;
          }
          

          【讨论】:

          • 是的,这很有效,因为它确保水平方向的空间永远不会超过三个,因此第 4 个将总是向下流到下面的行。
          【解决方案6】:

          &lt;br&gt; 不会自行有效地将 div 向下推。

          使用clear 属性会更有效。这告诉浏览器停止关注之前的向左(或向右)浮动,并开始一个新的浮动区域。

          jsfiddle

          【讨论】:

            猜你喜欢
            • 2021-10-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多