|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() ![]() Inscription : janvier 2007 Messages : 342 ![]() |
Bonjour,
Je suis entrain de refondre un site web qui date de 2004, tout en <table>. De nombreux extraits que j'ai vu sur Internet m'ont montré des <div> utilisant des CSS pour une présentation équivalente, avec cependant toujours ces contraintes: - Jamais plus de trois colonnes. Car plus rendrait la feuille de style complexe, si seulement c'est applicable. - Incapacité d'aligner verticalement ou horizontalement les colonnes. Et là, je suis craintif. Si mes données ne sont plus alignées les unes en regard des autres, je peux jeter mon application parce que je vais passer pour un clown. J'ai forcément du mal comprendre ce que j'ai lu. À moins que ce soit: incapacité d'aligner des éléments au sein de la cellule créée? Humm... En fait, j'ai été averti d'un très grand nombre de ratages graphiques potentiels. En particulier, ceux là: Avec un "tableau en div" de deux lignes à trois cellules ([col1, col2, col3] et en dessous [col4, col5, col6]): 1) Si col3 est plus haute que les autres: col1 et col2 laissent un blanc avec col4 et col5. 2) [col1 et col4], [col2 et col5], [col3 et col6] n'ont pas la même largeur. Je l'ai lu sur des articles datant de 2006 à 2009. Je ne sais plus à quoi me vouer. En tout cas, j'ai surtout vu des exemples une à trois colonnes sauce "Hello World". J'ai des tableaux à convertir, de trois à huit colonnes, sélectionnées dynamiquement à l'exécution, et qui doivent s'aligner comme le fait une table HTML. 3) CSS y parvient-il parfaitement? C'est à dire: il sait reproduire entièrement ce que les <table> si décriées peuvent faire? Ma dernière inquiétude avec CSS, c'est de transformer une usine à gaz HTML en usine à gaz CSS dès que l'on passe par des mots-clés trop périlleux ou bien lorsqu'il faut remplacer trois instructions HTML par quatorze directives CSS. Car j'ai vu les mots-clés: position, left, padding, margin, width à utiliser de concert dans chacun des différents styles à déclarer selon le type de la colonne (extrême gauche, extrême droite, cellule située hors extrémité). Si remplacer un trio Table/tr/td se fait par le biais de 5 directives CSS par type de cellule, on écrit alors quinze directives en CSS pour en remplacer trois en HTML. A t-on vraiment gagné? J'ai appris qu'il existait un mot-clé column. Je me demande s'il peut être employé pour éviter la dérive que je viens de mentionner. 4) CSS parvient-il à simuler une table et ses lignes simplement? Ou bien le taux de conversion est-il toujours de cinq (ou plus) directives CSS à écrire par instruction HTML remplacée? 5) Ça ma l'air.... Pas solide du tout! Vraiment pas! Sujet à tous les aléas. Le moindre débutant qui approche, n'aura t-il pas un mal de tête plus grand qu'avec HTML? Cela ne va t-il pas faire des gaufres graphiques dès que l'on touchera à un petit truc dans la feuille de style? 6) Avez vous un exemple de code HTML montrant un tableau de cinq colonnes ou plus, employant CSS et non <table> et qui fonctionne? Je pose la question... tout simplement parce que je n'en ai jamais vu! Cela existe t-il ou pas? Et si oui, où? Non, je ne suis pas convaincu. Oui, je suis inquiet. J'ai peur de m'embarquer dans l'usine à gaz ultime. Celle qui "fera bien", mais me mettra par terre après quelques mois d'emploi quand un utilisateur, dans une configuration particulière, me dira: "Dites, chez moi, ça provoque tel truc à l'écran." Avez-vous des arguments convaincants, prompts à me rassurer? En vous remerciant, Grunt. |
|
|
00
|
|
|
#2 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
Bonjour,
réaliser un tableau à l'aide de DIV requière de la rigueur, tout ce que fait le moteur de rendu des navigateurs pour une table est à prendre en compte pour justement que celui ci, le rendu, soit le plus prés de ce que l'on souhaite. Cette rigueur n'est d'ailleurs pas de mise dans bien des sites utilisant les tableaux et le passage à un DOCTYPE strict renvoie une catastrophe. Bien définir son besoin, optimiser son CSS au mieux en regroupant les points communs et en créant une autre class pour ce qui change, son autant de nécessités pour que cela ce passe bien. OUI le travail est plus important qu'avec des TABLES, mais je n'appellerais pas cela une usine à gaz, mais juste la maitrise de ce que l'on fait. Une table bien définie pour un bon rendu requière également du CSS, trop souvent incomplet, donc je dirais que cela n'est pas plus éprouvant enfin à peine. Moult sites présentes la chose, mais je pense que tu doit tous les connaître. Si c'est pour des données à afficher restes au niveau des tables qui ont été conçue pour cela au départ. Citation:
Code :
Toujours bien penser à valider ces pages et également un gage de réussite. |
|||
|
|
00
|
|
|
#3 |
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 053 ![]() |
À la base, CSS à la place de <table>, ça a deux avantages :
- ne pas dire faussement que l'on présente des données tabulaires quand on ne le fait pas. Bref, rigueur sémantique. => Cet avantage-là, tout le monde s'en cogne en général. => Si ce sont bel et bien des données tabulaires, évidemment qu'il faut utiliser un tableau ! - remplacer une usine à gaz par un code clair, bien espacé, compréhensible, dont on connaît l'emplacement et le rôle de toute chose, et qui peut être restylé sans toucher au code des données. => Forcément, si tu estimes que c'est l'approche CSS qui transforme ce que tu as en usine à gaz, tu vas avoir du mal à la mettre en œuvre. Mon avis : - Pour des données tabulaires, pourquoi diable utiliser autre chose qu'un <table> ? - La plupart du temps, l'approche CSS permet de retrouver un code clair et assez facile à maintenir... Mais ce n'est important que quand on a vraiment besoin de lire le code HTML. Si c'est du code généré, ça se discute. - On ne peut pas faire en CSS tout ce qu'on peut faire avec des <table>... Ni l'inverse d'ailleurs. C'est donc un effort louable d'essayer autant que possible d'utiliser la sémantique adaptée, mais ce n'est pas toujours possible, du moins pas sans un CSS3 tiles entièrement géré par les navigateurs. Parfois, accepter un peu de lourdeur d'écriture pour juste avoir le rendu qu'on veut, il n'y a pas de honte à ça. |
|
|
00
|
|
|
#4 |
![]() ![]() Grégory RocheGED (Gestion Electronique de Documentation) Inscription : octobre 2009 Messages : 1 067 ![]() |
Bonjour grunt2000,
voiçi un exemple de tableau créé à partir d'éléments div : http://www.les-croiseurs-daquitaine....her/about.html. La raison de l'utilisation des CSS : le design du corps de la page est fluide, elle s'adapte à différentes dimensions d'écran. Dans quelques temps, je n'aurais pas difficulté à l'adapter aux petits format, style écran de téléphone portable et autres smartphones. Après, il est nécessaire de bien maitriser les CSS.
__________________
polymorphisme.com Article : Installation de Cocoon Je ne réponds pas aux MP à caractère technique. |
|
00
|
|
|
#5 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Christian AlconDéveloppeur Web Inscription : septembre 2009 Messages : 10 ![]() |
Bonjour,
Comme grunt2000, je veux refondre un "vieux" site et le passer tout en css et même prendre de l'avance et faire du css3. J'ai des pages avec des frames et j'ai vu sur d'autres forums que ce ne sera pas si facile à faire. Mais pour en revenir au sujet de grunt2000, je me trouve confronté à un petit soucis : Prenons, pour faire simple, le cas d'un tableau à 2 colonnes et plusieurs lignes. Les colonnes impaires sont à gauche et les paires à droite. J'alterne, les tailles : ligne 1, col1 = 300, col2 = le reste ligne 2, col3 = 600, col4 = le reste Si je piste avec web developer sous FF, les div sont bien affichées dans le bon ordre. La où ca ne marche pas, c'est quand col2 ou col4 est moins haut que col1. Le contenu de col3 est affiché en plein milieu de col1 (càd à la fin du height de col2). J'ai essayé un tas de truc, par exemple, englober col1 et 2 dans une pseudo ligne, mais là on attaque le bricolage et on perd la souplesse du remplacement de <table> par css. Voici l'extrait correspondant de mon code css : Code :
http://www.barelyfitz.com/screencast...s/positioning/ Quelqu'un saurait-il comment faire cela proprement et facilement (ne surtout pas rajouter du js pour calculer la hauteur de la div, sinon se serait se marcher sur la tête. merci; |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com