28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je voudrais mapper des zones sur le fond d'écran de ma page mais je n'arrive pas à résoudre mon problème qui est le suivant : aucune zone défini n'est considérer comme un lien.

Ma feuille css :
html,body {
	margin : 0;
	padding : 0;
}
body {
	background-image: url("../img/font01.jpg");
	background-color: #56595C;
	background-repeat: no-repeat;
	background-position:center top;
}
a {
	color: #3D2D1F;
	font-weight: bold;
	}
a:hover {
	color: #151515;
	text-decoration:none;
	}
#global {
	margin-top: 25px;
	margin-left: auto;
	margin-right: auto;
	width: 988px;
}
#content {
	background-image: url("../img/bg_001.jpg");	
	background-repeat: no-repeat;	
	height: 710px;
	padding-left: 0px;
	padding-top: 0px;
}
#center {
	padding-left: 290px;
	padding-top: 220px;
	width: 620px;
	height: 280px;
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	font-size: 0.75em;
	color: #212424;
	position: absolute;	
}
#left {
	padding-left: 30px;
	padding-top: 000px;
	width: 200px;
	height: 650px;
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	font-size: 0.75em;
	color: #212424;
	position: absolute;	
}
#menu {
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	color: #212424;
	position: absolute;	
}
#statistiques {
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	color: #FFFFFF;
	position:absolute;
	margin-left: 0px;
	margin-top: 500px;	
}
.lien01 {
float:center;
width : 160px;
height: 55px;
margin-left: 20px;
margin-top: 160px;
position:absolute;
}
.lien02 {
float:center;
width : 162px;
height: 46px;
margin-left: 20px;
margin-top: 260px;
position:absolute;
/*border: 1px dotted white;*/
}
.lien03 {
float: center; /* permet de donner une dimension à la balise a qui est une balise en ligne */
width : 162px;
height: 46px;
margin-left: 20px;
margin-top: 310px;
position:absolute;
/*border: 1px dotted white;*/
}
.lien04 {
float: center; /* permet de donner une dimension à la balise a qui est une balise en ligne */
width : 162px;
height: 46px;
margin-left: 20px;
margin-top: 360px;
position:absolute;
/*border: 1px dotted white;*/
}
.lien05 {
float: center; /* permet de donner une dimension à la balise a qui est une balise en ligne */
width : 162px;
height: 46px;
margin-left: 20px;
margin-top: 410px;
position:absolute;
/*border: 1px dotted white;*/
}
#bas {
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	font-size: 0.75em;
	color: #151515;
	height: 20px;
	text-align:center;
}


Voici ma feuille html :
<body>
<div id="global">
  <div id="content">
    	<div id="left">
        <a class="lien01" href="register.php" title="Jouez Maintenant"></a>
        <a class="lien02" href="index.php" name="Page de démarrage"></a>
        <a class="lien03" href="#" name="A propos"></a>
        <a class="lien04" href="register.php" name="S inscrire"></a>
        <a class="lien05" href="#" target="_blank" name="Forum"></a>
	<div id="statistiques"><b>
                <h4>Statistiques</h4>
                <ul>
                    <li> Inscrits : </li>
                    <li> En ligne : </li>
                </ul></b>
		  	</div>
		</div>
		<div id="center">
			<h3>&bull; Bienvenue sur ****</h3>
			*** est un jeu de rôle massivement online en construction.<br /> L'idée de faire ce jeu est né en l'an 2000.
			<h3>&bull; Identification</h3>
			<form action="index.php" method="post">
			<b>Nom du joueur : </b><input name="login" type="text" size="14"/>  <b>Mot de passe : </b><input name="password" size="14" type="password" /> <input name="valider_log" type="submit" value="Ok"/><br /> 
             <b>&raquo;</b> <a href="register.php?mode=mdplost">Vous avez oublié votre mot de passe?</a>
			</form>
		</div>
  </div> 
	<div id="bas">
		&copy; 2008 - *** - Tous droits r&eacute;serv&eacute;s</p>
	</div>
</div>
</body>


Merci d'avance pour votre aide.
Modifié par Shamanlinks (21 Feb 2008 - 08:44)
Bonjour,

Si on veut faire les choses bien, on ne fait pas des liens ainsi. Soit on utilise une image map (avec attribut alt correctement renseigné pour chaque élément area), soit on fait des liens dont le contenu est une image (une image par lien).

