28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous.

Tout d'abord sachez que je débute dans le web design. Aussi, veuillez m'excuser si mon probleme vous parrait dérisoire.

Je me trouve en face d'un probleme de placement de boutons sur ma page web.
les boutons en eux meme fonctionnent (roll-over, liens etc.) Mais leur positionnement vis-à-vis des autres éléments du siten'est pas bon et me pose un sèrieu problème Smiley confus

Voici dans un premier temps le xhtml :

          <div id="banner">
           
       </div>
	   <div id="desk">

			</div>
		<div id="bbh">
		  	       <li class="abm"><a href="about.htm"></li></td>  
	</div>


Ensuite le bout de css qui va avec :

#banner
{    
   Width: 1024px;
   Height: 212px;
   margin: no-margin;
   background-image: url("images/banner.jpg");
   background-repeat: no-repeat;
 }
 
 #desk
 {
   float: left;
   Width: 514px;
   Height: 43px;
   background-image: url("images/buttons_desk.jpg");
   background-repeat: no-repeat;
}

/*table
{
   float: left;
   width: 261px;
   height: 43px;
   margin-left: 514px;
   border: 0px;
   list-style: none;
   border-collapse: collapse;
}

td
{
   border: none;
}*/

#bbh
{
   float: left;
   margin-top: 0px;
   margin-left: 514px;
   width: 261px;
   padding: 0px 0px 0px 0px;
}
 
#bbh li
{
   float: left;
   margin-top: none;
   list-style: none;
   margin: 0px;
   
}

