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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[XHTML] Remplacer des <table> par des ...

n°1405595
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 14:39:36  profilanswer
 

Reprise du message précédent :
Voilà, je ne vois pas ce que je pourrais rajouter de plus :
 
http://magicsite.manga-torii.com/images/cadre.png

mood
Publicité
Posté le 12-07-2006 à 14:39:36  profilanswer
 

n°1405653
j_lecruel
☀ ☁ ☂
Posté le 12-07-2006 à 15:23:58  profilanswer
 

Bon je t'ai bidouillé un truc en speed, ça ne résoud pas le problème du PNG  qui je crois ne peut l'être pour IE6 ; mais au moins tu as la preuve qu'il est possible de faire sans table :
 
http://peu.importe.free.fr/bloc/www/


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
n°1405754
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 17:03:27  profilanswer
 

Mon dieu qu'il est con ce MSXML Parser :sweat:
 
IE7 et FF ne le rattrappent pas non plus en tout cas... Pas foutus de respecter les normes :/
 
Les <div></div> sont traduits par <div/> à la sortie de la transformation XSL :/
Et du coup, aucun des deux navigateurs n'arrive à afficher quoi que ce soit de correct :sweat:
 
Sinon, l'idée des padding est parfaitement bonne !
 
J'étais arrivé à 90% à la même chose à un moment, mais je n'avais pas eu l'idée des padding pour empêcher la supperposition des background :)
 
Là c'est parfait. Après quelques adaptations ça "marche", reste plus qu'à mettre une connerie invisible à l'intérieur des DIV pour que ce con de MSXML ne les casse plus...

n°1405764
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 17:15:30  profilanswer
 

Hé bé, j'ai trouvé une bidouille, mais maintenant c'est mon serveur qui déconne, il a tout mis en cache comme un con et j'arrive pas à voir mes modifs :o
 
Mais bon, je tiens le bon bout !

n°1405790
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 17:40:20  profilanswer
 

Je vais jamais m'en sortir :fou:
 
<div></div> (ce que je suis censé avoir)
=> IE content, FF content
 
<div/> (ce que j'obtiens)
=> IE pas content, FF non plus
 
<div><div style="display:none;">x</div></div> (logiquement, ça change rien)
=> IE pas content, FF content
 
Relou, et je trouve quoi d'autre comme bidouille moi ? :fou:

n°1405871
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 19:21:38  profilanswer
 

Pffff, chuis en train de péter les plombs, ça m'énerve...
 
Bon, dans ma page XSL, j'ai rajouté a directive suivante :

<xsl:output method="xml" encoding="utf-8" indent="yes" media-type="text/html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>


 
Bon, déjà, du mieux :
-> J'ai un DOCTYPE maintenant
-> Et c'est tout bien indenté
 
Mais ça suffit pas trop...
J'ai toujours des "<div/>"
 
Si je met method="html", alors là c'est top délire : j'ai des balises META un peu partout, c'est très fun, et ma balise "<link>" n'a plus de tag fermant, ce qui fait planter FF.
Par contre, les "<div></div>" sont bien préservés.
 
Y'a pas une "processing instruction" qui me permettrait de dire "moi, le div, même en output xml, je veux pas qu'elle s'auto-ferme" ?
 
Genre... Réussir à faire du XHTML (donc du XML) à partir de pages XML et XSL, c'est quand même pas le bout du monde :o :sweat:

n°1405872
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 19:22:38  profilanswer
 

Ah, et sinon, si je sers ma page avec un contentType = text/xml (comme c'est censé être en XHTML) ni IE ni FF font le rendu. Il chargent bêtement le fichier XML "tel quel" et basta. Genre le DOCTYPE, ça leur passe un peu des années lumières au dessus de la tête...
 
Ah, et évidement, j'ai bien tenté de faire un rendu "xhtml" (au lieu de xml et html), mais évidement ça plante.
A noter d'ailleurs que le coup du "META" et tout le bordel, ça devrait être résolvable par l'attribut "version", qui permet d'indiquer quelle version de la norme respecter, sauf que 1.0, c'est un peu aussi une norme HTML, donc le résultat n'est pas terrible :/


Message édité par Arjuna le 12-07-2006 à 19:25:42
n°1405875
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 19:32:21  profilanswer
 

YES !!!!
 
http://www.xslt.com/html/xsl-list/ [...] 00519.html
 
Connaissait pas cette balise <wbr/> mais maintenant ça marche tip top sous IE7 et FF1.5 :bounce:
 
Le résultat :
http://magicsite.manga-torii.com

Message cité 2 fois
Message édité par Arjuna le 12-07-2006 à 19:32:56
n°1405909
Pitsy
Posté le 12-07-2006 à 21:27:39  profilanswer
 

Arjuna a écrit :

YES !!!!
 
http://www.xslt.com/html/xsl-list/ [...] 00519.html
 
Connaissait pas cette balise <wbr/> mais maintenant ça marche tip top sous IE7 et FF1.5 :bounce:
 
Le résultat :
http://magicsite.manga-torii.com


 
Et ça t'est égal que sous IE 6 ça bug total ?
Enfin tant mieux si ça correspond à ce que tu voulais :)

n°1405942
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 22:34:54  profilanswer
 

J'ai pas IE6 :D
 
Tant pis, de toute façon, le temps que je finisse ce truc, 99% des machines sous IE seront passées sous IE7 de toute façon ;)

