Aquí hay una solución sobre cómo hacer un menú con multicolumnas que se ve igual que el creado con la propiedad de conteo de columnas y funciona en TODOS LOS NAVEGADORES.
Esto se hace con los elementos flotantes, pero el truco aquí es para reordenar los elementos en JavaScript (o del lado del servidor) para que flujo natural parece como arriba-abajo en lugar izquierda-derecha
Elemento1 elemento4 item7
Item2 item5 Item8
Elemento3 Item6
Ejemplo: http://jsfiddle.net/xrd5Y/16/
// number of columns
var columns = 4;
var $ul = $('ul.multicolumn'),
$elements = $ul.children('li'),
breakPoint = Math.ceil($elements.length/columns);
$ordered = $('<div></div>');
function appendToUL(i) {
if ($ul.children().eq(i).length > 0) {
$ordered.append($ul.children().eq(i).clone());
}
else $ordered.append($('<li></li>'));
}
function reorder($el) {
$el.each(function(){
$item = $(this);
if ($item.index() >= breakPoint) return false;
appendToUL($item.index());
for (var i = 1; i < columns; i++) {
appendToUL(breakPoint*i+$item.index());
}
});
$ul.html($ordered.children().css('width',100/columns+'%'));
}
reorder($elements);
prefiero no usar JavaScript para detectar Internet Explorer, utilizan los comentarios condicionales: ! '
esta respuesta es no relacionado con la pregunta ... – vsync
Si prefiere usar jquery.columnizer.js, aquí hay un buen fragmento de script de Modernizer. https://gist.github.com/jimmynotjim/3666470 – Micah