.abm
{
   background-image: url("images/abm_hover.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
}

.abm a
{
   background-image: url("images/abm_stand.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
   display: block;
}

.abm a:hover
{
   background: none;
}


et enfin un screen du résultat (vous comprendrez de suite où est l'erreur) :
http://img341.imageshack.us/img341/8641/excss.jpg

Comme vous avez du le constater, j'ai aussi essayé avec un tableau, sous le div#desk. Le résultat était un peu mieux sous IE, mais toujours 1 px en top et une trentaine en left. Quant à FF, cela n'a rien changé pour lui.

D'avance merci pour votre aide Smiley biggrin

à bientot.
Modifié par ptitvincent (30 Nov 2009 - 16:08)
Hello ptitvincent et bienvenue, Smiley smile

euh... une petite question pour commencer : sais-tu qu'il existe des règles d'écriture du code (x)html ?

Le code suivant est tout simplement incohérent :
<div id="bbh"> 
      <li class="abm"><a href="about.htm"></li></td>   
</div>
* où est la fin du lien (<a href="...">un lien</a>)
* d'où sort ce </td> ?
* où est passé l'élément UL qui est (avec OL) le seul élément parent autorisé pour les LI ?

Voir d'urgence http://giminik.developpez.com/xhtml/index.php Smiley murf
Modifié par Heyoan (30 Nov 2009 - 16:31)
Erf méaculpa Smiley eek
Ce sont des résidus d'essais que j'avais fait.. (sans succes Smiley bawling )

Je remet le code propre ici :

          <div id="banner">
           
       </div>
	   <div id="desk">

			</div>
		<div id="bbh">
		  	       <span class="abm"><a href="about.htm"></a></span>
	</div>


Css

#bbh
{
   float: left;
   margin-top: 0px;
   margin-left: 514px;
   width: 261px;
   padding: 0px 0px 0px 0px;
}
 
#bbh span
{
   float: left;
   margin-top: none;
   list-style: none;
   margin: 0px;
   
}

.abm
{
   background-image: url("images/abm_hover.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
}

.abm a
{
   background-image: url("images/abm_stand.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
   display: block;
}

.abm a:hover
{
   background: none;
}
Quelques rappels essentiels : Smiley cligne

* le css doit être considéré comme facultatif : il peut être désactivé et plus généralement tout le monde n'utilise pas un navigateur graphique (lecteurs d'écrans, moteurs de recherche...)

* il en est de même pour les images (d'où l'utilité de l'attribut alt).

* en conséquence le contenu doit se trouver dans le code html et ce en respectant la sémantique.


En l'état ton code ne contient aucun contenu (même le lien est vide) et il faut donc commencer par régler cela.
oui bien sur ^^
mais dans un premier temps je m'occupe du design en lui meme. Et je dois avouer que de buter sur ce boutons m'enerve et je suis du genre à insister quand un truc me résiste Smiley sweatdrop

Vous ne savez donc pas pourquoi mon bouton ne veut pas se mettre à la suite de ma ligne ? Smiley biggrin
ptitvincent a écrit :
oui bien sur ^^
mais dans un premier temps je m'occupe du design en lui meme.
Oui bien sûr... mais moi je m'évertue à te dire que c'est l'inverse qu'il faut faire. Smiley langue

Encore un pitit rappel : Alsacréations est dédié aux standards du web et à l'accessibilité. Smiley cligne


Edit: pour préciser encore un peu : c'est seulement lorsque ton document html sera structuré que tu pourras te servir des éléments existants pour porter tes images en background css.
Modifié par Heyoan (01 Dec 2009 - 10:19)
Re Bonjour ptitvincent
En fait je regardes de plus prés ce que tu cherche, ce n'est pas génial comme code, mais testes cela

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>||| Vincent Bruneau ||| Advert designer |||</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
</head>
<body>
<div id="banner">
</div>
<div id="desk">
<span class="abm"><a href="about.htm"></a></span>
</div>
</body>
</html>


Donc pas de liens dans ton cas

body
{
   width: 1024px;
   margin: auto; 
   background-color: #926dac;
}

a img
{
   border: none;
}
   
#banner
{    
   Width: 1024px;
   Height: 212px;
   margin: no-margin;
   background-image: url("images/banner.jpg");
   background-repeat: no-repeat;
}
 
#desk
{
   float: left;
   Width: 514px;
   Height: 43px;
   background-image: url("images/buttons_desk.jpg");
   background-repeat: no-repeat;
}

 
.abm
{
   margin-left: 510px;
   background-image: url("images/abm_hover.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
}

.abm a
{
   margin-left: 510px;
   background-image: url("images/abm_stand.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
   display: block;
}

.abm a:hover
{
   margin-left: 510px;
   background: none;
}



Modifié par Christele (01 Dec 2009 - 17:23)
Le design s'adapte au contenu et pas l'inverse Smiley cligne

Un conseil commence à remplir ta page, ca te feras gagner du temps sur le design
Merci beaucoup Christele ca a l'air de fonctionner.
Cependant comme on me le conseil je commence par les html pour la suite je verais.

Je me permet de vous poster ma page about me afin que vous me disiez (si ca ne vous dérange pas) si vous voyez de graves fautes de code (qui me rendraient la tache difficile une fois devant mon css) ou si ca vous parrait correct.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>||| Vincent Bruneau ||| Advertising designer |||</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <!--<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />-->
   </head>
   <!---------------------Banner--------------->
   
   <body bgcolor="#926dac" topmargin="0">
          <div id="banner">
           <img src="images/banner.jpg" alt="Vincent Bruneau || Advertising designer" align=top>
       </div>
	   <div id="desk">
              <img src="images/buttons_desk.jpg" align=top>
			</div>
			
	<!------------------------------------------>
	<!--------------------Links----------------->
	
		<div id="bbh">
		  	       <a href="about.htm" class="abm">about me</a>
				   <a href="portfolio.htm" class="pfol">portfolio</a>
				   <a href="contact.htm" class="contact">contact</a>
	</div>
	
	<!------------------------------------------>
	<!-------------------contenu---------------->
	     
		 <div id="corp">
		 <font face="arial" color=white size=2><h3>Bienvenue sur mon portfolio</h3><p align="justify">
<br>
Mon nom est Vincent Bruneau je suis graphiste publicitaire et je suis ravi de vous accueillir sur mon "personal portfolio".<br/><br/>
Après l'obtention d'un <i>bac professionnel communication graphique</i>, je me suis lancé
dans l'entrepreneuriat avec quelques amis ingénieurs. Notre projet s'articulait autour du marché
de l'électronique grand public, avec comme figure de proue un cadre communiquant, proposant aux utilisateurs
une interface tactile ouverte sur le web.<br/>
Au sein de ce projet, j'ai été en charge de l'identité de la marque et du produit. Création de chartes graphiques
(logos, elemet graphiques, polices d'écritures, etc.), conception et création d'une interface graphique, conception
de la vue artistique du design produit, création de packaging, réalisation de clip publicitaire, et bien d'autres
expériences qui sont venues enrichir mes connaissances professionnelles et mes compétences de travail au sein d'une équipe.<br/><br/>
Je vous invite à visiter mon book en cliquant sur le bouton <a href="portfolio.htm">"portfolio"</a> et vous souhaite une agréable visite.</font></p>
		 </div>
	<!------------------------------------------->
	<!------------------Footer------------------->
	
	     <div id="footer">
		       <p class="copyright"><font face="arial" color=white size=1>©2009 Vincent Bruneau<br/><br/><br/><br/>Suivez vincent bruneau sur :</p>
			   
		 </div>
		            
		 
   </body>
</html>


Edit : voici donc ce que cela donne avec la méthode de Christele (merci ^^),
donc en mettant mes boutons dans le div "desk"

htm :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>||| Vincent Bruneau ||| Advertising designer |||</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	   <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
   </head>
   <!---------------------Banner--------------->
   
   <body bgcolor="#926dac" topmargin="0">
          <div id="banner">
           <img src="images/banner.jpg" alt="Vincent Bruneau || Advertising designer" align=top>
       </div>
			
	<!------------------------------------------>
	<!--------------------Links----------------->
	
	   <div id="desk">
		  	       <span class="abm"><a href="about.htm"></a></span>
				   <span class="pfol"><a href="portfolio.htm"></a></span>
				   <span class="contact"><a href="contact.htm"></a></span>
	</div>
	
	<!------------------------------------------>
	<!-------------------contenu---------------->
	     
		 <div id="corp">
		 <font face="arial" color=white size=2><h3>Bienvenue sur mon portfolio</h3><p align="justify">
<br>
Mon nom est Vincent Bruneau je suis graphiste publicitaire et je suis ravi de vous accueillir sur mon "personal portfolio".<br/><br/>
Après l'obtention d'un <i>bac professionnel communication graphique</i>, je me suis lancé
dans l'entrepreneuriat avec quelques amis ingénieurs. Notre projet s'articulait autour du marché
de l'électronique grand public, avec comme figure de proue un cadre communiquant, proposant aux utilisateurs
une interface tactile ouverte sur le web.<br/>
Au sein de ce projet, j'ai été en charge de l'identité de la marque et du produit. Création de chartes graphiques
(logos, elemet graphiques, polices d'écritures, etc.), conception et création d'une interface graphique, conception
de la vue artistique du design produit, création de packaging, réalisation de clip publicitaire, et bien d'autres
expériences qui sont venues enrichir mes connaissances professionnelles et mes compétences de travail au sein d'une équipe.<br/><br/>
Je vous invite à visiter mon book en cliquant sur le bouton <a href="portfolio.htm">"portfolio"</a> et vous souhaite une agréable visite.</font></p>
		 </div>
	<!------------------------------------------->
	<!------------------Footer------------------->
	
	     <div id="footer">
		       <p class="copyright"><font face="arial" color=white size=1>©2009 Vincent Bruneau<br/><br/><br/><br/>Suivez vincent bruneau sur :</p>
			   
		 </div>
		 <div id="logo">
              <a href="#"><img span="in" src="images/in.png"></a>
			  <a href="#"><img span="da" src="images/da.png"></a>
			  <a href="#"><img span="go" src="images/go.png"></a>
			  </div>
		 
   </body>
</html>


et le css
body
{
   width: 1024px;
   margin: auto;
}

a img
{
   border: none;
}

/*         -----------------------------------    */   
/*         ---------------BANNER -------------    */   
/*         -----------------------------------    */
   
#banner
{    
   Width: 1024px;
   Height: 212px;
   margin: no-margin;
   background-repeat: no-repeat;
 }
 
 /*         -----------------------------------          */ 
 /*         ------------- BUTTONS ---------------        */
 /*         -----------------------------------          */ 
 
 #desk
 {
   float: left;
   Width: 514px;
   Height: 43px;
   background-image: url("images/buttons_desk.jpg");
   background-repeat: no-repeat;
}


.abm
{
   margin-left: 514px;
   background-image: url("images/abm_hover.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
}

.abm a
{
   margin-left: 514px;
   background-image: url("images/abm_stand.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
   display: block;
}

.abm a:hover
{
   margin-left: 514px;
   background: none;
}

.pfol
{
   margin-left: 601px;
   background-image: url("images/pfol_hover.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
}

.pfol a
{
   margin-left: 601px;
   background-image: url("images/pfol_stand.gif");
   background-repeat: no-repeat;
   width: 87px;
   height: 43px;
   display: block;
}

.pfol a:hover
{
   margin-left: 601px;
   background: none;
}

/*         -----------------------------------    */ 
/*   -------------------- BODY -------------------  */
/*         -----------------------------------    */ 

#corp
{
    width: 862px;
	height: 500px;
    background-image: url("images/body.jpg");
	background-repeat: repeat-y;
}

h3
{
   margin-left: 200px;
   margin-top: 60px;
}

p
{
   margin-left: 200px;
   margin-right: 40px;
}

p a
{
   color: white;
}


Voila donc ou j'en suis. Mais 2 nouveaux probleme se présentent devant moi Smiley smile

1 - comment faire pour mettre en texte brute (genre "alt") le contenue de mes boutons ?
2 - pourquoi le bouton contenu dans ma class "pfol" ne s'affiche pas du tout sur mon appercu ?

Voila d'avance merci et bonne soirée à tous Smiley ravi
Modifié par ptitvincent (02 Dec 2009 - 18:45)
Bonjour, je n'avais pas remarquée, mais ton margin left ne doit étre que sur le premier menu, d'autre part il faut un float left comme indiqué sur la page CSS remaniée

body
{
   width: 1024px;
   margin: auto;
}

a img
{
   border: none;
}
#banner
{    
   Width: 1024px;
   Height: 212px;
   margin: no-margin;
   background-repeat: no-repeat;
 }
 #desk
 {
   float: left;
   Width: 777px;
   Height: 44px;
   background-image: url("images/buttons_desk.jpg");
   background-repeat: no-repeat;
}

.abm
{
   float: left;
   width: 87px;
   height: 43px;
   margin-left: 514px; 
   background-image: url("images/abm_hover.gif");
   background-repeat: no-repeat;
   display: block;
}

.abm a
{
   width: 87px;
   height: 43px;
   background-image: url("images/abm_stand.gif");
   background-repeat: no-repeat;
   display: block;
}

.abm a:hover
{
   width: 87px;
   height: 43px;
   background: none;
   display: block;
}
.pfol
{
   float: left;
   width: 87px;
   height: 43px;
   background-image: url("images/pfol_hover.gif");
   background-repeat: no-repeat;
   display: block;
}

.pfol a
{
   width: 87px;
   height: 43px;
   background-image: url("images/pfol_stand.gif");
   background-repeat: no-repeat;
   display: block;
}

.pfol a:hover
{
   width: 87px;
   height: 43px;
   background: none;
   display: block;
}

.contact
{
   float: left;
   width: 87px;
   height: 43px;
   background-image: url("images/contact_hover.gif");
   background-repeat: no-repeat;
   display: block;
}

.contact a
{
   width: 87px;
   height: 43px;
   background-image: url("images/contact_stand.gif");
   background-repeat: no-repeat;
   display: block;
}

.contact a:hover
{
   width: 87px;
   height: 43px;
   background: none;
   display: block;
}
  
/*         -----------------------------------    */ 
/*   -------------------- BODY -------------------  */
/*         -----------------------------------    */ 

#corp
{
    width: 862px;
    height: 500px;
    background-image: url("images/body.jpg");
    background-repeat: repeat-y;
}

h3
{
   margin-left: 200px;
   margin-top: 60px;
}

p
{
   margin-left: 200px;
   margin-right: 40px;
}

p a
{
   color: white;
}



merci beaucoup pour cette solution ^^ en effet, je pense que ca m'aurait sauté aux yeux si j'avais eu ton niveau Christele Smiley ravi
et comme tu me l'a conseillé par message privé, j'ai mis des alt sur toutes mes images pour mieux correspondre à la sémantique ^^

encore merci Smiley biggrin
Modifié par ptitvincent (03 Dec 2009 - 13:25)