2015-04-30 31 views
0

我在看http://www.w3.org/TR/css3-multicol/,但它只允许你指定column-widthcolumn-count,可能两者都是(单独或通过columns),但没有定义任何方式来指定例如最小宽度和最大数量。CSS3中是否存在列最小宽度和最大列数?

例如,在category index of OpenBSD ports上,有71个类别,通常适用于9em。

如果我使用ul {-moz-column-width: 9em;},则在89em以上,存在会是至少9列(89em = 9 × 9em(列宽度)1EM的+ 8 ×(列间隔)),使得每个列包含很少的类别,并且,恕我直言,使得导航更加困难,因为即使文本“看起来”从左到右,您仍然必须自上而下导航。 (或者有没有办法让列的列表从左到右,而不是从上到下)

如果我改为使用-moz-column-count: 8;,那么该网站在较小屏幕上的可用性会降低,低于约70em或者。

有没有解决方案?

回答

1

是的,我们可以使用@media查询为不同的屏幕指定不同的规则。

http://www.w3.org/TR/css3-mediaqueries/

ul { -moz-columns: 9em; } 

@media (min-width: 89em) { 
    ul { -moz-columns: 8; } 
} 
+0

@andi,什么错字? – cnst

+0

你有-moz-columns而不是-moz-column-width。实际上,现在我再次查看,在媒体查询中,您应该真正拥有-moz-column-count。而我们在这里,-webkit厂商前缀和非前缀版本。 – andi

+0

@andi,我仍然不明白错字是什么。 '-moz-columns:9em'出于某种原因不适合你?它在这里工作得很好。 – cnst