XHTML : clear:both; deux colonnes.. et c la m....

XHTML : clear:both; deux colonnes.. et c la m.... - HTML/CSS - Programmation

Marsh Posté le 10-04-2006 à 11:02:34    

voila ! ce qui devait arriver arriva, depuis le début on me dit "oui le site doit etre en HTML 4.01 transitional".... puis suite à une réunion, la fameuse décision a été prise : "bah non finalement... on veut du XHTML 1.0 Strict !!!"...
 
... personnellement ça me pose pas trop de problèmes vu que ma syntaxe était déja tres proche du XHTML... simplement faut revoir les pages de façon à "séparer le contenu de la forme"... et par la même occasion... utiliser des div plutot que des tables... (chose que j'avais deja fait sur certaines pages assez simples... heureusement !)
 
donc en gros mis à par la homepage.. je n'aurais pas trop de probleme pour le moment à remettre tout en XHTML...
 
Le problème vient plus loin... ce sont les CSS... là c'est toujours le grand problème... ya toujours un truc qui cloche ! lol !
 
je vous explique mon probleme, j'ai deux colonnes (dans le conteneur central du site biensur), dans lesquelles se trouvent deux colonnes (une pour un image.. et une pour du texte) et pour couronner le tout j'ai une image (un lien) qui doit etre aligné avec celui de la colonne d'à côté !
 
En images ça donne ça : (j'ai laissé les repères de photoshop pour bien voir les alignements)
 
http://www.freedfromparis.com/temp/OR/_test/xhtml_home1.jpg
 
 
bon la bonne nouvelle c'est que j'y suis presque arrivé !! ça marche pas trop mal dans IE et FF sur pc... et sur Safari ça passe pas trop mal non plus....
 
Mais alors sur IE mac... c pas ça du tout ! et j'ose même pas essayer sur les autres ! et malheureusement je susi obligé de faire un truc qui marche absolument partout !
 
voici mon bout de code :
 

Code :
  1. <div id="nouveautes" style="margin-left:10px;">
  2.  <!-- debut nouveauté 1 -->
  3.  <div id="nouveaute_1" style="width:311px;height:114px;margin:left:10px;float:left;">
  4.   <a href="#" target="_self">
  5.   <img src="../img/1/images/home_image1.jpg" alt="image1" width="145" height="101"  style="margin-right:10px;float:left;" />
  6.   </a>
  7.   <p id="nouveautes_1_texte" style="width:145px;height:114px;float:left;">
  8.    <span class="texte_courant">
  9.    <strong>Votre fid&eacute;lit&eacute; r&eacute;compens&eacute;e ! </strong> <br />
  10.    Avec <strong>Mes points </strong>,&nbsp;Toto.com r&eacute;compense encore plus votre fid&eacute;lit&eacute;. C'est simple, chaque mois vous cumulez des points sans m&ecirc;me y penser !
  11.    </span>
  12.   </p>
  13.    <a href="#">
  14.    <img src="../img/1/boutons/bouton_en_savoir_plus.jpg" alt="En savoir plus" width="118" height="26" style="margin-left:155px;clear:both;" />
  15.    </a>
  16.  </div>
  17.  <!-- fin nouveauté 1 -->
  18.  <!-- debut nouveauté 2 -->
  19.  <div id="nouveaute_2" style="width:311px;height:114px;margin:left:10px;float:left;">
  20.   <a href="#">
  21.   <img src="../img/1/images/home_image2.jpg" alt="image1" width="145" height="101" style="margin-right:10px;float:left;" />
  22.   </a>
  23.   <p id="nouveautes_2_texte" style="width:145px;height:114px;float:left;">
  24.    <span class="texte_courant"><strong>Profitez de nos offres ! </strong> <br />
  25.    D&eacute;couvrez tout au long de l'ann&eacute;e, notre programme d'offres privil&egrave;ges.
  26.    Des offres exclusives n&eacute;goci&eacute;es pour vous, aupr&egrave;s de nos partenaires...</span>
  27.   </p>
  28.    <a href="#">
  29.    <img src="../img/1/boutons/bouton_en_savoir_plus.jpg" alt="En savoir plus" width="118" height="26" style="clear:both;margin-left:155px;" />
  30.    </a>
  31.  </div>
  32.  <!-- fin nouveauté 2 -->


 
PS :  j'ai (pour le moment) laissé les attribus "style" dans le code HTML... ça m'evite de switcher avec le fichier CSS.. je trouve que c une perte de temps monumentale.. en général une fois que ça bouge plus... je remets tout à sa place dans le fichier CSS
 
 
J'en profite pour poser une autre question :
Concernant les padding et les borders... quand je fais un "width:100px;padding5px;border:1px solid #FFFFFF" (par exemple)
au niveau du rendu... ma taille finale sera de width=110px ? width=112px? ou bien elle restera à 100px ?? parceque j'ai l'impression que parfois un padding ou un border va completement déformer mes marges et du coup ça rentre plus ! (c peut etre bon d'en etre sûr une bonne fois pour toutes)

Message cité 1 fois
Message édité par freed102 le 10-04-2006 à 11:06:36
Reply

Marsh Posté le 10-04-2006 à 11:02:34   

Reply

Marsh Posté le 10-04-2006 à 14:02:54    

Pour les marges des éléments tu as mis  

Code :
  1. * {
  2. margin:0;
  3. padding:0;
  4. }


 
dans ton CSS?

Reply

Marsh Posté le 10-04-2006 à 14:15:05    

oui ça y est toujours ! c le premier truc que je fais !
 

Code :
  1. /* CSS Document */
  2. /*-------------------------------------------------------------------------------------------------------*/
  3.                     /* Balises générales */
  4. *{
  5. border:0px solid #EEEEEE;
  6. margin: 0;
  7. padding: 0;
  8. }
  9. body {
  10. width:100%;
  11. font-family: Arial, Helvetica, sans-serif;
  12. font-size: 11px;
  13. color:#000000;
  14. font-weight:normal;
  15. }
  16. /*-------------------------------------------------------------------------------------------------------*/
  17.                     /* structure du site */
  18. #header {
  19. height: 85px;
  20. }
  21. img{
  22. border:0;
  23. margin:0;
  24. padding:0;
  25. }
  26. #page {
  27. width:100%;
  28. }
  29. #centre {
  30. position:relative;
  31. margin-left: 160px;
  32. }
  33. #menu_gauche {
  34. float:left;
  35. width: 150px;
  36. }
  37. #footer{
  38. position:relative;
  39. height:44px;
  40. border-top:3px solid #FF6600;
  41. margin-top:30px;
  42. clear:both;
  43. }
  44. /*-------------------------------------------------------------------------------------------------------*/
  45.                          /* titres */
  46. h1{
  47. margin:0;
  48. padding:0;
  49. }
  50. h2 {
  51. font-size: 16px;
  52. font-weight:bold;
  53. margin-top:0px;
  54. padding-bottom:5px;
  55. margin-left:3px;
  56. margin-bottom:10px;
  57. white-space:nowrap;
  58. border-bottom: 1px solid #EEEEEE;
  59. }
  60. h3{
  61. padding-top:20px;
  62. font-size:16px;
  63. font-weight:bold;
  64. }
  65. h4{
  66. margin-left:0;
  67. padding-top:10px;
  68. font-size:14px;
  69. font-weight:bold;
  70. color:#FF6600;
  71. }
  72. h5{
  73. margin-left:20px;
  74. padding-top:10px;
  75. padding-bottom:10px;
  76. font-size:12px;
  77. font-weight:bold;
  78. color:#666666;
  79. }
  80. /*-------------------------------------------------------------------------------------------------------*/
  81.                      /* Liens généraux*/
  82. /* Liens (sans class) */
  83. a:link{
  84. font-size: 11px;
  85. text-decoration:underline;
  86. font-weight:normal;
  87. color:#FF6600;
  88. }
  89. a:visited{
  90. font-size: 11px;
  91. text-decoration:underline;
  92. font-weight:normal;
  93. color:#FF6600;
  94. }
  95. a:hover{
  96. text-decoration: none;
  97. }
  98. a:active{
  99. text-decoration:none;
  100. color:#FF6600;
  101. font-weight:normal;
  102. }
  103. /* Liens (Libellés du catalogue) */
  104. a.lien_libelle:link {
  105. font-family: Arial, Helvetica, sans-serif;
  106. font-size: 14px;
  107. font-weight: bold;
  108. color:#000000;
  109. text-decoration:none;
  110. }
  111. a.lien_libelle:visited {
  112. font-family: Arial, Helvetica, sans-serif;
  113. font-size: 14px;
  114. font-weight: bold;
  115. color:#000000;
  116. text-decoration:none;
  117. }
  118. a.lien_libelle:hover {
  119. color:#000000;
  120. font-family: Arial, Helvetica, sans-serif;
  121. font-size: 14px;
  122. font-weight: bold;
  123. text-decoration:underline;
  124. }
  125. a.lien_libelle:active {
  126. font-family: Arial, Helvetica, sans-serif;
  127. font-size: 14px;
  128. font-weight: bold;
  129. text-decoration:none;
  130. color:#FF6600;
  131. }
  132. /*-------------------------------------------------------------------------------------------------------*/
  133.                       /* Textes généraux */
  134. .texte_courant {
  135. font-family: Arial, Helvetica, sans-serif;
  136. font-size: 11px;
  137.  color:#000000;
  138.  font-weight:normal;
  139. }
  140. .texte_noir_18px { font-family: Helvetica, Arial, sans-serif;
  141. font-size: 18px;
  142. }
  143. .texte_noir_14px { font-family: Helvetica, Arial, sans-serif;
  144. font-size: 14px;
  145. }
  146. .texte_orange_18px { font-family: Helvetica, Arial, sans-serif;
  147. font-size: 18px;color: #FF6600
  148. }
  149. .texte_courant_orange {
  150. font-family: Arial, Helvetica, sans-serif;
  151. font-size: 11px;
  152. color:#FF6600;
  153. }
  154. .texte_courant_orange_12px {
  155. font-family: Arial, Helvetica, sans-serif;
  156. font-size: 12px;
  157. color:#FF6600;
  158. }
  159. /*-------------------------------------------------------------------------------------------------------*/
  160.                     /* Navigation gauche */
  161. #nav_gauche{
  162. width:130px;
  163. list-style-position: inside;
  164. font-family:Arial, Helvetica, sans-serif;
  165. font-size:11px;
  166. font-weight:bold;
  167. display:inline;
  168. margin:0;
  169. }
  170. #nav_gauche li{
  171. list-style-position: inside;
  172. border-bottom: 1px solid #EEEEEE;
  173. padding-top:5px;
  174. padding-bottom:5px;
  175. list-style-type: none;
  176. }
  177. .nav_gauche_sous_menu{
  178. font-size:11px;
  179. margin-left:18px;
  180. text-decoration:none;
  181. }
  182. /* Liens pour la liste du menu gauche */
  183. #nav_gauche a:link{
  184. font-size:11px;
  185. text-decoration: none;
  186. font-weight:normal;
  187. white-space:nowrap;
  188. color:#000000;
  189. }
  190. #nav_gauche a:visited{
  191. font-size:11px;
  192. text-decoration: none;
  193. font-weight:normal;
  194. white-space:nowrap;
  195. color:#000000;
  196. }
  197. #nav_gauche a:hover{
  198. text-decoration:none;
  199. }
  200. #nav_gauche a:active{
  201. text-decoration:none;
  202. color:#FF6600;
  203. font-weight:normal;
  204. }
  205. .filet_menu_gauche{
  206. float:right;
  207. display:inline;
  208. }


