等间距DIV+最后一行左对齐的流体宽度



我在流体布局中有固定宽度的框,文本对齐:用这个发布的解决方案来证明它们的合理性:

等间距DIV 的流体宽度

但由于我在响应布局中还有几行。

这当然会发生:

------    ------    ------    ------    
|    |    |    |    |    |    |    |    
|    |    |    |    |    |    |    | 
------    ------    ------    ------    
------    ------    ------    ------    
|    |    |    |    |    |    |    |    
|    |    |    |    |    |    |    | 
------    ------    ------    ------    
------          ------        ------    
|    |          |    |        |    |   
|    |          |    |        |    | 
------          ------        ------

但我喜欢这样:

------    ------    ------    ------    
|    |    |    |    |    |    |    |    
|    |    |    |    |    |    |    | 
------    ------    ------    ------    
------    ------    ------    ------    
|    |    |    |    |    |    |    |    
|    |    |    |    |    |    |    | 
------    ------    ------    ------    
------    ------    ------   
|    |    |    |    |    |  
|    |    |    |    |    |
------    ------    ------  

当然,它的工作是合理的,但有没有一个不使用javascript的解决方案?

我认为文本最后对齐:left可以工作,但它不起作用,它还不是官方的。

可能解决方案的想法:

我提出了一个可能的javascript解决方案,但我需要您的帮助。

以下是我对一个可能的解决方案的想法:

为了使最后一行左对齐,我们实际上需要用不可见的框来填充这些缺失的空格。我们可以很容易地手动做到这一点,但div的数量是用户生成的,并且总是不同的。

因此,杂草需要知道丢失的盒子数量,并将它们附加到我们已经拥有的盒子上,以使其发挥作用:

这是我(幼稚的)想法:

1. Count all divs
2. Divide them with 4 (cause we have 4 in a row)
3. If the SolutionA has no decimal, nothing will happen cause all is good
4. If the SolutionA has a decimal, remove it
5. SolutionA + 1 = SolutionB
6. SolutionB x 4 (cause we have 4 each in a row) = SolutionC
7. SolutionC - SolutionA = Number of divs we need to add.

我不知道是否有办法找出一行中已经有多少项,并将其传递给javascript。这将是一个很好的原因,那么公式化器将适用于响应式布局,而无需在每次行号随浏览器宽度变化时调整行号。

这是个好主意吗?

我希望有人愿意这样做。

这里有一把小提琴:http://jsfiddle.net/L2mPf/

谢谢。

看看我的答案

好吧,这是css的简单解决方案:

只需添加一行中的div数量(在本例中为4),并给它们一个1px的高度。

没有javascript,什么都看不到,一切都像魅力一样。

这是新小提琴:http://jsfiddle.net/L2mPf/1/

感谢@GGG让我重新关注css和这个解决方案。

您需要指定框的高度。在您现在的情况下,方框的内容可能会因此而变化——方框没有对齐。

在css中为方框设置最小高度。

.box-class {
    min-height: 100px;
    height: auto !important;
    height: 100px;
}

例如,100px包括IE6 的最小高度固定

如果对齐问题仍然存在,您可能还想向左浮动(并显示块)您的框,然后清除父容器以保持其打开状态。(链接中的clearfix css示例)

最新更新