Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1245 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  XHTML 1.1 Strict: aligner autre chose que du texte

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

XHTML 1.1 Strict: aligner autre chose que du texte

n°281495
souljacker
Posté le 07-01-2003 à 20:41:15  profilanswer
 

Bonjour,
 
  Voila, j'ai un tableau qui contient plusieurs types d'éléments, tel que des images, du textes, des formulaires, ... Malheureusement, j'ai constaté qu'en XHTML l'attribut align="" n'existait plus. Alors pour le texte pas de problèmes, il y a text-align en CSS, mais pour les autres types de données, comment faut-il faire?
 

mood
Publicité
Posté le 07-01-2003 à 20:41:15  profilanswer
 

n°281519
gm_superst​ar
Appelez-moi Super
Posté le 07-01-2003 à 21:02:46  profilanswer
 

Avec les CSS :  
 

text-align: center;


 
ça devrait centrer tout ce qui est texte/images/champs d'un formulaire (autres valeurs : left ou right)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281528
souljacker
Posté le 07-01-2003 à 21:08:35  profilanswer
 

merci  :jap:  
 
et pour ce qui est de l'attribut align sur la balise <img>?

n°281533
gm_superst​ar
Appelez-moi Super
Posté le 07-01-2003 à 21:10:20  profilanswer
 

Toujours avec les CSS :
 

float: right;


ou left :D


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281542
souljacker
Posté le 07-01-2003 à 21:18:44  profilanswer
 

et une petite dernière pour la route (promis après je te fous la paix pendant au moins 15 minutes  ;) ).
 
Quand je met un CSS display: block sur une image, le text-align: center n'a pas d'influence sur l'élément. Tu as une solution a proposé (et peut-être une explication du phénomène?)
Le problème ne se pose pas dans IE qui l'interprète correctement, mais mozilla/Netscape ne le font pas.
Hard de passer du HTML au XHTML strict  :pt1cable: , mais ça fait du bien  ;)
 
En tout cas, tu es un chefv  :hello:


Message édité par souljacker le 07-01-2003 à 21:19:51
n°281549
gm_superst​ar
Appelez-moi Super
Posté le 07-01-2003 à 21:36:27  profilanswer
 

SoulJacker a écrit :

Quand je met un CSS display: block sur une image, le text-align: center n'a pas d'influence sur l'élément. Tu as une solution a proposé (et peut-être une explication du phénomène?)
Le problème ne se pose pas dans IE qui l'interprète correctement, mais mozilla/Netscape ne le font pas.


Non, c'est IE qui se plante. Si ton image est un bloc elle n'est plus concernée par text-align, qui comme son nom l'indique aligne  du texte et pas des blocs (et les images par défaut sont considérés comme du texte, display: inline)
 
Donc il faut utiliser autre chose. Par exemple le positionnement absolu, mais après ça dépend comment est conçue ta mise en page...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281555
souljacker
Posté le 07-01-2003 à 21:41:27  profilanswer
 

Merci, j'ai essayer avec float et ça marche. Je m'en doutais un peu que c'était IE qui était dans le faux.
 
Tu es vraiment un as, avec toi dans le coin, on comprend mieux les dessous du xhtml.
 
Encore merci  :jap:  :love:  
 
Bon il me reste plus qu'à le faire fonctionner sous IE 5, NS 6 et NS 7.

n°281605
souljacker
Posté le 07-01-2003 à 22:42:02  profilanswer
 

Bon voila, presque 1 heure sans t'emmerdé.
 
J'ai un petit soucis avec IE5.
 