Message édité par freed102 le 10-04-2006 à 14:16:19
Reply

Marsh Posté le 10-04-2006 à 14:37:44    

freed102 a écrit :

puis suite à une réunion, la fameuse décision a été prise : "bah non finalement... on veut du XHTML 1.0 Strict !!!"...


Question bête : pourquoi ?
Juste pour suivre la mode ? Y'a-t-il un réel besoin de suivre cette norme plutot qu'une autre dans ce cas de ce projet ?


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 10-04-2006 à 14:42:12    

bah c la charte du client.. c une grosse firme française et on va integrer une partie de leur site, et dans la doc c'est écrit qu'il est préférable de faire du XHTML 1.0 Strict (chose qui n'avait pas été précisée au départ)
 
Probablement pour rendre le site accessible sur des supports hors du commun dans le futur (mobiles, lecteurs d'ecrans, etc etc)

Reply

Marsh Posté le 10-04-2006 à 14:48:35    

freed102 a écrit :

Probablement pour rendre le site accessible sur des supports hors du commun dans le futur (mobiles, lecteurs d'ecrans, etc etc)


Justement. Aucun rapport : on peut très bien être très accessible et avoir une séparation fond/forme en HTML 4.01 bien conçu.
 
Le choix de XHTML Strict n'apporte ici aucun intérêt réel (je parle bien dans ce projet précis). L'intérêt est de séparer le contenu (HTML) de la mise en forme (CSS) afin de véhiculer ce contenu sur toutes les plateformes... et cet intérêt existe déjà en HTML 4.01
 
 
D'où ma question :) Je pense que c'est surtout par "mode", ils ont entendu parler de ce "super truc" qu'est le XHTML Strict et se disent que c'ets ce qu'ils leur faut.


Message édité par sibelius le 10-04-2006 à 15:02:18

---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 10-04-2006 à 14:59:40    

bah moi je pense que vu l'envergure de la boite en question.. ils veulent tout simplement être véhiculés sur toutes les plateformes quelles qu'elles soient ! c pour ça que même le vieil IE sur Mac qui fait iech et bien ça doit marcher dessus ! lol !
 
à savoir que c un site qui existe deja et qui est utilisé par 3 millions de visiteurs
 
Vous allez me dire "Mais... pourquoi ont-ils mis un site pareil entre les mains de quelqu'un qui n'est pas une bete de CSS ?"
 
... je vous répondrai... "j'en sais rien ! mais quoi qu'il en soit... l'ancienne version du site c'est une catastrophe niveau code... je ne peux pas faire pire ! bien au contraire !"
 
... et je vais m'appliquer... c'est un challenge ! je connais les règles essentielles au XHTML (d'ailleurs c pour ça que j'ai commencé à taper du HTML très proche du XHTML) mes pages sont valides.. c déjà un bon point !! maintenant faut juste arriver à positionner des blocs les uns à coté des autres au pixel pres... et là c une autre paire de manche !! lol !

Reply

Marsh Posté le 10-04-2006 à 15:11:38    

Dis-leur qu'IEMac a vu son développement arrêté il y a 5 ans, et qu'il vaut mieux l'oublier...
 
C'est ce que fait yahoo (Browser Grades), le rendu sous IEMac se fait sans CSS...

Reply

Marsh Posté le 10-04-2006 à 15:19:50    

ouai je vais deja essayer de faire quelquechose de visible et si j'y arrive pas je vais leur envoyer ça dans les dents!  lol

Reply

Marsh Posté le 10-04-2006 à 15:57:10    

bon sinon pour en revenir au probleme principal... j'ai réussit regler le probleme.. en réduisant d'un pixel chaque paragraphe de texte... je pensais qu'avec les CSS on pouvait placer des objets au pixel pres et que 145(image)+10(marge)+145(texte) ça rentrait dans un bloc de 301 pixels... apparament non ! lol !
 
et puis d'ailleurs 301+10+301.. ça rentre pas dans 612pixels ! lol

Reply

Marsh Posté le 10-04-2006 à 15:57:10   

Reply

Marsh Posté le 10-04-2006 à 16:21:27    

freed102 a écrit :

et puis d'ailleurs 301+10+301.. ça rentre pas dans 612pixels ! lol


Si si, ça marche très bien :)
Il faut simplement bien comprendre le Modèle de Boites ;)
http://openweb.eu.org/articles/dimensions_boites_css/


---------------
www.polychromies.com (Portfolio) - www.photographier-bebe.com (livre photo de bébé) - www.alsacreations.com
Reply

Marsh Posté le 10-04-2006 à 16:55:05    

oui si je lis bien, c bien ce que je disais, le padding elargit le bloc j'ai l'impression
 
dans un navigateur appliquant le modèle de boîte standard, les deux boîtes sont identiques : leur largeur apparente est égale à width+padding+border

Reply

Sujets relatifs:

Leave a Replay

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