Problème d'alignement d'image avec CSS

Problème d'alignement d'image avec CSS - HTML/CSS - Programmation

Marsh Posté le 12-02-2008 à 16:05:21    

Salut tout le monde,
 
je réalise un site. Toute la partie création du graphisme est terminée. Seulement il survient un pb, je m'explique :
Sur ce site il y a un menu (jusque là rien de très difficile ^^) malheureusement les boutons de ce menu sont de travers (pas de lignes verticales ni horizontales) comme ceci (ce n'est qu'un exemple) :
http://img47.imageshack.us/img47/8001/baseow8.jpg
 
Le problème c'est que je veux que lorsque la souris passe sur un bouton, celui-ci change de couleur comme ceci :
1er bouton
http://img100.imageshack.us/img100/1980/24996252ns9.jpg
 
2nd bouton
http://img100.imageshack.us/img100/4901/51835096fu1.jpg
 
etc...
 
 
 
Seulement je ne sais pas comment réaliser la découpe. En effet comme la découpe est forcément rectangulaire, une zone est commune à deux boutons voisins. comme ceci :
http://img159.imageshack.us/img159/138/decoupe1je4.jpg
Sur le bouton 1 on voit une partie du bouton 2.
 
 
 
http://img159.imageshack.us/img159/987/decoupe2mr9.jpg
Sur le bouton 2 on voit une partie du bouton 1 et une partie du bouton 3.
 
Etc...
 
 
Il y a donc un problème de superposition des images des boutons.
 
 
Si quelqu'un à une idée, ou à déjà rencontré ce genre de problème, merci de me faire partager votre expérience.
 
Merci


Message édité par nasty44 le 03-03-2008 à 21:58:47

---------------
http://nasty3d.free.fr [site en REconstruction]    ## Electronicien/Infographiste/Gratteux ##
Reply

Marsh Posté le 12-02-2008 à 16:05:21   

Reply

Marsh Posté le 12-02-2008 à 16:20:10    

J'ai jamais réalisé de boutons dans ce style, mais, si l'anglais ne te rebute pas, j'ai lu un article du site "A List Apart" qui traite de ce sujet.
 
Voici le lien.
 
J'éspère que ça t'aidera :)

Reply

Marsh Posté le 03-03-2008 à 19:30:14    

Yess, un grand merci à toi Astryad. C'est en cours de réalisation... ça devrais bien le faire  :)  


---------------
http://nasty3d.free.fr [site en REconstruction]    ## Electronicien/Infographiste/Gratteux ##
Reply

Marsh Posté le 03-03-2008 à 21:58:05    

Rebonjour à tous avec une autre question ^^
 
J'aimerais maintenant aligner 4 images en background et le tout en CSS  
 
Comme sur cette image  :  
 
http://img218.imageshack.us/img218/6524/alignementpm6.jpg
 
 
Malheureusement je n'arrive pas à aligner l'image rouge (sur l'exemple ci-dessus) avec l'image noir, c'est à dire le coin gauche supérieur de la rouge avec le coin gauche inférieur de la noir. De plus il faut que le tout soit centré dans la page. La marge de gauche peut donc varier selon le format de la fénêtre.
 
Voici mon code :

Code :
  1. <html>
  2. <head>
  3.  <style type="text/css">
  4.  body
  5.  {
  6.  margin: 0px;
  7.  background : #c0a062 url("bg.gif" ) top left repeat-x ;
  8.  }
  9.  .corps
  10.  {
  11.  background: url("haut.jpg" ) top center no-repeat;
  12.  height: 100%;
  13.  }
  14.  .basgauche
  15.  {
  16.  background: url("bas_gauche.jpg" ) top left no-repeat;
  17.  }
  18.  </style>
  19. </head>
  20. <body>
  21.  <div class="corps">
  22.   <div align="center">
  23.    <font size="10">
  24.     <br><br><br><br><b>En construction...</b><br>
  25.    </font>
  26.   <b>It sounds like rock</b>
  27.   </div>
  28.   <div class="basgauche">
  29.   </div>
  30.  </div>
  31. </body>
  32. </html>


 
 
C'est pas facil de débuter ^^
 
Merci d'avance.


---------------
http://nasty3d.free.fr [site en REconstruction]    ## Electronicien/Infographiste/Gratteux ##
Reply

Marsh Posté le 04-03-2008 à 18:23:05    

Bonjour,
 
si la ligne 1 c'est <html>, il te manque une ligne 0 : DOCTYPE
 
<font size="10"> n'existe plus, et depuis longtemps (c'est "déprécié")

