[XHTML CSS] Passer site de table en div

Passer site de table en div [XHTML CSS] - HTML/CSS - Programmation

Marsh Posté le 19-08-2003 à 15:05:24    

Salut tout le monde,
 
Je profite des vacances pour faire un petit peu de XHTML CSS et remodifier le design de mon site.
 
J'avais trouvé un design sur un site opensource en HTML 4 puis je l'ai passé en XHTML 1.1 en apportant qq modifications mais celui ci est basé sur des tables donc j'aimerai quitter le coté obscure et lui faire avaler des div.
 
Cependant, j'ai du mal sur une partie : celle où il y a les liens à droite et l'arbo à gauche.
 
Lien du site original : http://blog.jeanb-net.com
Lien d'un premier essaie où je modifie à partir de l'original : http://blog2.jeanb-net.com
Lien où je recrée tout from scratch : http://blog3.jeanb-net.com
 
J'aimerai savoir d'abord comment faire pour refaire le haut. car ya rien à faire, ça revient à la ligne, c'est pas beau, ça part de traviole etc.
Si qqn a des idées  :love:  :love:  
 
Je@nb

Reply

Marsh Posté le 19-08-2003 à 15:05:24   

Reply

Marsh Posté le 19-08-2003 à 15:44:28    

hum... sachant que, de base, le site original s'affiche de 3 façons différentes selon IE, Moz ou opéra, c'est quelle version que tu voudrais obtenir?

Reply

Marsh Posté le 19-08-2003 à 15:48:41    

Pour ton arborescence tu peux styler une liste, c'est très efficace, tu as un tutoriel an anglais là :
http://www.alistapart.com/stories/taminglists/
 
Puisque tu vfais une mise en page 3 colonnes avec pied de page, voici un exemple :
 
http://www.pixy.cz/blogg/clanky/css-3col-layout/

Reply

Marsh Posté le 19-08-2003 à 17:48:52    

gizmo a écrit :

hum... sachant que, de base, le site original s'affiche de 3 façons différentes selon IE, Moz ou opéra, c'est quelle version que tu voudrais obtenir?


 
Celle qui s'affiche sous IE dans la version originale.

Reply

Marsh Posté le 19-08-2003 à 17:51:40    

pascalC a écrit :

Pour ton arborescence tu peux styler une liste, c'est très efficace, tu as un tutoriel an anglais là :
http://www.alistapart.com/stories/taminglists/
 
Puisque tu vfais une mise en page 3 colonnes avec pied de page, voici un exemple :
 
http://www.pixy.cz/blogg/clanky/css-3col-layout/


 
Merci, v voir ça  :jap:

Reply

Marsh Posté le 24-08-2003 à 20:11:19    

Bon, ça avance là, mais je n'arrive pas à horizontaliser la liste.
 
Voici le contenu du CSS pour la liste :

Code :
  1. #lienho ul {
  2.   margin: 0;
  3.   padding: 0;
  4.   border: none;
  5.   display: inline;
  6. }
  7. #lienho ul li {
  8. list-style: none;
  9. display: inline;
  10. }
  11. div#lienho li a {
  12.   display: block;
  13.   padding: 5px 5px 5px 0.5em;
  14.   border-left: 1px solid #000;
  15.   border-right-style: none;
  16.   background-color: #7d9fc4;
  17.   color: #fff;
  18. text-decoration: none;
  19. width: 100%;
  20. }
  21. html>body #lienho li a {
  22.   width: auto;
  23. }
  24. div#lienho li a:hover {
  25.   background-color: #4d75a0;
  26.   color: #fff;
  27. }


 
Et le XHTML correspondant :
 