mood
Publicité
Posté le 12-07-2006 à 22:34:54  profilanswer
 

n°1405943
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 22:39:16  profilanswer
 

Je viens de tester sous IE6.
 
Ca déconne pas tant que ça :o
Par rapport à ce que j'avais tout l'après-midi, moi je trouve qu'il s'en sort plutôt bien ;)

n°1405945
0x90
Posté le 12-07-2006 à 22:48:25  profilanswer
 

Code :
  1. <div class="outer">
  2.   <div class="topleft"><div class="topright"><div class="top"></div></div></div>
  3.   <div class="left"><div class="right"><div class="inner">
  4.      <!-- Ici ton contenu --->
  5.   </div></div></div>
  6.   <div class="bottomleft"><div class="bottomright"><div class="bottom"></div></div></div>
  7. </div>


 

Code :
  1. .outer {
  2. /* tu definis les marges extérieures au bloc */
  3. }
  4.  
  5. .inner {
  6. /* si t'as envie du specifie la taille de ton bloc, mais c'est totalement facultatif ;) */
  7. }
  8.  
  9. .topleft {
  10. padding-left:10px; /* la largeur de ton coin en haut a gauche */
  11. background-image:url(topleft.png);
  12. background-repeat:no-repeat;
  13. }
  14.  
  15. .topright {
  16. padding-right:10px; /* la largeur de ton coin en haut a droite */
  17. background-image:url(topright.png);
  18. background-repeat:no-repeat;
  19. }
  20.  
  21. .top {
  22. height:10px; /* la hauteur de ta bordure supérieure */
  23. background-image:url(top.png);
  24. background-repeat:repeat-x;
  25. }
  26.  
  27. .left {
  28. padding-left:10px; /* la largeur de la bordure gauche */
  29. background-image:url(left.png);
  30. background-repeat:repeat-y;
  31. }
  32.  
  33. .right {
  34. padding-right:10px; /* la largeur de la bordure droite */
  35. background-image:url(right.png);
  36. background-repeat:repeat-y;
  37. }
  38.  
  39. /* et tu copie les topleft topright top en remplacant par bottom ;) */


 
Ca fait une sacré tartine de divs mais pour du flexible en png transparent (que malhereusement j'adore utiliser :D) y'a pas bcp mieux a ma connaissance.
 
(eventuellement tu peut virer le bloc inner)
 
Y'a aussi de l'optim à faire pour la duplication de certains propriétés mais je te laisse faire ;)
 
[edit]
 
J'avais pas vu la seconde page ....


Message édité par 0x90 le 12-07-2006 à 22:49:11

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1405956
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 23:10:03  profilanswer
 

A priori, c'est pas tout à fait pareil, mais ça semble donner le même résultat.
 