Par curiosité, à quoi est-ce que ça doit ressembler au final?
Shamanlinks a écrit :
Le résultat doit etre le suivant : Page d'index
Mon mapping est callé sur l'image de font et je suis parti de ce tutorial pour le faire : Tutoriaux de départ


Si je comprends bien je dois procéder à tout un découpage du fond d'écran?


Je me suis trompé entre éditer et citer. OUPS!!! Smiley rolleyes Smiley edit Modifié par Shamanlinks (19 Feb 2008 - 00:30)
Bonjour,

Le tutoriel que tu as lu dit:
a écrit :
Il est possible d'utiliser le CSS pour rendre une image réactive (mapping).

Ce qui est tout à fait vrai. Mais le fait que ça soit possible ne signifie pas que ça soit souhaitable!

Donc on fera ceci:
- une image de fond sur laquelle les boutons n'apparaissent pas;
- un titre h1 contenant une image avec le texte alternatif qui va bien;
- un paragraphe contenant le lien vers la version beta, et dedans une image avec texte alternatif qui va bien;
- même chose pour le lien «Jouez Maintenant»;
- une liste non ordonnée pour le menu de navigation (quatre liens), avec toujours des images avec texte alternatif qui va bien dans les liens.

Les éventuels effets de rollover sur les boutons se feront très simplement en Javascript.
Salut,
Shamanlinks a écrit :
Merci j'essaierai ça ce soir.
Mais l'effet de rollover ne peut on pas le faire tout simplement avec les feuilles css?

On peut modifier l'image de fond au survol avec les feuilles de style, mais pas les images en dur dans le code. Et dans ton cas, les images doivent se trouver dans le code HTML, car elles contiennent une information (information accessible à tous grâce à l'attribut "alt" de la balise <img>).
+1+1 Smiley smile

Et si je puis me permettre :
float:center
N'existe pas (la position absolute associée est assez étrange également)
Bref, il faudra que tu relises le tutoriel dont tu t'es inspiré (En l'adaptant si besoin, mais sans réinventer les propriétés Smiley cligne )

Un petit lien pour le positionnement css :
2. position float

Tu pourras d'ailleurs parcourir l'ensemble de l'oeuvre d'Openweb :
http://openweb.eu.org/css/

Bonne continuation Smiley cligne
Bon la je comprends pas pourquoi cela ne marche pas.
mon lien est une image :

<body>
<div id="global">
	<div id="bouton01">
		<a href="register.php" title="Jouez Maintenant" ><img src="img/bouton_06.jpg" alt="Jouez Maintenant" width="217" height="53" border="0" /></a>
	</div>            
            <!--<a class="lien02" href="index.php" name="Page de démarrage"><img src="img/spacer.gif" alt="Page de démarrage" width="162" height="46" border="0"/></a>
            <a class="lien03" href="#" name="A propos"><img src="img/spacer.gif" alt="A propos" width="162" height="46" border="0"/></a>
            <a class="lien04" href="register.php" name="S inscrire"><img src="img/spacer.gif" alt="S'inscrire" width="162" height="46" border="0"/></a>
            <a class="lien05" href="#" target="_blank" name="Forum"><img src="img/spacer.gif" alt="Forum" width="162" height="46" border="0"/></a>-->
    <div id="statistiques"><b>
        <h4>Statistiques</h4>
        <ul>
            <li> Inscrits : </li>
            <li> En ligne : </li>
        </ul></b>
    </div>
	<div id="center">
        <h3>&bull; Bienvenue sur Age Of Fantasy</h3>
        Age Of Fantasy est un jeu de rôle massivement online en construction.<br /> L'idée de faire ce jeu est né en l'an 2000.
        <h3>&bull; Identification</h3>
        <form action="index.php" method="post">
        <b>Nom du joueur : </b><input name="login" type="text" size="14"/>  <b>Mot de passe : </b><input name="password" size="14" type="password" /> <input name="valider_log" type="submit" value="Ok"/><br /> 
         <b>&raquo;</b> <a href="register.php?mode=mdplost">Vous avez oublié votre mot de passe?</a>
        </form>
    </div>
</div>
</body>


et la css y faisant référence pour la position de mon bouton :