Code :
  1. <div id="lienho">
  2.           <ul>
  3.             <li><a href="/archives.php" title="Archives du blog" >&nbsp;::&nbsp;Archive du blog&nbsp;::&nbsp;</a></li>
  4.             <li><a href="/tribune-archives.php" title="Archive tribune" >&nbsp;::&nbsp;Archive tribune&nbsp;::&nbsp;</a></li>
  5.             <li><a href="/livredor.php" class="topmenu" title="Accès au livre d'or" >&nbsp;::&nbsp;Livre d'or&nbsp;::&nbsp;</a></li>
  6.           </ul>
  7.         </div>


 
Qqn peut me dire où c que ça cloche ??? car ça fait pas mal de temps que je cherche et j'avoue que je trouve pas
 
PS : sous mozzilla c déjà mieux que sous IE.


Message édité par Je@nb le 24-08-2003 à 20:12:22
Reply

Marsh Posté le 24-08-2003 à 21:05:11    

Tes <a> n'ont pas à être des éléments de type "block". On ne met pas un "inline" dans un "block".


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 24-08-2003 à 21:20:20    

:jap: Merci c déjà mieux mais sur IE ça n'a rien fait et sur mozz ça chie pas mal encore ta pas une idée ?

Reply

Marsh Posté le 24-08-2003 à 21:38:58    

Heu... je sais pas... c'est où qu'on teste ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 24-08-2003 à 21:41:19    

Reply

Marsh Posté le 24-08-2003 à 21:41:19   

Reply

Marsh Posté le 24-08-2003 à 23:24:38    

Non c'est IE qui chie avec son modèle de boîte foireux.
 
IE inclu le padding dans la hauteur et la largeur calculée.
 
Avec Mozilla il faut faire descendre de 5px les <li>. Donc ajoute un padding haut de 5px à <ul>
 
Pour IE, tu devras sans doute appliquer ce hack : http://www.tantek.com/CSS/Examples/boxmodelhack.html


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 25-08-2003 à 00:50:22    

Bon, c'est déjà mieux sous mozz, en mettant le padding de 5 au <ul> ça fait rien mais au div ça marche mais uniquement sous mozz car sur IE ça me fait un espace :/ et les boites sont toujours à la verticale. En tt k merci  :jap:

Reply

Marsh Posté le 25-08-2003 à 01:01:40    

Put1 oué rien que en virant le <?='<?xml version="1.0"?>' ?>
ça marche  :ouch:  :ouch:

Reply

Marsh Posté le 25-08-2003 à 10:17:37    

Oui mais attention, pour IE 5.x tu auras sans doute des problèmes, donc tu devras appliquer le hack...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 25-08-2003 à 12:37:39    

gm_superstar a écrit :

Oui mais attention, pour IE 5.x tu auras sans doute des problèmes, donc tu devras appliquer le hack...


 
ok, v voir ça,  :sol:  :sol:

Reply

Marsh Posté le 30-08-2003 à 16:35:57    

Bon, hier soir j'ai fait le menu gauche, ça a pas trop mal marché mais là c vraiment la merde :/ J'arrive pas a avoir qqch de correct.
Qqn a une idée pourquoi ça chie aussi bien sur IE que sur mozz mais pas de la même façon. Et j'aimerai aussi que le menu à droite fasse la même taille que le bloc central, qqn a une idée ?
 
http://blog3.jeanb-net.com/header.php
http://blog3.jeanb-net.com/style.css pour le CSS
 
Original sur http://blog.jeanb-net.com/

Reply

Marsh Posté le 31-08-2003 à 03:43:22    

:bounce:  :bounce:

Reply

Marsh Posté le 31-08-2003 à 12:08:41    

Quel menu à droite ? :heink:  
 
Je vois pas de soucis avec Moz...
 
Tu t'es inspiré de ça ?
 
http://glish.com/css/7.asp
http://bluerobot.com/web/layouts/layout3.html


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 13-09-2003 à 01:39:58    

:bounce:  
 
Bon g avancé pour qu'on voit mieux avec du contenu
 
http://blog3.jeanb-net.com/header.php
 
Alors g réglé un peu le prob mais ça marche que en 1280x1024  :D  :D  
Je ne c pas comment faire pour que ça marche.
Je me suis pas inspiré de ça car je voudrais éviter du absolute.
 