Dans une cellule d'un tableau en plein milieu de la page, j'affiche une image que j'aligne avec float: right. Sur cette image, j'y applique aussi display: block. Mais voila, avec les autres navigateurs (IE6, NS6, NS7, Mozilla), ça fonctionne. Mais pas dans IE5, j'ai un espace entre le bord gauche de la cellule et l'image. J'ai essayer en appliquand margin-right: 0px, padding-right: 0px, right: 0px ainsi qu'avec différente système de positions, mais rien à faire cet espace reste  :( . Aurais-tu une idée?  :??:  
 
Voici la partie du code incriminé (entre autre car ce le fait à d'autres endroits).
 

Code :
  1. <table style="width: 640px; height: 15px" cellpadding="0" cellspacing="0">
  2. <tr>
  3. <td valign="top" style="width: 320px; height: 15px">
  4.  <img src="<?php echo $image_path; ?>/bord-haut-gauche.gif" width="15" height="15" class="design" alt=""/>
  5. </td>
  6. <td valign="top" style="width: 320px; height: 15px">
  7.  <img src="<?php echo $image_path; ?>/bord-haut-droit.gif" width="15" height="15" class="design" style="float: right"/>
  8. </td>
  9. </tr>
  10. </table>

n°281627
gizmo
Posté le 08-01-2003 à 00:01:42  profilanswer
 

euh... je comprend pas bien pourquoi tu fais une table si ce n'est que pour mettre deux images. Pourquoi tu ne les mets pas simplement côte à côte?

n°281633
A Levra Se​nza Coda
Aghju maghjatu u bichoco ?
Posté le 08-01-2003 à 00:07:46  profilanswer
 

Je confirme, dans 99% des situations on peut se passer de tableaux... :D


---------------
1732 : Giacinto Paoli rédige un projet de constitution, dont le préambule decrète pour la première fois dans l'histoire de l'Humanité "Les Hommes naissent libres et égaux en droit"...
mood
Publicité
Posté le 08-01-2003 à 00:07:46  profilanswer
 

n°281637
A Levra Se​nza Coda
Aghju maghjatu u bichoco ?
Posté le 08-01-2003 à 00:26:05  profilanswer
 

Au fait concernant IE5 qui a du mal à floater à fond une image à gauche ou à droite : c'est un bug connu et reconnu... perso je contourne cela en employant pas la balise <img> mais un <div> dont on définit les propriétés CSS ainsi (c un exemple, à toi d'indiquer de bonnes valeurs) :
 
div#img{
border-style:none;
float:left;
width:55px;
height:32px;
background-image:url(img/truc.gif);
}
 
Et curieusement, ça marche...
 


---------------
1732 : Giacinto Paoli rédige un projet de constitution, dont le préambule decrète pour la première fois dans l'histoire de l'Humanité "Les Hommes naissent libres et égaux en droit"...
n°281640
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 00:38:57  profilanswer
 

En fait IE se débrouille bien avec les flottants mais à la condition d'indiquer dans le CSS la largeur du bloc. Dans le cas d'une image, il faut donc répéter la largeur de celle-ci dans le style.


Message édité par gm_superstar le 08-01-2003 à 00:39:13

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281719
souljacker
Posté le 08-01-2003 à 08:30:44  profilanswer
 

Pourquoi j'utilise un tableau? Parce que là, c'est un ancien design que je récupère qui fonctionnait avec ce tableau et que je n'ai pas voulu me casser le cul  :sweat:  
 
Puis aussi, une veille habitude du html  :pfff:

n°281814
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 11:14:42  profilanswer
 

Avec les attributs qu'il a ton tableau il passera pas la validation en XHTML 1.1


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281819
souljacker
Posté le 08-01-2003 à 11:20:18  profilanswer
 

Ah pas de pot  :non: , il y est passé à la validation xhtml 1.1: http://guillaume.lesur.free.fr/generation-nt/. Mais je sais que l'utilisation des tableaux que je fait est abusive, mais le design vient d'un truc fait avec DreamWeaver et comme l'optimisation du code urge un peu, je fait au plus vite.
 
Sur le prochain design, je compte eviter le plus possible l'utilisation des tableaux pour le design et seulement les utiliser pour afficher des tables, comme ça devrait l'être.
 
Mais bon comme je l'ai déjà dit, ça fait 3-4 ans que je travaille en HTML et j'ai pris les mauvaises habitudes de la liberté laisser. Donc la transistion au niveau de réflexion HTML->XHTML n'est pas évidente et ne se fait pas en un jour  :(  :non:  :sweat: . Il faut se remettre en question complètement.


Message édité par souljacker le 08-01-2003 à 11:22:31
n°281828
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 11:27:51  profilanswer
 

Heu... oui c'est moi qui ai bu, j'ai cru voir des attributs dépréciés dans ton code :whistle:
 
Bon sinon c'est dans cette page que tu as un problème d'espace avec IE 5 ? Tu peux faire un screenshot parce que je n'ai pas d'IE 5 sous la main là....
 
Sinon quelque conseils :
 
- évite de mettre les styles dans un attribut style="..." utilise des classes dans un fichier CSS séparé plutôt
 