html,body {
	margin : 0;
	padding : 0;
}
body {
	background-image: url("../img/font01.jpg");
	background-color: #56595C;
	background-repeat: no-repeat;
	background-position:center top;
}
a {
	color: #3D2D1F;
	font-weight: bold;
	}
a:hover {
	color: #151515;
	text-decoration:none;
	}
#global {
	margin-top: 25px;
	margin-left: auto;
	margin-right: auto;
	width: 988px;
	background-image: url("../img/bg_001.jpg");	
	background-repeat: no-repeat;	
	height: 710px;
}
#center {
	padding-left: 290px;
	padding-top: 220px;
	width: 620px;
	height: 280px;
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	font-size: 0.75em;
	color: #212424;
	position: absolute;	
}
#left {
	padding-left: 0px;
	padding-top: 0px;
	width: 250px;
	height: 650px;
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	font-size: 0.75em;
	color: #212424;
	position: absolute;	
}
#statistiques {
	font-family: Trebuchet MS, Arial, Verdana, sans-serif;
	color: #CCCCCC;
	position:absolute;
	margin-left: 0px;
	margin-top: 500px;	
}
#bouton01 {
	margin-left: 23px;
	margin-top: 166px;
	width : 217px;
	height: 53px;
	position:absolute;
}


Merci d'avance pour votre aide
Modifié par Shamanlinks (20 Feb 2008 - 23:42)
Le problème viendrai d'ici :
#bouton01 {
	margin-left: 23px;
	margin-top: 166px;
	width : 217px;
	height: 53px;
	position:absolute;
}

Si j'enlève "width", "height" et position cela fonctionne mais le fait d'enlever position et surtout absolute ma mise ne page n'est plus correct

A noter que ça marche sous IE mais pas sous firefox ou sur opéra
Modifié par Shamanlinks (21 Feb 2008 - 00:26)
Est-ce qu'il serait possible de voir ça avec une page en ligne? Parce qu'avec le code mais sans les images, ça risque d'être dur de visualiser ça. Smiley cligne
Florent V. a écrit :
Est-ce qu'il serait possible de voir ça avec une page en ligne? Parce qu'avec le code mais sans les images, ça risque d'être dur de visualiser ça. Smiley cligne

Ce n'est pas le lien cité plus haut ? http://www.11monkeys.com/aof/

Smiley cligne
Je viens de résoudre mon soucis avec mes boutons images.
Il fallait que je rajoute dans ma CSS pour chaque bloc en position:absolute le champ z-index.

Merci pour votre aide. Smiley biggrin

Je mets donc le sujet en résolu Smiley cligne
Modérateur
Bonjour,

bien que le sujet soit en résolu , je souhaite apporté une petite contradiction.
Florent V. a écrit :

Les éventuels effets de rollover sur les boutons se feront très simplement en Javascript.


J'ai remarqué que tu avais mis en ligne une page interessantes a propos de la valeur 'propriétaire' : -moz-inline-stack en alternative possible au display:inline-block pour Firefox.
http://web.covertprestige.info/test/41-moz-inline-stack-bugs.html

basiquement et en théorie, l'idée d'un display:inline-block sur <a> et un deplacement en relatif de l'image contenu au passage de la souris , peut laisser entrevoir une seconde image mise en fond a <a> , plus besoin de controler précisement le positionnement et modifier comportement dans le flux de façon 'radicale'.

Voici une page test avec une tentative d'explication sur un roll over effectué avec un lien et son image de fond et l'image en dur.

http://gcyrillus.free.fr/essai/roll-over-tag-img-a.html

Dans cette page ,il n'y a aucun lien vers differentes ressources qui se pourrait etre complémentaire , tant sur les regles css , les menus de demo d'alsacréations evoqué ... il faudra se retourné sur la recherche sur le forum ou sur votre moteur de recherche préferé pour des infos complémentaires.

Pour l'evocation du bug lié a -moz-inline-stack et le niveau d'affichage de l'element concérné , une piste sur le forum ou j'evoque l'empilement a l'affichage des elements d'une page html selon les navigateurs :
http://forum.alsacreations.com/topic-4-32676-1-Existe-t-il-un-contraire-a-quothoverquot-.html

Tout cela est peut-etre confus , enfin , mon vocabulaire n'est pas trés technique , un amateur s'y retrouvera , un professionnel saura aussi y replacer son jargon 'académique' Smiley smile .

GC