BoyWiki:Agora/5 septembre 2013

De BoyWiki
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

Agora/5 septembre 2013

Alignements dans un tableau

Dans la page Paedophile Information Exchange survey of members (texte intégral), une grande partie du document est sous forme de tableaux, avec ou sans visualisation des cellules.

J'ai cherché comment régler l'alignement d'une cellule différemment du reste du tableau, mais n'ai rien trouvé. Par exemple, dans le tableau qui suit le titre Data For Male Paedophiles In The Sample, le code général est "cellgauche" ; mais il faudrait centrer les deux titres U.K. et Total, qui sont dans des cellules de largeur double. Y a-t-il une solution ?

Accessoirement, est-il possible d'avoir dans un même tableau certaines limites de cellules visibles et d'autres non ?

Caprineus 5 septembre 2013 à 19:17 (GMT)

J'ai ajouté le style dans l'article pour l'alignement des titres.
Pour faire apparaitre des bordures tu peux ajouter par exemple :
style="border-left:1px dotted; border-bottom:2px solid"
l'attribut style="...." doit n'apparaitre qu'une fois pour un même objet (tableau, ligne, cellule), s'il existe déjà il suffit d'ajouter le nouveau style à la suite séparé du précédent par un ";". Les quatre bords peuvent être groupés en un seul style "border:"
Pinocchio 6 septembre 2013 à 14:49 (GMT)
En effet, ton exemple sur l'alignement du texte dans les cellules m'a permis de faire de nombreuses autres améliorations.
Pour les bordures, en revanche, lorsque tu dis que l'attribut style="...." doit n'apparaître qu'une fois pour un même objet : je comprends bien pour un tableau, ou pour une cellule (il y en aurait trop). Mais comment fait-on pour attribuer un style à une ligne entière ? (en l'occurrence, supprimer les bordures horizontales de cette ligne, tout en gardant les bordures verticales définies par défaut pour l'ensemble du tableau.)
Ce qui pose aussi la question : comment supprimer une bordure par défaut ? Suffit-il d'indiquer par exemple
style="border-top:0px; border-bottom:0px"
Caprineus 7 septembre 2013 à 16:11 (GMT)
Le style ajouté "en ligne" ne s'applique qu'à l'objet auquel il est attaché, on ne peut pas définir ainsi un style pour tout les enfants de l'objet. Pour cela il est nécessaire (et plus simple) de définir une classe de style globale et de l'appliquer au tableau avec l'attribut class="...". Il nous faut donc définir ce style.
Pour supprimer des bordures on indique border:none;.
Pinocchio 7 septembre 2013 à 20:52 (GMT)
Hum… je ne suis pas sûr d'avoir bien expliqué mon problème…
Soit un tableau avec des bordures (Male Heterosexual Paedophiles, le 4e à partir de la fin de l'article) :
Age at the time No. with each experience
Homosexual Heterosexual Masturbation All Experiences
U.K. Total U.K. Total U.K. Total U.K. Total
4 0 0 1 1 0 0 1 1
8 0 0 2 2 0 0 2 2
9 0 0 0 0 1 1 1 1
10 0 0 0 0 1 2 1 2
11 0 0 1 1 1 1 2 2
12 1 1 0 0 0 0 1 1
14 1 1 0 0 0 0 1 1
Est-il possible de paramétrer chacune des 7 lignes de chiffres de façon à en supprimer la bordure horizontale inférieure ?
Les cellules des 3 lignes du haut du tableau (titres) resteraient complètement encadrées ; mais la partie comportant des chiffres n'aurait plus que les séparations verticales.
Ecrire 7 fois un style (puisqu'il y a 7 lignes de chiffres), c'est faisable. Mais le faire sur 7 × 9 = 63 cellules, c'est vraiment lourd !
D'où la question : peut-on attribuer un style à une ligne entière ?
(Si c'est possible, tant mieux : ça permettra de faire une présentation identique à l'original. Sinon, ce n'est vraiment pas grave — l'intérêt principal du document étant quand même dans les valeurs indiquées.)
Caprineus 7 septembre 2013 à 21:34 (GMT)
Oui il faudrait appliquer le style sur les 63 cellules ! Ce sont les cellules qui sont encadrées, pas la ligne. Et le style "en ligne" ne s'applique que sur un seul objet. Heureusement le css permet de grouper les objets cibles. J'ai donc défini une classe nohorizontalborder qui s'applique à toutes les cellules des lignes auxquelles elle est attribuée (voir exemple ci-dessus).
Pinocchio 8 septembre 2013 à 12:45 (GMT)
C'est en effet beaucoup mieux : tous les tableaux de la page de BoyWiki ont maintenant la même présentation que dans l'original.
Sauf un toutefois : Predominant Ages of Children Who Attract The Male Paedophiles in PIE — où la seule ligne verticale (à part celles qui bordent le tableau) devrait être celle à droite de la colonne Age + No. of mentions …. Mais je suppose qu'il est beaucoup plus compliqué de supprimer des lignes verticales que des horizontales, puisqu'on ne peut pas les visualier dans le code.
Caprineus 8 septembre 2013 à 13:49 (GMT)
À partir d'une certaine quantité d'encadrés à supprimer dans un tableau avec bordures, il est plus simple d'utiliser un tableau sans bordure et d'en ajouter quelques unes ! Mais je ne sais pas si tu juges nécessaire de créer d'autres styles pour un cas isolé ?
Pinocchio 10 septembre 2013 à 13:15 (GMT)