- un élément qui a la propriété float: right|left obtient automatiquement la propriété display: block; donc pas la peine de la rajouter.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281836
souljacker
Posté le 08-01-2003 à 11:32:58  profilanswer
 

Oui mais pour les width et height, je fais comment, car j'en pratiquement pas deux les mêmes, je ne dois quand même pas faire une classe pour toutes les possibilités rencontrés?
 
Au fait, est-il possible d'appliquer plusieurs classe à un même élément? Parce que sinon, le css va faire 3 km de long  :ouch: .
 
Au fait, tu penses que mettre un float: left est nécessaire si l'image se trouve déjà au bon endroit?
 
Et une petite dernière, est-il possible de faire une page aux normes compatibles avec Opera?
 
le screenshot, je te l'envois pas mail?


Message édité par souljacker le 08-01-2003 à 11:38:53
n°281851
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 11:42:52  profilanswer
 

SoulJacker a écrit :

Oui mais pour les width et height, je fais comment, car j'en pratiquement pas deux les mêmes, je ne dois quand même pas faire une classe pour toutes les possibilités rencontrés?
 
Au fait, est-il possible d'appliquer plusieurs classe à un même élément? Parce que sinon, le css va faire 3 km de long  :ouch: .


Oui :
 
class="classe1 classe2 classe3"
 
Donc effectivement dans une première classe tu peux mettre tout ce qui est aspect (couleurs, fond, bordures) et dans l'autre tout ce qui est dimensions.
 
Sinon, pour alléger ton code :
valign -> vertical-align (style s'appliquant aux TD)
cellspacing -> border-spacing
cellpadding -> padding (au niveau des TD)
 

SoulJacker a écrit :

Au fait, tu penses que mettre un float: left est nécessaire si l'image se trouve déjà au bon endroit?


Je dirais non, mais attention la différence sera qu'avec une propriété float le texte ira se mettre autour de l'image, alors que sans l'image sera alignée sur la ligne de base du texte (comme les smileys ici)

SoulJacker a écrit :

Et une petite dernière, est-il possible de faire une page aux normes compatibles avec Opera?


Heu oui, en faisant des pages aux normes :D Bon il y a quelques trucs à vérifier mais si tu n'en dit pas plus...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281852
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 11:43:45  profilanswer
 

le screenshot, tu peux pas le mettre sur ton site ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281863
souljacker
Posté le 08-01-2003 à 11:50:27  profilanswer
 

chut c pas mon site ;) , je squatte de l'espace web.
 
voila, le screenshot est dispo sur http://guillaume.lesur.free.fr/generation-nt/ie5.jpg. Dessus il y a le test avec le tableau et sans le tableau pour les deux petites images.
 
Le problème est exactement le même en bas de page.

n°281884
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 12:23:33  profilanswer
 

Pour ton problème d'espace, vire les différents attributs styles que tu a placé sur tes éléments <td> et <img> et pour la cellule de droite contente toi de lui appliquer le style text-align: right;
 
Donc au final, on a :
 

<td>
  <img src="<?php echo $image_path; ?>/bord-haut-gauche.gif" width="15" height="15" class="design" alt="" />
</td>
<td class="droite">
  <img src="<?php echo $image_path; ?>/bord-haut-droit.gif" width="15" height="15" class="design" />
</td>


 
Avec :
 

.droite {
  text-align: right;
}


 
Indiquer les dimensions pour les cellules est ici inutile vu que tu les as déjà indiqué pour le tableau (bien que je pense que la hauteur soit superflue) et les images.


Message édité par gm_superstar le 08-01-2003 à 12:23:59

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281889
souljacker
Posté le 08-01-2003 à 12:37:05  profilanswer
 

Maintenant ca fonctionne sous IE, mais plus sous Mozilla car dans la classe design, je transforme l'image en block et non pas en texte. Donc à part faire un CSS pour chaque browser, tu vois une autre solution?

n°281909
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 13:03:16  profilanswer
 

Mais tu n'as aucune raison de mettre cette image en bloc...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281913
souljacker
Posté le 08-01-2003 à 13:15:04  profilanswer
 

Celle là non, mais le problème va se poser pour une image qui se trouve plus bas et qui doit être collé au bord haut d'une cellule. Donc, pour celle là, le problème est résolu, mais pas pour celle d'en bas. Et donc par soucis d'uniformité, je préfere toutes les mettres en block.