Reply

Marsh Posté le 05-03-2008 à 00:07:22    

De même pour align="center" et dans l'esprit pour <b> aussi. Tout ça c'est de la présentation, pas de la structure, donc ça n'a rien à faire dans le html, ça doit être en css.

 

Sinon ta div rouge est DANS ta div noire, ça risque de pas être le plus facile... mets les plutot à la suite, voire une div englobant la rouge la verte et la bleue

 
Code :
  1. <div class="div_noire">
  2. </div>
  3. <div class="divs_couleurs">
  4.  <div class="div_rouge"></div>
  5.  <div class="div_verte"></div>
  6.  <div class="div_bleue"></div>
  7. </div>


Tu mets #divs_couleurs et #div_noire en position:relative
Et tu mets les #div_rouge, #div_verte, #div_bleue en float:left (en leur spécifiant des dimensions)


Message édité par theredled le 05-03-2008 à 00:11:23

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 21-03-2008 à 12:05:45    

Et ben voila on y arrive, grace à vous. Merci ^^
 
C'est quand même mieux mis en page en div plutot qu'avec un tableau...
 
Voici mon nouveau code ;)
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html lang="fr">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title></title>
  6. <style type="text/css">
  7.  body
  8.  {
  9.  margin: 0px;
  10.  padding: 0px;
  11.  background : #c0a062 url("bg.gif" ) top left repeat-x ;
  12.  }
  13.  #corps
  14.  {
  15.  margin-left: auto;
  16.  margin-right: auto;
  17.  width: 1101px;
  18.  }
  19.  .banniere
  20.  {
  21.  background: url("banniere.jpg" ) top left no-repeat;
  22.  height: 175px;
  23.  position: relative;
  24.  }
  25.  .contenu1
  26.  {
  27.  position: relative;
  28.  width: 1101px;
  29.  }
  30.  .contenu2
  31.  {
  32.  position: relative;
  33.  width: 1101px;
  34.  }
  35.  .contenu3
  36.  {
  37.  position: relative;
  38.  width: 1101px;
  39.  }
  40.  .gauche
  41.  {
  42.  background: url("gauche.jpg" ) top left no-repeat;
  43.  float:left;
  44.  height: 291px;
  45.  width: 177px;
  46.  }
  47.  .milieuh
  48.  {
  49.  background: url("milieuh.jpg" ) top left no-repeat;
  50.  float:left;
  51.  height: 291px;
  52.  width: 924px;
  53.  }
  54.  .gaucheb1
  55.  {
  56.  background: url("gaucheb1.jpg" ) top left no-repeat;
  57.  float:left;
  58.  height: 212px;
  59.  width: 177px;
  60.  }
  61.  .gaucheb2
  62.  {
  63.  background: url("gaucheb2.jpg" ) top left no-repeat;
  64.  float:left;
  65.  height: 212px;
  66.  width: 155px;
  67.  }
  68.  .milieub
  69.  {
  70.  background: url("milieub.jpg" ) top left no-repeat;
  71.  float:left;
  72.  height: 212px;
  73.  width: 769px;
  74.  }
  75.  .basgauche
  76.  {
  77.  background: url("basgauche.jpg" ) top left no-repeat;
  78.  float:left;
  79.  height: 152px;
  80.  width: 332px;
  81.  }
  82.  .basdroite
  83.  {
  84.  background: url("basdroite.jpg" ) top left no-repeat;
  85.  float:left;
  86.  height: 152px;
  87.  width: 461px;
  88.  }
  89.  .men
  90.  {
  91.  float:left;
  92.  height: 152px;
  93.  width: 308px;
  94.  }
  95.  #menu {
  96.   width: 308px;
  97.   height: 152px;
  98.   background: url("menu.jpg" ) 0 -760px;
  99.   margin: 0px; padding: 0;
  100.   position: relative;
  101.  }
  102.  #menu li {margin: 0; padding: 0; list-style: none; display: block; position: absolute;overflow:hidden;}
  103.  #menu a {display: block; border: solid 0px #f00;}
  104.  #menu1 {left: 9px; top: 10px; width: 55px; height: 65px;}
  105.  #menu2 {left: 45px; top: 14px; width: 63px; height: 68px;}
  106.  #menu3 {left: 87px; top: 19px; width: 73px; height: 70px;}
  107.  #menu4 {left: 138px; top: 20px; width: 86px; height: 74px;}
  108.  #menu5 {left: 200px; top: 20px; width: 103px; height: 83px;}
  109.  #menu1 a {height: 65px;}
  110.  #menu2 a {height: 68px;}
  111.  #menu3 a {height: 70px;}
  112.  #menu4 a {height: 74px;}
  113.  #menu5 a {height: 83px;}
  114.  #menu1 a:hover {background: url(menu.jpg) -9px -618px no-repeat;}
  115.  #menu2 a:hover {background: url(menu.jpg) -45px -470px no-repeat;}
  116.  #menu3 a:hover {background: url(menu.jpg) -87px -323px no-repeat;}
  117.  #menu4 a:hover {background: url(menu.jpg) -138px -172px no-repeat;}
  118.  #menu5 a:hover {background: url(menu.jpg) -200px -20px no-repeat;}
  119.  h1 { font-family: arial, sans-serif ; font-size: 12pt ; font-weight: bold ; font-style: italic ; line-height: 7pt ; text-align: center;}
  120.  h2 { font-family: arial, sans-serif ; font-size: 15pt ; font-weight: bold ; line-height: 7pt ; }
  121. </style>
  122. </head>
  123. <body>
  124. <div id="corps">
  125.  <div class="banniere"></div>
  126.  <div class="contenu1">
  127.   <div class="gauche"></div>
  128.   <div class="milieuh">
  129.    <h1>En construction</h1>
  130.   </div>
  131.  </div>
  132.  <div class="contenu2">
  133.   <div class="gaucheb1"></div>
  134.   <div class="gaucheb2"></div>
  135.   <div class="milieub"></div>
  136.  </div>
  137.  <div class="contenu3">
  138.   <div class="basgauche"></div>
  139.    <div class="men">
  140.     <ul id="menu">
  141.      <li id="menu1" height="152"><a href=""></a><li>
  142.      <li id="menu2" height="152"><a href=""></a><li>
  143.      <li id="menu3" height="152"><a href=""></a><li>
  144.      <li id="menu4" height="152"><a href=""></a><li>
  145.      <li id="menu5" height="152"><a href=""></a><li>
  146.     </ul>
  147.    </div>
  148.   <div class="basdroite"></div>
  149.  </div>
  150. </div>
  151. </body>
  152. </html>


Message édité par nasty44 le 21-03-2008 à 12:08:29

---------------
http://nasty3d.free.fr [site en REconstruction]    ## Electronicien/Infographiste/Gratteux ##
Reply

Marsh Posté le 22-03-2008 à 13:22:25    

Pourquoi tu mets un <div> pour englober ton <ul> ?
Pourquoi ya de la présentation dans le html (height="152" ) ?
C'est vraiment obligé les <li>s en position:absolute ?
Sinon ya beaucoup de redondance dans le css ; je vais t'apprendre l'existence de la virgule par ex (".contenu1, .contenu2, .contenu3 {}" )

 

C'estc e que j'en dis :o


Message édité par theredled le 22-03-2008 à 13:24:42

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 23-03-2008 à 22:09:25    

Ca va rentrer, ca va rentrer...


Message édité par nasty44 le 23-03-2008 à 22:09:48

---------------
http://nasty3d.free.fr [site en REconstruction]    ## Electronicien/Infographiste/Gratteux ##
Reply

Sujets relatifs:

Leave a Replay

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