Comment faire pour que le div central ne vire pas en dessous mais se rapetisse qd on rétrecis la fenetre ?
Sinon comment faire pour que la tribune descende a la même hauteur que le central et inversement si c la page centrale qui est < à la tribune ?

Reply

Marsh Posté le 13-09-2003 à 08:00:39    

Je@nb a écrit :


Alors g réglé un peu le prob mais ça marche que en 1280x1024  :D  :D  


 
Ça marche aussi en 1280x960 [:aloy]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-09-2003 à 08:09:32    

Ça ?
 
----
 
<div id="header">
    <!-- Le blog de Jeanb -->
</div>
 
<div id="page">
    <div id="menu1"><!-- des liens là --></div>
    <div id="menu2"><!-- des liens ici aussi --></div>
 
    <div id="text">
        <!-- plein de texte ici parce que ça fait bien -->
    </div>
</div>
 
----
 
Après, tu fais un truc du genre :
 
----
 
#menu1 {
    float: left;
    width: 12em;
}
 
#menu2 {
    float: right;
    width: 12em;
}
 
#text {
    margin: 0 13em 0 13em;
}
 
----


Message édité par meerthyl le 13-09-2003 à 08:10:49
Reply

Marsh Posté le 13-09-2003 à 11:41:14    

antp a écrit :


 
Ça marche aussi en 1280x960 [:aloy]


 
oué et en 1600 aussi  :na:  :D

Reply

Marsh Posté le 13-09-2003 à 11:42:12    

Meerthyl a écrit :

Ça ?
 
----
 
<div id="header">
    <!-- Le blog de Jeanb -->
</div>
 
<div id="page">
    <div id="menu1"><!-- des liens là --></div>
    <div id="menu2"><!-- des liens ici aussi --></div>
 
    <div id="text">
        <!-- plein de texte ici parce que ça fait bien -->
    </div>
</div>
 
----
 
Après, tu fais un truc du genre :
 
----
 
#menu1 {
    float: left;
    width: 12em;
}
 
#menu2 {
    float: right;
    width: 12em;
}
 
#text {
    margin: 0 13em 0 13em;
}
 
----


 
Ben j'avais essayé ça mais ça chiait pas mal bcp :p
V retester, sinon em c koi ? j'utilise toujours les pixels moi :p

Reply

Marsh Posté le 13-09-2003 à 12:01:18    