n°281924
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 13:37:08  profilanswer
 

Je répète tu n'as aucune raison de mettre tes images en block. Si tu veux les aligner à droite tu as 2 solutions :
 
- Avec float: right; ce qui, implicitement, met l'image en block
- Avec text-align: right; (qui ne marche pas avec les blocks)
 
Le fait que ton image d'en-bas doit être collé au bord haut d'une cellule n'a rien à voir avec le fait qu'elle soit un block ou non. De quelle image parles-tu ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°281933
souljacker
Posté le 08-01-2003 à 13:51:34  profilanswer
 

Si tu vas sur le lien que je t'ai donnée et que tu scrolls jusqu'en bas, tu trouveras le texte "Ce site est la propriété exclusive de www.generation-nt.com © 2001-2002. Pour tout contact: Webmaster" et juste au dessus de la cellule qui contient le texte, il y a 2 images qui marquent les arrondis et il y a aussi les deux dernier grand arrondis qui complète le design. Si elle ne sont pas en block, je me retrouve avec un espace en dessous de l'image, donc pour l'alignement c ok mais alors le design est quand même peter à cause de ça  :cry:  
 
résultat dans Mozilla: http://guillaume.lesur.free.fr/gen [...] -casse.jpg

n°281937
A Levra Se​nza Coda
Aghju maghjatu u bichoco ?
Posté le 08-01-2003 à 14:01:04  profilanswer
 

Et pourquoi tu veux pas les foutre en "display:block"  :??: J'ai du mal à te suivre...


---------------
1732 : Giacinto Paoli rédige un projet de constitution, dont le préambule decrète pour la première fois dans l'histoire de l'Humanité "Les Hommes naissent libres et égaux en droit"...
n°282056
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 16:42:56  profilanswer
 

Bon essaye ça :
 
Tu vires tout ton bazar de tableau et tu mets tes 2 images dans un DIV :
 


<div class="coins"><img src="images/design/bord-haut-gauche.gif" width="15" height="15" alt="" /><img class="coinDroite" src="images/design/bord-haut-droit.gif" width="15" height="15" alt="" /></div>


 
(tous les éléments doivent être collés)
 
Avec les styles suivants :
 

.coins {
  height: 15px;
}
 
.coinDroite {
  position: relative;
  left: 610px;
}


 
ET LES IMAGES NE DOIVENT PAS ETRE DES BLOCS !
 
Le "position relative; left 610px;" a pour but de pousser le coin de droite... à droite de 610 pixels, vu que ta cellule conteneur fait 640 pixels.
 
Ca devrait marcher aussi pour les petits coins du bas.


Message édité par gm_superstar le 08-01-2003 à 16:43:39

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°282064
souljacker
Posté le 08-01-2003 à 16:48:15  profilanswer
 

A ton avis, si je supprime tous les tableaux et que je les remplaces par des <div>, ca a plus de chance de fonctinner?


Message édité par souljacker le 08-01-2003 à 16:48:36
n°282065
Je@nb
Kindly give dime
Posté le 08-01-2003 à 16:49:24  profilanswer
 

Salut pluton  :D   ;)  
On bosse bien ?  :D  :D

n°282067
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 16:51:42  profilanswer
 

SoulJacker a écrit :

A ton avis, si je supprime tous les tableaux et que je les remplaces par des <div>, ca a plus de chance de fonctinner?


C'est comme tu veux mais il vaut mieux repartir de zéro là... donc plus de travail... Mais la solution que j'ai donnée fonctionne...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°282070
souljacker
Posté le 08-01-2003 à 16:53:32  profilanswer
 

Tu ne m'aides pas beaucoup je constate surtout  ;)  :D  :D  :D

n°282076
souljacker
Posté le 08-01-2003 à 16:58:33  profilanswer
 

gm_superstar, tu vas rire.
 
J'ai essayé et ça fonctionne.. mais à moitié. Pour IE6, NS6, NS7 et mozilla, j'ai du mettre 606px au lieu de 610px. Et pour IE5, je dois mettre 607px.
 
Au fait, tu dis que les images ne doivent pas être des blocks, je veux bien te croire. Mais si elle ne sont pas des blocks, mon design se casse la gueule. Comment dois-je faire alors?
 
EDIT: ca va j'ai compris, il faut qu'elles soient dans un div et pas dans un tableau.