Vu qu'il y a là aussi des div vides, je vais avoir le même problème qu'avec la solution actuelle.
Du coup je garde le truc tel qu'il est ;)
 
Ceci dit, merci :)

n°1405958
0x90
Posté le 12-07-2006 à 23:11:48  profilanswer
 

ah vi, faut rajouter des <wbr /> dans le .top et le .bottom , ca fait quand même moins de blocs que celle que t'as actuellement ;)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1405970
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2006 à 23:33:12  profilanswer
 

ouais c'est vrai :)
 
si j'ai rien rien à faire demain, je regarderai ça.
là j'ai passé trop de temps dessus aujourd'hui pour risquer de tout casser ;)

n°1406132
sibelius
Vous êtes sûr ?
Posté le 13-07-2006 à 09:40:02  profilanswer
 

Arjuna a écrit :

Connaissait pas cette balise <wbr/> mais maintenant ça marche tip top sous IE7 et FF1.5 :bounce:


Alors là ça me dépasse de plus en plus : tu refuses d'employer des tableaux sous pretexte que "pas sémantique", "pas conforme", "pas XHTML strict", bla bla bla... et tu te retrouves à utiliser des balises qui n'ont jamais existé dans aucun langage normé, qui ne sont donc évidemment pas conformes et encore moins "sémantique".
La balise <table> a au-moins un sens; <wbr/> clairement non.
 
EDIT : en fait, <wbr/> est propriétaire IE, ce qui ne change rien aux explications ci-dessus.


Message édité par sibelius le 13-07-2006 à 10:17:42

---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
n°1406155
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-07-2006 à 10:31:07  profilanswer
 

la différence, c'est que :
1) j'utilise <wbr/> comme artifice pour corriger un problème technique lié à la transformation XSL, qui, malgré du code 100% standard, fait planter IE et FF. (la balise <div/> n'est pas reconnue).
2) inclure n'improte quel autre tag déconne avec IE, il fallait donc trouver une solution, et celle-ci fonctionne, c'est le principal
3) j'accorde plus d'importance à respecter la sémantique qu'à respecter la syntaxe, c'est mon choix. quand tu lis un texte qui contient quelques fautes, si les phrases veulent dire quelque-chose, tu comprends. si t'as des mots correctement orthographié qui se suivent, mais sans lien de sens, alors tu ne comprends pas. mon choix découle de ce constat.

Message cité 1 fois
Message édité par Arjuna le 13-07-2006 à 10:31:19
n°1406161
sibelius
Vous êtes sûr ?
Posté le 13-07-2006 à 10:40:46  profilanswer
 

Arjuna a écrit :

3) j'accorde plus d'importance à respecter la sémantique


La sémantique, c'est employer les balises conformes à bon escient. Tu ne crois pas qu'on est très loin de cette règle avec une balise répertoriée nulle part ?
 
Bref, qu'elles qu'en soient tes motivations (sans-doute très bonnes), j'en conclus que :
- tu veux tout faire pour ne pas utiliser de <table> (apparemment parce que ce n'est pas conforme aux super dernières normes XHTML strict, parce que ce n'est pas sémantique, parce que cela pose des problèmes d'accessibilité, etc.)
- tu contournes les <tables> en usant de bidouilles bien pires encore (imbrications, utilisation d'éléments neutres div pour remplacer des td, utilisation d'éléments complètement inexistants dans les normes, donc non conformes, non sémantiques et non accessibles puisque sans sens).
 
C'est simplement ça qui me dépasse.
Savoir ou non que ton document HTML vienne de transformation XSL ne change rien à ce que le navigateur va renvoyer à tes visiteurs.


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
n°1406172
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-07-2006 à 10:46:40  profilanswer
 

Sinon, pour info, d'après cet article du W3C, <WBR/> est proprio NetScape (existe depuis le HTML 3, donc c'est pas récent), et non IE.
http://www.w3.org/MarkUp/html3/headings.html
 
D'après cet autre article, une demande a été expressément faite au W3C d'étendre la norme HTML de façon à reconnaître ce tag. Sémantiquement il n'a pas grand chose à faire dans mon code (quoique ce n'est pas un non-sens non plus).
http://www.w3.org/Printing/fmtext.html
 
D'après cet autre article toujours, on le voit à nouveau mentionné dans les discussions à propos de la spécification du XHTML 2.0
De plus, ce même paragraphe indique que le parseur MSXML (et ce n'est pas le seul, j'ai trouvé d'autres personnes ayant mon problème) ne respecte pas les recommandations des normes : un <div> n'est pas "EMPTY" et ne doit donc jamais être représenté avec la syntaxe condensée. (finalement, c'est pas IE et FF qui ne respectent pas la norme, mais mon parseur XML qui ne sait pas générer du code conforme à XHTML -logique, "xhtml" n'est pas une option valide pour le paramètre "xsl:output" ).
http://www.w3.org/2005/04/xquery-s [...] ssues.html
 
En attendant que le W3C se décide à faire son travail, tu n'as qu'à me trouver un autre tag reconnu par la norme XHTML. Un tag auto-fermant et invisible. Le <br/> prenant de la place, je ne peux pas l'utiliter. Et <img/> tout seul est invalide :spamafote:

n°1406181
sibelius
Vous êtes sûr ?
Posté le 13-07-2006 à 11:01:57  profilanswer
 

Arjuna a écrit :

En attendant que le W3C se décide à faire son travail


Attention à ne pas retourner les rôles : c'est aux outils de s'adapter à la norme et non l'inverse ;)
Si certains navigateurs inventent des balises, c'est leur choix.
 

Arjuna a écrit :

tu n'as qu'à me trouver un autre tag reconnu par la norme XHTML. Un tag auto-fermant et invisible. Le <br/> prenant de la place, je ne peux pas l'utiliter. Et <img/> tout seul est invalide :spamafote:


Hmm là tu parles de deux choses très distinctes, je ne vais pas te l'apprendre mais on n'emploie pas les balises selon leur aspect mais leur fonction :
- un tag c'est le domaine du (x)HTML
- l'"invisibilité" c'est de la mise en forme, donc aucun rapport avec HTML, mais avec CSS.
 
Rien ne t'empêche d'employer <hr />, ou <br /> en leur spécifiant des règles comme :
- visibility: hidden + height: 1px + font-size : 1px + line-height: 1px + border: none --> avec tout ça, tu devrais être paré.


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
n°1408778
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-07-2006 à 19:34:29  profilanswer
 

Gotcha :)
 
Une vraie solution, meilleure que le <wbr/>, qui je vous l'accorde, n'est pas top...
 


<div class="cadre-bottom-left">
  <xsl:value-of select="void"/>
</div>


 
Avec "void", le nom d'une node qui n'existe pas.
Domage, il n'y a pas de fonction void() en XSLT, ce qui aurait été parfait.
 
Le fait de mettre un truc, même vide, à l'intérieur d'une balise en XSLT fait que le rendu, même en XML ne formera pas une balise auto-fermée.

n°1408902
gatsu35
Blablaté par Harko
Posté le 18-07-2006 à 22:55:25  profilanswer
 

<div class="cadre-bottom-left"><!-- --></div>  
ca marche tout aussi bien [:petrus75]
ou sinon un font-size:1% fait aussi l'affaire

n°1408921
Arjuna
Aircraft Ident.: F-MBSD
Posté le 18-07-2006 à 23:04:43  profilanswer
 

nope, en XSL, le <!-- --> est totalement ignoré, du coup il ferme ma balise <div/>
c'est évidement le premier truc que j'avais testé


Message édité par Arjuna le 18-07-2006 à 23:05:17
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
changer un mot dans toute une table MySQLcount() d'une colonne entière d'une table de données
[SQL]inserer un champs dans une tableXHTML validator et inclusions de <a>
Comptage du nombre de champs d'une tablevalidation xhtml
[MYSQL] Probleme de creation de tableRemplacer des [ ] par une balise HTML
D'une iframe au xhtml (problème)[XHTML 1.0] Doctype toujours obligatoire apres validation ?
Plus de sujets relatifs à : [XHTML] Remplacer des <table> par des ...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)