Em, c'est une unité de mesure, comme les pixels ou les %, sauf que c'est proportionnel à la taille de la police (1em == la largeur d'un "m" ), donc si on grossit le texte, les menus s'élargissent aussi. (ça évite de foutre tout un design en l'air et les grosses résolutions aiment bien les font en "em" ou en %)
 
Enfin ça devrait fonctionner, je m'en sers assez souvent, je sais pas pourquoi j'aime pas le position: absolute; ou les float: left; float: left; float: left; :pfff:  

Reply

Marsh Posté le 13-09-2003 à 12:04:51    

Meerthyl a écrit :

Em, c'est une unité de mesure, comme les pixels ou les %, sauf que c'est proportionnel à la taille de la police (1em == la largeur d'un "m" ), donc si on grossit le texte, les menus s'élargissent aussi. (ça évite de foutre tout un design en l'air et les grosses résolutions aiment bien les font en "em" ou en %)
 
Enfin ça devrait fonctionner, je m'en sers assez souvent, je sais pas pourquoi j'aime pas le position: absolute; ou les float: left; float: left; float: left; :pfff:  


 
Ok je reteste ça  :jap:  :jap:

Reply

Marsh Posté le 13-09-2003 à 12:15:28    

En effet ça marche mais uniquement sous mozz : http://blog3.jeanb-net.com/header2.php
 
Sous IE il se chie dessus  :D  :D

Reply

Marsh Posté le 13-09-2003 à 14:06:10    

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html>
  3.     <head>
  4. <title>Jeanb</title>
  5. <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1">
  6. <style type="text/css">
  7.     #header {
  8.  border: 1px solid #000;
  9.  margin-bottom: 1em;
  10.     }
  11.     #header h1 {
  12.  border-bottom: 1px solid #000;
  13.     }
  14.     #menu1 {
  15.  float: left;
  16.  width: 12em;
  17.     }
  18.     #menu1 div {
  19.  border: 1px solid #000;
  20.  margin-bottom: 1em;
  21.     }
  22.     #menu1 h2 {
  23.  text-align: center;
  24.  border-bottom: 1px solid #000;
  25.     }
  26.     #menu2 {
  27.  float: right;
  28.  width: 12em;
  29.  border: 1px solid #000;
  30.     }
  31.     #menu2 h2 {
  32.         text-align: center;
  33.  border-bottom: 1px solid #000;
  34.     }
  35.     #text {
  36.  margin: 0 13em 0 13em;
  37.  border: 1px solid #000;
  38.     }
  39. </style>
  40.     </head>
  41.     <body>
  42. <div id="header">
  43.     <h1>Le blog de Jeanb</h1>
  44.     <div>
  45.  <!-- liens vers les archives -->&#160;
  46.     </div>
  47. </div>
  48. <div id="page">
  49.     <div id="menu1">
  50.  <!-- les menus -->
  51.  <div>
  52.      <h2>Qui suis-je ?</h2>
  53.      <ul>
  54.   <li>Bla bla</li>
  55.   <li>Bla bla</li>
  56.   <li>Bla bla</li>
  57.   <li>Bla bla</li>
  58.      </ul>
  59.  </div>
  60.  <div>
  61.      <h2>Mes sites préférés</h2>
  62.      <ul>
  63.   <li><a href="#">Blabla</a></li>
  64.   <li><a href="#">Blabla</a></li>
  65.   <li><a href="#">Blabla</a></li>
  66.   <li><a href="#">Blabla</a></li>
  67.      </ul>
  68.  </div>
  69.  <p>Du texte</p> <!-- commentaire sous le menu -->
  70.     </div>
  71.     <div id="menu2">
  72.  <h2>La tribune</h2>
  73.  <!-- tribune ici -->&#160;
  74.     </div>
  75.     <!-- le blog -->
  76.     <div id="text">
  77.  <h2>Un titre</h2>
  78.  <p>Bla bla bla bla bla</p>
  79.     </div>
  80. </div>
  81.     </body>
  82. </html>


 
Copie-colle ça dans un fichier à part, tu verras que ça passe très bien avec IE. :D

Reply

Marsh Posté le 14-09-2003 à 00:41:01    

En effet ça marche bien :/
 
Pourtant je ne vois pas koi modifier sur page, ça m'a l'air correct :/  :sarcastic:

Reply

Marsh Posté le 14-09-2003 à 08:11:15    

T'as tout ce qu'il te faut pour trouver là, au pire t'as une base pour refaire comme il faut :o

Reply

Marsh Posté le 15-09-2003 à 00:55:37    

:jap:  :jap: Après analyse minutieuse g trouvé  :D  :D  
Fallait virer width: 100% des div interne a la partie centrale et ça marche  :jap:  :jap:  
Car en fait 100% + padding + margin = + 100% --> déborde à droite.
Maintenant c parfait

Reply

Marsh Posté le 15-09-2003 à 01:22:11    

Juste un dernier problème : faire que la hauteur de la tribune fasse la même taille que le texte central et inversement ou trouver un moyen pour que les bordures marchent dans n'importe quelle solution

Reply

Marsh Posté le 15-09-2003 à 23:56:09    

:bounce:  :bounce:

Reply

Marsh Posté le 16-09-2003 à 06:48:17    

Tu colles le <div>de la tribune et celui du texte dans un seul bloc et tu y vas à coup de height: 100%

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed