7
votes

Divisez un espace égal pour chaque élément

Y a-t-il un moyen de diviser un espace (ou de div) également pour chaque élément sans spécifier une valeur absolue pour largeur . Juste pour rendre le code CSS flexible.

Par exemple, si vous mettez ces éléments dans un div: xxx

le CSS donnera automatiquement à chaque .child élément largeur = 50%

et dans cet exemple: xxx

Le CSS donnera également automatiquement chaque .child élément largeur = 25%

est-il possible?


3 commentaires

Heh ... probablement pas la réponse que vous recherchez, mais oui. les tables.


Vous voulez tous .child dans la même ligne?


@Kaiqing tu m'as donné une idée. Je vais essayer de le prouver en premier. Merci.


3 Réponses :


-1
votes

Vous êtes sûr que vous pouvez. Appliquez simplement une valeur avec le pourcentage requis sur la propriété de largeur et assurez-vous d'appliquer un défini à leurs parents. Thas tout.

.child {
 width:25%;
}


2 commentaires

Merci pour votre essai, mais je ne veux pas spécifier une valeur exacte.


La question était de savoir s'il y a un moyen de faire en sorte que le pourcentage d'enfants soit automatiquement dérivé du nombre d'enfants.



0
votes

Vous pouvez utiliser le code JQuery ci-dessous:

var childs = $('#parent .child')
    ,width = Math.floor(100/childs.length);
childs.css('width',width+'%');


1 commentaires

Merci, mais je préférerais si j'ai trouvé un moyen dans CSS.



1
votes

Vous devez utiliser des tables, j'ai peur et ajouter une enveloppe pour l'enfant divs, vous pouvez le faire comme si: xxx

exemple: http://cssdesk.com/rzkrw


0 commentaires