Message édité par souljacker le 08-01-2003 à 17:00:49
n°282079
A Levra Se​nza Coda
Aghju maghjatu u bichoco ?
Posté le 08-01-2003 à 17:02:00  profilanswer
 

Ben un <div> qui floate à droite, et un autre qui floate à gauche, et c réglé non ?  :heink:


---------------
1732 : Giacinto Paoli rédige un projet de constitution, dont le préambule decrète pour la première fois dans l'histoire de l'Humanité "Les Hommes naissent libres et égaux en droit"...
n°282084
gm_superst​ar
Appelez-moi Super
Posté le 08-01-2003 à 17:05:12  profilanswer
 

SoulJacker a écrit :

gm_superstar, tu vas rire.
 
J'ai essayé et ça fonctionne.. mais à moitié. Pour IE6, NS6, NS7 et mozilla, j'ai du mettre 606px au lieu de 610px. Et pour IE5, je dois mettre 607px.
 
Au fait, tu dis que les images ne doivent pas être des blocks, je veux bien te croire. Mais si elle ne sont pas des blocks, mon design se casse la gueule. Comment dois-je faire alors?
 
EDIT: ca va j'ai compris, il faut qu'elles soient dans un div et pas dans un tableau.


J'ai testé à 610 pixels et ça marche pour tous les navigateurs :heink: Par contre n'hésite pas à virer les largeurs superflues, vu que les largeurs de tes colonnes sont déterminées par tes 3 images du haut, pas la peine de spécifier 162, 640, 162 partout... Mieux vaut laisser le navigateur se dévrouiller à ce niveau.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°282103
souljacker
Posté le 08-01-2003 à 17:35:27  profilanswer
 

de toute façon, il y a toujours le problème de l'espace en dessous de l'image qui casse tout  :cry: . Franchement, je comprends plus rien. Avec les div, c pas demain la veille que j'aurais fini. Non, je pense qu'il me reste le suicide, adieu monde cruel  :cry:  :cry:  :cry:

n°282107
A Levra Se​nza Coda
Aghju maghjatu u bichoco ?
Posté le 08-01-2003 à 17:39:42  profilanswer
 

'tain c pourtant pas compliqué... je vois pas ce qui te bloque dans toutes les solutions qui t'ont été proposées plus haut...


---------------
1732 : Giacinto Paoli rédige un projet de constitution, dont le préambule decrète pour la première fois dans l'histoire de l'Humanité "Les Hommes naissent libres et égaux en droit"...
n°282112
souljacker
Posté le 08-01-2003 à 17:45:33  profilanswer
 

C'est peut-être pas compliqué, mais dans les solutions, soit ca passe pas sous IE5, soit ca passe pas sous Mozilla. Mais bon, c'est surement du au mélange table-div


Message édité par souljacker le 08-01-2003 à 17:46:39
n°282113
panchopa
le lama de Lima
Posté le 08-01-2003 à 17:47:07  profilanswer
 

tu as essayé en mettant tout en position absolue, ca en général ca passe partout

n°282115
A Levra Se​nza Coda
Aghju maghjatu u bichoco ?
Posté le 08-01-2003 à 17:50:48  profilanswer
 

SoulJacker a écrit :

C'est peut-être pas compliqué, mais dans les solutions, soit ca passe pas sous IE5, soit ca passe pas sous Mozilla. Mais bon, c'est surement du au mélange table-div


 
Un bon <div style="float:left;width:gnagna;height:gnagna;background-image:url(truc);"></div>
<div style="float:right;width:gnagna;height:gnagna;background-image:url(bidule);"></div>
 
Normalement ca passe sous IE5, Mozilla...


---------------
1732 : Giacinto Paoli rédige un projet de constitution, dont le préambule decrète pour la première fois dans l'histoire de l'Humanité "Les Hommes naissent libres et égaux en droit"...
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  XHTML 1.1 Strict: aligner autre chose que du texte

 

Sujets relatifs
Affichage de ma page xhtml en arbre xml sur ie6xhtml 1.1 et image mappée
[XHTML] Aligner du texte à gauche dans un tableauLecture d'un fichier texte contenant des entiers...
Comment attacher un texte dans une JFrame ??il a fallu qu'il y ait des iframes dans les pubs, donc XHTML 1.1 DMC
un texte defilantapache: c koi c chose dans mon access.log
Plus de sujets relatifs à : XHTML 1.1 Strict: aligner autre chose que du texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR