Pages :
Modérateur
(reprise du message précédent)

euh... ben je veux bien chercher mais bon, je ne sais pas si tu as vu mais si tu redimensionnes la fenêtre et que tu fais disparaître puis réapparaître la popup, elle est bien placée, que ce soit Fx ou IE... Smiley cligne Ce que tu demandes, çà a vraiment peu de chance d'arriver et je suis pas sûr que ce soit vraiment d'une grande utilité en fait... Smiley rolleyes
Bonjour,

Juste une remarque en passant: l'image d'agrandissement (celle qui est gérée en pseudo-popup) pourrait facilement être intégrée au contenu de manière cohérente et logique, pour produire un résultat nettement plus satisfaisant sans CSS. Par exemple, à la suite de l'image originale.

Dans le même ordre d'idée, la vignette et les liens "agrandir", qui n'ont de sens que pour le visiteur ayant javascript (activé), pourraient aisément être générés via javascript, pour n'apparaître que lorsqu'ils ont un sens.

Ces améliorations sont loin d'être des détails Smiley cligne
Bonjour,

Et merci encore à koala.

Laurent, là j'avoue que cela dépasse de loin mes petites connaissances Smiley confused

Je sens que je vais abuser, mais comment ferais-tu exactement ?

Thanks
pour l'image agrandie : enlever le lien vers la CSS et afficher dans n'importe quel navigateru graphique, ou mieux: afficher le site dans un navigateur texte (Lynx). Déplacer le code HTML de cette image et adapter le contenu textuel jusqu'à obtenir un résultat "normalement" compréhensible dans ce contexte.

Pour le lien à générer en javascript: voir les méthodes simples très bien expliquées par Gilles dans son cours DOM (partie "Ajout de contenu") : en ayant juste un élément doté d'une id dans le document, on peut générer via javascript tout le code HTML du lien et de ses conteneurs éventuels pour le placer comme on le souhaite.
Modérateur
Salut,

Me revoilà. Smiley smile

Voici les codes... Comme tu vas le voir, çà a changé un peu mais le comportement s'en retrouve amélioré... Smiley cligne

>>> Le positionnement de la popup ne pêche plus lorsque tu redimensionnes la fenêtre.

>>> Le script est devenu autonome (plus de popup dans la partie html) et réutilisable sur d'autres pages. J'ai ajouté des commentaires sur les variables que tu peux changer dans cette optique.

XHTML

<!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" lang="fr">

<head>
	<title>Une popup accessible</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
	<link rel="stylesheet" type="text/css" href="fiche-produit3.css" />
	<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
	<script type="text/javascript" src="popup3.js"></script>
</head>

<body>
	<div id="page">
		<div id="header">
			<a href="index.htm" id="Logo">
				<img src="images/Logo.gif" alt="Logo Princesse d'un Jour" width="274" height="58" title="Aller à l'accueil" />
			</a>
			<h1><img src="images/h1.gif" alt="Bijoux et accessoires pour le mariage" /></h1>
			<p id="langue">Langue</p>
			<ul id="menu_langue">
				<li><a id="english" title="English version" href="http://www.english.princessedunjour.com">EN</a></li>
				<li><a id="français" title="version française" href="index.htm">FR</a></li>
			</ul>
		</div>

		<div id="haut">
			<ul id="menuhaut">
				<li><a id="menu1" title="Aller à l'accueil" href="index.htm">ACCUEIL</a></li>
				<li><a id="menu2" title="Nos collections de bijoux pour le mariage" href="collections-page1.htm">COLLECTIONS</a></li>
				<li><a id="menu3" title="Trouver un point de vente" href="points-de-vente.htm">POINTS DE VENTE</a></li>
				<li><a id="menu4" title="Nos secrets de fabrication" href="atelier-de-creation.htm">ATELIER DE CREATION</a></li>
				<li><a id="menu5" title="Tout savoir sur Princesse d'un Jour" href="a-propos.htm">A PROPOS</a></li>
				<li><a id="menu6" title="Contacter la créatrice" href="contact.htm">CONTACT</a></li>
			</ul>
		</div>

		<div id="gauche">
			<ul id="menugauche">
				<li><a id="menua" title="Découvrir toute la collection" href="collections-page1.htm">TOUTE LA COLLECTION</a></li>
				<li><a id="menub" title="Les modèles en perles de rocaille" href="perles-de-rocaille.htm">PERLES DE ROCAILLE</a></li>
				<li><a id="menuc" title="Les modèles en perles nacrées" href="perles-nacrees.htm">PERLES NACREES</a></li>
				<li><a id="menud" title="Les modèles en cristal Swarovski" href="cristal-swarovski.htm">CRISTAL SWAROVSKI</a></li>
				<li><a id="menue" title="Les modèles en fleurs de soie" href="fleurs-de-soie.htm">FLEURS DE SOIE</a></li>
				<li><a id="menuf" title="Les modèles en guipure brodée" href="guipure-brodee.htm">GUIPURE BRODEE</a></li>
			</ul>
		</div>

		<div id="centre">
			<div id="zone_haut">
				<p class="breadcrumb">
					Vous êtes ici: <a href="index.htm">Accueil</a>    |<a id="coll" href="collections-page1.htm">Collection</a>    |<a id="page1" href="collections-page1.htm">Page 1</a>    |<a id="modele" href="parure-camelia.htm">Parure Camélia</a>
				</p>

				<div id="acces_pages">
					<a href="parure-estella.htm">Modèle suivant</a> >
				</div>

				<div id="produit1">
					<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225" />
				</div>

				<div id="descriptif">
					<h2>Camélia</h2>
					<h3>"Toute la finesse et la délicatesse de la fleur de Camélia"</h3>
					<p id="composition">- Composition: Perles de rocaille à facettes et perles de verre nacrées. Fermoirs et anneaux en argent massif 925</p>
					<p id="coloris">- Coloris: crème</p>
					<p id="autres_coloris">- Coloris également disponibles: blanc ou autres coloris sur mesure</p>
					<p id="tarifs">- Tarifs: contactez nos boutiques partenaires>> </p>
					<p id="compo">- Parure composée de: Collier | Bracelet | Pics à cheveux | Boucles d'oreilles</p>
				</div>

				<div id="acces_pagesbas">
					<a href="parure-estella.htm">Modèle suivant</a> >
				</div>

			</div>

		</div>

		<div id="pied">
			<p id="mentions">
				Copyright © 2006 Princesse d'un Jour. Tous droits réservés. Princesse d'un Jour® est une marque déposée.
			</p>
			<p id="partenaires">
				Sites partenaires : <a href="http://www.noces-provencales.com">Organisation de mariage en provence</a> avec Noces-Provencales.com | <a href="http://www.notremariage.net/decouvrir.htm">NotreMariage.net</a>
			</p>
		</div>

	</div>

</body>

</html>


CSS

*{margin:0;padding:0;}

body{background:url(images/background2.gif) repeat-y center top;font:11px/16px Geneva, Arial, Tahoma, sans-serif;margin:0;padding:0;}
img{border-style:none;border-width:0;}
#page{text-align:left;width:743px;background-color:#FFF;border:1px solid #6C3089;margin:5px auto;}

#header{height:67px;}
h1{display:inline;margin-left:15px;}
p#langue{position:absolute;display:inline;color:#666;padding-top:28px;padding-left:40px;}
#menu_langue{position:absolute;display:inline;list-style-type:none;width:40px;padding-top:30px;padding-left:80px;}
#menu_langue li{float:left;}
#menu_langue a{float:left;text-align:center;line-height:12px;color:#666;text-decoration:none;}
#menu_langue a:hover{color:#6C3089;text-decoration:underline;}
#english{width:20px;border-right:1px solid #666;}
#français{padding-left:3px;width:15px;}
#menu_langue a:focus,#menu_langue a:active{text-decoration:underline;color:#999;}

#haut{float:left;width:743px;border-top:1px solid #6C3089;border-bottom:1px solid #6C3089;margin:2px 0 0;}
ul#menuhaut{clear:both;width:100%;letter-spacing:3px;list-style-type:none;font-size:9px;text-align:center;}
#menuhaut li{float:left;}
#menuhaut a{display:block;color:#FFF;text-decoration:none;text-align:center;line-height:20px;}
#menu1{width:90px;background-color:#8E6784;color:#000;}
a#menu2{color:#6C3089;}
#menu2{width:122px;background:#FFF;}
#menu3{width:160px;background:#8E6784;}
#menu4{width:190px;background:#8E6784;}
#menu5{width:90px;background:#8E6784;}
#menu6{width:91px;background:#8E6784;}

#gauche{float:left;width:150px;list-style-type:none;text-decoration:none;line-height:35px;padding-left:5px;margin-top:25px;color:#6C3089;}

#menugauche a{text-decoration:none;color:#666;}
ul#menugauche{list-style-type:none; letter-spacing: 0.5px;font-size:10px;}
li#menugauche{float:left; margin-left:10px;padding-left:0px;}
a#menua{color:#6C3089;font-weight:900;}

#centre{float:left;height:400px;padding-top:5px;width:588px;color:#666;}
#zone_haut{position:relative;}
p.breadcrumb{position:relative;top:5px;font-size:11px;color:#666;width:150px;display:inline;}
p.breadcrumb a{color:#666;text-decoration:none;}
p.breadcrumb a:hover{text-decoration:underline;color:#6C3089;}

a#coll{padding-left: 3px;}
a#page1{padding-left: 3px;}
a#modele{padding-left: 3px;}
a#produit:hover{text-decoration:none;color:#666;}
#acces_pages{position:absolute;top:10px;right:35px;line-height:20px;}
#pages{list-style-type:none;width:100%;line-height:20px;}
#pages li{float:right;}
#pages a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pages a:hover{text-decoration:underline; color:#6C3089;}
a.lastpage{letter-spacing:-1px;padding-left:3px;}
#pages a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pages a.selected:hover{text-decoration:none;}
a.firstpage{letter-spacing:-1px;padding-right:4px;}



#pages a:focus,#pages a:active,p.breadcrumb a:focus,p.breadcrumb a:active{text-decoration:underline;color:#999;}



#produit1{position:relative;display:block;top:15px;width:120px;text-decoration:none;}
#element1{position:absolute; top:290px;left:0px;}
#element2{position:absolute; top:290px;left:150px;}
#element3{position:absolute; top:290px;left:300px;}
#element4{position:absolute; top:290px;left:450px;}
#element5{position:absolute; top:290px;left:600px;}
#descriptif{position:absolute;top:31px;left:200px;}
h2{color:#6C3089;font-weight:bold; font-size: 14px;}
h3{padding-top:10px;font-weight:bold; font-size: 13px;}
p#composition{padding-top:10px;}
p#coloris{padding-top:5px;}
p#autres_coloris{padding-top:5px;}
p#tarifs{padding-top:5px;}
p#compo{padding-top:5px;}

#produit1 a,#element1 a,#element2 a,#element3 a,#element4 a,#element5 a{text-decoration:none;color:#666;display:table-cell;text-align:center;/*display:inline-block;*/}

#produit1 img,#element1 img,#element2 img,#element3 img,#element4 img, #element5 img{display:block;border-style:none;border-width:0;}

#acces_pagesbas{position:absolute;top:400px;right:35px;line-height:20px;}

#pagesbas{list-style-type:none;width:100%;line-height:20px;}

#pagesbas li{float:right;}

#pagesbas a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}

#pagesbas a:hover{text-decoration:underline; color:#6C3089;}

#pagesbas a.selected{font-weight:700;color:#6C3089;text-decoration:none;}

#pagesbas a.selected:hover{text-decoration:none;}



#pied{clear:both;height:30px;text-align:center;padding-bottom:5px;}

#pied a{text-decoration:none;color:#666;}

partenaires a{color:#666;}

p#mentions,p#partenaires{color:#666;font-size:9px;}

#pops{
position: absolute;
top: 30px;
left: 200px;
height: 265px;
width: 180px;
border:1px solid #6C3089;
background-color: white;
}

#pops p{
text-align:center;
}

#pops img{
display: block;
}
.fermer {
padding-top:3px;
margin: 0 0 0 0;
border-top: 1px solid black;
background: white url(images/bottom.gif) left top repeat-x;
color: black;
}


Javascript

function __enhance__()
{
	if( !document.getElementById ||
		!document.createElement ||
		!document.createTextNode ) return false;

	var elem = new pop.__method__;

	return elem.__init__(
		// On repère l'id du conteneur dans lequel on va insérer nos éléments
		'zone_haut',
		// On insère le lien image et la popup avant l'élément possédant l'id suivant :
		'acces_pagesbas',
		// On définit l'id du conteneur qui contient le lien qui génère la popup
		'element1',
		// Source de l'image (lien)
		'images/orchidee-fp-collier.jpg',
		// Largeur réelle de l'image (lien)
		'90',
		// Hauteur réelle de l'image (lien)
		'90',
		// Texte alternatif de l'image (lien)
		'photo',
		// Titre (popup)
		'collier Orchidée',
		// Source de l'image (popup)
		'images/orchidee-fp.jpg',
		// Largeur réelle de l'image (popup)
		'180',
		// Hauteur réelle de l'image (popup)
		'225',
		// Texte alternatif de l'image (popup)
		'La Parure Camélia'
	);
}
window.onload = __enhance__;

var pop =
{
	__method__: function() {}
};

pop.__method__.prototype.__init__ = function(par,id,idRep,srcMimg,widMimg,heiMimg,altMimg,txtH3,srcGimg,widGimg,heiGimg,altGimg)
{
	var d = document,
		oCont = d.getElementById(par),
		oRep = d.getElementById(id),
		oMdiv = d.createElement('div'),
		oA = d.createElement('a'),
		oMimg = d.createElement('img'),
		oSpan = d.createElement('span'),
		oTxtSpan = d.createTextNode('Cliquer pour agrandir'),
		oGdiv = d.createElement('div'),
		oH3 = d.createElement('h3'),
		oTxtH3 = d.createTextNode(txtH3),
		oGimg = d.createElement('img'),
		oP = d.createElement('p'),
		oTxtP = d.createTextNode('Fermer la boite en cliquant dessus');

	oMdiv.setAttribute('id',idRep);
	oA.setAttribute('href','#');
	oMimg.setAttribute('src',srcMimg);
	oMimg.setAttribute('width',widMimg);
	oMimg.setAttribute('height',heiMimg);
	oMimg.setAttribute('alt',altMimg);
	oGdiv.setAttribute('id','pops');
	oGimg.setAttribute('src',srcGimg);
	oGimg.setAttribute('width',widGimg);
	oGimg.setAttribute('height',heiGimg);
	oGimg.setAttribute('alt',altGimg);

	oGdiv.style.display = 'none';

	oA.onclick = pop.__method__.prototype.__Pop__;
	oGdiv.onclick = pop.__method__.prototype.__Pop__;

	oSpan.appendChild(oTxtSpan);
	oA.appendChild(oMimg);
	oA.appendChild(oSpan);
	oMdiv.appendChild(oA);
	oH3.appendChild(oTxtH3);
	oP.appendChild(oTxtP);
	oGdiv.appendChild(oH3);
	oGdiv.appendChild(oGimg);
	oGdiv.appendChild(oP);
	oCont.insertBefore(oMdiv,oRep);
	oCont.insertBefore(oGdiv,oRep);
};
pop.__method__.prototype.__Pop__ = function()
{
	var oPop = document.getElementById('pops');
	if( oPop.style.display == 'none' )
		oPop.style.display = 'block';
	else
		oPop.style.display = 'none';
	return false;
};


A noter que tu as encore quelques erreurs... à savoir, par exemple, que dans ton CSS, les dimensions d'écritures sont définies en px, ce qui ne permet pas le redimensionnement sous IE. Pour bien faire, je te conseille de définir une taille en % sur le body puis de définir les écritures de chaque élément en em. Ainsi, le résultat est approximativement le même quelquesoit le navigateur et lorsque tu diminues la taille des polices au minimum, celles-ci restent lisibles...
Il y a aussi certaines de tes div qui me semblent inutiles...
Modifié par koala64 (28 Jul 2006 - 19:19)
merci koala, comme d'hab ' Smiley cligne

Je regarderai ça dès dimanche... petit soucis de santé à régler demain Smiley hum

Tu penses que j'ai des divs en trop dans ma page ? Du genre, les liens "pages suivantes 1 2 3, etc ?

Ou encore d'autres ?

A dimanche Smiley cligne
Modérateur
Tu n'as pas de pages suivantes 1 2 3, etc... sur cet essai. Smiley cligne

Les divs servent surtout à définir les différentes zones de ta page. Elles regroupent les balises par ensemble. Maintenant, si la div ne contient qu'un seul conteneur, ce n'est pas faux puisque tu ne fais toujours que définir ta zone mais pas ce n'est forcémment utile non plus vu que le conteneur inclus fait déjà office de délimitation. Le principal, c'est de ne pas utiliser les divs à tout va car elles ne donnent aucun sens à leur contenu. Si tu peux les remplacer par quelquechose de plus significatif, à savoir une balise p ou autre balise de type block, c'est mieux.

exemples :

<div id="acces_pagesbas">
	<a href="parure-estella.htm">Modèle suivant</a> >
</div>
peut être remplacé par

<p id="acces_pagesbas">
	<a href="parure-estella.htm">Modèle suivant</a> >
</p>

et


<div id="gauche">
	<ul id="menugauche">
		<li><a id="menua" title="Découvrir toute la collection" href="collections-page1.htm">TOUTE LA COLLECTION</a></li>
		<li><a id="menub" title="Les modèles en perles de rocaille" href="perles-de-rocaille.htm">PERLES DE ROCAILLE</a></li>
		<li><a id="menuc" title="Les modèles en perles nacrées" href="perles-nacrees.htm">PERLES NACREES</a></li>
		<li><a id="menud" title="Les modèles en cristal Swarovski" href="cristal-swarovski.htm">CRISTAL SWAROVSKI</a></li>
		<li><a id="menue" title="Les modèles en fleurs de soie" href="fleurs-de-soie.htm">FLEURS DE SOIE</a></li>
		<li><a id="menuf" title="Les modèles en guipure brodée" href="guipure-brodee.htm">GUIPURE BRODEE</a></li>
	</ul>
</div>
peut être remplacé par

<ul id="menugauche">
	<li><a id="menua" title="Découvrir toute la collection" href="collections-page1.htm">TOUTE LA COLLECTION</a></li>
	<li><a id="menub" title="Les modèles en perles de rocaille" href="perles-de-rocaille.htm">PERLES DE ROCAILLE</a></li>
	<li><a id="menuc" title="Les modèles en perles nacrées" href="perles-nacrees.htm">PERLES NACREES</a></li>
	<li><a id="menud" title="Les modèles en cristal Swarovski" href="cristal-swarovski.htm">CRISTAL SWAROVSKI</a></li>
	<li><a id="menue" title="Les modèles en fleurs de soie" href="fleurs-de-soie.htm">FLEURS DE SOIE</a></li>
	<li><a id="menuf" title="Les modèles en guipure brodée" href="guipure-brodee.htm">GUIPURE BRODEE</a></li>
</ul>
puisque tu n'as qu'une seule liste.
Modifié par koala64 (30 Jul 2006 - 08:26)
Bonjour,

koala64 a écrit :


<div id="acces_pagesbas">
	<a href="parure-estella.htm">Modèle suivant</a> >
</div>
peut être remplacé par

<p id="acces_pagesbas">
	<a href="parure-estella.htm">Modèle suivant</a> >
</p>



C'est un paragraphe, ça ? Smiley cligne
Modifié par Laurent Denis (30 Jul 2006 - 08:27)
Modérateur
euh... Smiley lol

Bon, en fait, moi aussi j'ai quelques questions. Smiley ravi

Je ne trouve pas effectivement que çà ressemble réellement à un paragraphe.

Maintenant, si je tiens à mettre un conteneur, pourquoi pas ? J'ai cette tendance à vouloir éviter les divs mais bon peut-être ai-je tort pour ce cas.

Si je prends maintenant une balise input, je ne trouve pas non plus que çà ressemble réellement à un paragraphe. Pourquoi dès lors l'englobe-t-on dans une balise p et non div ? Je le vois souvent et çà ne me paraît pas logique non plus.

Une autre chose, sur la page d'Openweb concernant les formulaires, je vois que ce dernier est englobé dans une div. Est-ce nécessaire ou seulement utile dans un soucis de clarté ?
Modifié par koala64 (30 Jul 2006 - 08:38)
koala64 a écrit :
euh... Smiley lol


Oui, hein ?

On te fait une place avec clb56 dans notre croisade pour l'épuration des paragraphes abusifs, alors ? Smiley lol
koala64 a écrit :

Maintenant, si je tiens à mettre un conteneur, pourquoi pas ? J'ai cette tendance à vouloir éviter les divs mais bon peut-être ai-je tort pour ce cas.


Le paragraphe est un élément à l'usage tellement dilué que cela n'a sans doute guère d'importance. C'est simplement inutile, par exemple quand l'utilisation de <p> conduit illico à rajouter des propriétés CSS de marges pour annuler celles par défaut de <p>..

koala64 a écrit :

Si je prends maintenant une balise input, je ne trouve pas non plus que çà ressemble réellement à un paragraphe. Pourquoi dès lors l'englobe-t-on dans une balise p et non div ? Je le vois souvent et çà ne me paraît pas logique non plus.


Personnellement, j'utilise plutôt le balisage générique dans ce cas.

koala64 a écrit :

Une autre chose, sur la page d'Openweb concernant les formulaires, je vois que ce dernier est englobé dans une div. Est-ce nécessaire ou seulement utile dans un soucis de clarté ?


Je suppose que le <div id="moteur"> a un rôle dans une des CSS, ou a été mis là à titre de réserve, en cas de future CSS. J'avoue ne plus avoir le détail en tête Smiley cligne

En tous cas, il n'y a rien qui oblige à mettre un form dans un élément bloc (en revanche, le contenu du form doit être dans un élément bloc, en HTML et XHTML strict)
Modérateur
Laurent Denis a écrit :
On te fait une place avec clb56 dans notre croisade pour l'épuration des paragraphes abusifs, alors ? Smiley lol
Pourquoi pas oui ! Smiley ravi Je sens que je vais faire une cure de légumes verts. Smiley biggol
Laurent Denis a écrit :
Le paragraphe est un élément à l'usage tellement dilué que cela n'a sans doute guère d'importance. C'est simplement inutile, par exemple quand l'utilisation de <p> conduit illico à rajouter des propriétés CSS de marges pour annuler celles par défaut de <p>..
Ah ! Oui mais comme je fais parti de ceux qui commencent leur CSS par :

* { padding:0; border:0; margin:0; }
pour ensuite tout redéfinir, je ne l'avais pas vu comme çà. Celà dit, si on a besoin de définir une zone précise, on est confronté au même problème de marges avec les divs. On pourrait se contenter de mettre un display: block; sur le lien mais si on ne dispose pas de CSS, la structure change donc je préfère éviter.
Laurent Denis a écrit :
Personnellement, j'utilise plutôt le balisage générique dans ce cas.
Cà tombe bien, j'étais pour. Smiley smile
Laurent Denis a écrit :

En tous cas, il n'y a rien qui oblige à mettre un form dans un élément bloc
Je me disais bien aussi. Smiley murf
Modifié par koala64 (30 Jul 2006 - 10:06)
Laurent Denis a écrit :
Dans le même ordre d'idée, la vignette et les liens "agrandir", qui n'ont de sens que pour le visiteur ayant javascript (activé), pourraient aisément être générés via javascript, pour n'apparaître que lorsqu'ils ont un sens.


Ah ça oui alors !

Mes cinq petites règles d'or perso sur JS.

. Jamais obstuctif de l'accès au contenu.
. Jamais intrusif dans le code du document.
. Jamais agressif pour la consultation du visiteur.
. Toujours "discret" dans la page et le document quand il n'est pas actif.
. Autant que faire se peut toujours surcouche d'un dispositif pouvant être éxécuté en son absence.

ça ne donne aucune maitrise particulière du langage mais ça permet de faire des choses assez propres.
Modifié par clb56 (30 Jul 2006 - 10:24)
clb56 a écrit :

. Jamais intrusif dans le code du document.
. Toujours "discret" dans la page et le document quand il n'est pas actif.


Tu pourrais détailler "intrusif" et "discret" ? C'est très intéressant, ça.
Bonjour Koala, bonjour la companie Smiley cligne

J'ai repris les derniers codes que tu m'as envoyé, et ai mis des tailles en em comme suggéré Smiley smile

J'ai testé la page, que je mettrais en ligne à 19h histoire de ne pas changer nos habitudes Smiley lol

1ere remarque: ça marche, sauf que je n'arrive pas à dimensionner correctement les textes 'cliquer pour agrandir' et les textes dans la popup...

J'ai fait un test en desactivant Javascript sur ff. La popup ne d'affiche pas, ce qui est bien normal... la vignette sur la page HTML non plus...

Par contre, je me pose une question:

si j'utilise ce code sur mon site (et comme le but est en grande partie d'agrandir les photos des produits), tous les utilisateurs ayant désactivés Javascript ne verront rien: pas les popup et pas non plus toutes les images sur le site.

Ma question est donc la suivante: faut-il vraiment procéder de la sorte ?

1/ Ceux qui n'ont pas Javascript ne verront rien du tout sur mon site Smiley eek alors que le but premier est quand même que tout le monde voit au minimum toutes les photos des produits ?

2/ Avec l'ancien code que tu m'avais donné, les visiteurs sans Javascript pouvaient au moins voir les images sur la page, sans bien sûr pouvoir les agrandir.

Qu'en pensez-vous ? Personnellement si j'avais désactivé Javascript, je souhaiterai quand même voir les photos à minima, non ?

Je suis preneur de vos avis sur le sujet
Modifié par pp51 (31 Jul 2006 - 12:09)
Modérateur
Salut,

Dans ce cas, on peut effectivement laisser le lien en dur dans la page html.
Il faudrait créer une nouvelle page pour chaque photo agrandie avec un lien de retour pour revenir sur la page appelante.
Si le javascript est désactivé, on y accède. S'il est activé, on annule l'action du lien et on lance la popup à la place.

Concernant les hauteurs de texte, il faudrait regarder comment tu as procédé. Le lien est-il toujours d'actualité ? Si non, peux-tu le mettre à jour ?
Es-tu sûr qu'il n'y a pas d'héritage, genre deux em sur des conteneurs imbriqués qui se multiplient ? C'est une erreur possible. Smiley cligne
Re salut,

J'ai résolu mon pbl de taille de police Smiley cligne

a écrit :

Il faudrait créer une nouvelle page pour chaque photo agrandie avec un lien de retour pour revenir sur la page appelante.
Si le javascript est désactivé, on y accède. S'il est activé, on annule l'action du lien et on lance la popup à la place.


En fait, sur l'url que je vais mettre en ligne ce soir, j'ai:
- ajouté une pop sur "produit1"
- ajouté une pop sir "element2"
- mis à jour le code JS en bas du html

Ca à l'air de fonctionner Smiley eek

C'est ça que tu me disais de faire ?

A tout à l'heure et voici déjà mon XHTML


<div id="produit1"><a href="#pop" class="pop"><img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225" /><span>Agrandir</span></a></div>

		<div id="descriptif">

		<h2>Camélia</h2>

		<h3>"Toute la finesse et la délicatesse de la fleur de Camélia"</h3>

		<p id="composition">- Composition: Perles de rocaille à facettes et perles de verre nacrées. Fermoirs et anneaux en argent massif 925</p>

		<p id="coloris">- Coloris: crème</p>

		<p id="autres_coloris">- Coloris également disponibles: blanc ou autres coloris sur mesure</p>

		<p id="tarifs">- Tarifs: contactez nos boutiques partenaires>> </p>

		<p id="compo">- Parure composée de: Collier | Bracelet | Pics à cheveux | Boucles d'oreilles</p>

		</div>

<div id="element1">
<a href="#pop1" class="pop"> <img src="images/orchidee-fp-collier.jpg" width="90" height="90" alt="photo" /><span>Cliquer pour agrandir</span></a></div>
<div id="element2">
<a href="#pop2" class="pop"> <img src="images/orchidee-fp-bracelet.jpg" width="90" height="90" alt="photo" /><span>Cliquer pour agrandir</span></a></div>

<div id="acces_pagesbas">
	 				 	<a href="parure-estella.htm">Modèle suivant</a> >
		 </div>
      </div>
	  </div>
      <div id="pied">
        <p id="mentions">Copyright © 2006 Princesse d'un Jour. Tous droits réservés. Princesse d'un Jour® est une marque déposée.</p>
		<p id="partenaires">Sites partenaires : <a href="http://www.noces-provencales.com">Organisation de mariage en provence</a> avec Noces-Provencales.com | <a href="http://www.notremariage.net/decouvrir.htm">NotreMariage.net</a></p>

      </div>

</div>

<!-- Les boîtes popup sont placées tout en bas du document -->
<div class="pops" id="pop">
<p>parure Orchidée</p>
<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225"/>
<p class="fermer">fermer la boite en cliquant dessus</p>
</div>
<div class="pops" id="pop1">
<p>collier Orchidée</p>

<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225"/>
<p class="fermer">fermer la boite en cliquant dessus</p>
</div>
<div class="pops" id="pop2">
<p>bracelet Orchidée</p>
<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225"/>
<p class="fermer">fermer la boite en cliquant dessus</p>
</div>
<script type="text/javascript">
<!--
var oPop = document.getElementById('pop1');
oPop.style.display = 'none';
//-->
</script>
</body>
</html>


et ma CSS

*{margin:0;padding:0;}
body{background:url(images/background2.gif) repeat-y center top;font-family:Geneva, Arial, Tahoma, sans-serif;margin:0;padding:0;font-size: 85%;}
img{border-style:none;border-width:0;}
#page{text-align:left;width:743px;background-color:#FFF;border:1px solid #6C3089;margin:5px auto;}
#header{height:67px;}
h1{display:inline;margin-left:15px;}
p#langue{position:absolute;display:inline;color:#666;padding-top:28px;padding-left:40px;font-size:0.8em;}
#menu_langue{position:absolute;display:inline;list-style-type:none;width:40px;padding-top:30px;padding-left:80px;}
#menu_langue li{float:left;}
#menu_langue a{float:left;text-align:center;line-height:12px;color:#666;text-decoration:none;}
#menu_langue a:hover{color:#6C3089;text-decoration:underline;}
#english{width:20px;border-right:1px solid #666;font-size:0.8em;}
#français{padding-left:3px;width:15px;font-size:0.8em;}
#menu_langue a:focus,#menu_langue a:active{text-decoration:underline;color:#999;}

#haut{float:left;width:743px;border-top:1px solid #6C3089;border-bottom:1px solid #6C3089;margin:2px 0 0;}
ul#menuhaut{clear:both;width:100%;letter-spacing:3px;list-style-type:none;font-size:0.7em;;text-align:center;}
#menuhaut li{float:left;}
#menuhaut a{display:block;color:#FFF;text-decoration:none;text-align:center;line-height:20px;}
#menu1{width:90px;background-color:#8E6784;color:#000;}
a#menu2{color:#6C3089;}
#menu2{width:122px;background:#FFF;}
#menu3{width:160px;background:#8E6784;}
#menu4{width:190px;background:#8E6784;}
#menu5{width:90px;background:#8E6784;}
#menu6{width:91px;background:#8E6784;}

#gauche{float:left;width:150px;list-style-type:none;text-decoration:none;line-height:35px;padding-left:5px;margin-top:25px;color:#6C3089;}
#menugauche a{text-decoration:none;color:#666;}
ul#menugauche{list-style-type:none; letter-spacing: 0.5px;font-size:10px;}
li#menugauche{float:left; margin-left:10px;padding-left:0px;}
a#menua{color:#6C3089;font-weight:900;}

#centre{float:left;height:400px;padding-top:5px;width:588px;color:#666;}
#zone_haut{position:relative;}
p.breadcrumb{position:relative;top:5px;font-size:0.8em;color:#666;width:150px;display:inline;}
p.breadcrumb a{color:#666;text-decoration:none;}
p.breadcrumb a:hover{text-decoration:underline;color:#6C3089;}

a#coll{padding-left: 3px;}
a#page1{padding-left: 3px;}
a#modele{padding-left: 3px;}
a#produit:hover{text-decoration:none;color:#666;}
#acces_pages{position:absolute;top:10px;right:35px;line-height:20px;font-size:0.8em;}
#pages{list-style-type:none;width:100%;line-height:20px;}
#pages li{float:right;}
#pages a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pages a:hover{text-decoration:underline; color:#6C3089;}
a.lastpage{letter-spacing:-1px;padding-left:3px;}
#pages a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pages a.selected:hover{text-decoration:none;}
a.firstpage{letter-spacing:-1px;padding-right:4px;}
#pages a:focus,#pages a:active,p.breadcrumb a:focus,p.breadcrumb a:active{text-decoration:underline;color:#999;}

#produit1{position:relative;display:block;top:15px;width:120px;text-decoration:none;font-size:0.8em;}
#element1{position:absolute; top:290px;left:0px;font-size:0.8em;}
#element2{position:absolute; top:290px;left:150px;font-size:0.8em;}
#element3{position:absolute; top:290px;left:300px;}
#element4{position:absolute; top:290px;left:450px;}
#element5{position:absolute; top:290px;left:600px;}
#descriptif{position:absolute;top:31px;left:200px;}
h2{color:#6C3089;font-weight:bold;font-size:1em;}
h3{padding-top:10px;font-weight:bold;font-size: 0.9em;}
p#composition{padding-top:10px;font-size:0.8em;}
p#coloris{padding-top:5px;font-size:0.8em;}
p#autres_coloris{padding-top:5px;font-size:0.8em;}
p#tarifs{padding-top:5px;font-size:0.8em;}
p#compo{padding-top:5px;font-size:0.8em;}

#produit1 a,#element1 a,#element2 a,#element3 a,#element4 a,#element5 a{text-decoration:none;color:#666;display:table-cell;text-align:center;display:inline-block;}
#produit1 img,#element1 img,#element2 img,#element3 img,#element4 img, #element5 img{display:block;border-style:none;border-width:0;}

#acces_pagesbas{position:absolute;top:400px;right:35px;line-height:20px;font-size:0.8em;}
#pagesbas{list-style-type:none;width:100%;line-height:20px;}
#pagesbas li{float:right;}
#pagesbas a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pagesbas a:hover{text-decoration:underline; color:#6C3089;}
#pagesbas a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pagesbas a.selected:hover{text-decoration:none;}

#pied{clear:both;height:30px;text-align:center;padding-bottom:5px;}
#pied a{text-decoration:none;color:#666;}
p#mentions,p#partenaires{color:#666;font-size:0.7em;}
.pops{display:none;position:absolute;top:134px;height:265px;width:180px;border:1px solid #6C3089;background-color: white;color:#666;}
.pops p{text-align:center;font-size:0.8em;}
.pops img{display: block;}
.fermer {padding-top:3px;margin:0;border-top:1px solid black;background:white url(images/bottom.gif) left top repeat-x;color:#666;font-size:0.8em;}


avec de beaux "em" à la place de px Smiley ravi
Modifié par pp51 (31 Jul 2006 - 16:04)
et voilà, c'est en ligne ici: http://www.princessedunjour.com

Un peu de retard cette fois-ci Smiley lol

J'ai juste un problème sur le bas de page qui dépasse bizarrement de son cadre (ligne horizontale en violet).

Sinon mes pops s'ouvrent et se ferment bien, à l'endroit désiré.

Koala, c'est quoi cette histoire de créer des pages avec les photos agrandis ?
Smiley cligne
Modifié par pp51 (03 May 2007 - 14:00)
Modérateur
hello, Smiley cligne

En fait, ce que j'imaginais, c'était de ne pas mettre les photos agrandies dans la page html actuelle mais de créer seulement un lien par photo agrandie.

Bon, allez, tu crées un nouveau dossier; on passe à la page test 4 ! Smiley lol

Pour le moment, supprime tous les scripts, qu'ils soient externes ou internes à la page... Cà reviendra ensuite...
De même, dans le CSS, supprime les classes "pops" et "fermer", çà évitera qu'on ne se retrouve avec des propriétés "parasites" lorsqu'on remettera tout en place.

La première chose à faire, c'est de rendre ta page entièrement fonctionnelle sans JS. Par exemple, je vois que tu as un lien "agrandir" sous la première photo. Ce lien ne fonctionne que si le JS est activé. Il est donc inutile pour quelqu'un qui ne dispose pas de ce langage.

Dès lors, tu as deux solutions :

- soit tu crées une page pour la photo agrandie et lorsque tu cliques sur ce lien, tu arrives sur cette nouvelle page avec cette fameuse photo agrandie,

- soit tu supprimes le lien et on l'ajoute via JS.

Dans le dernier exemple que je t'ai donné (celui dont tu ne t'es pas servi), nous nous orientions sur la seconde solution, ce qui faisait que le visiteur ne disposait pas des photos agrandies mais surtout n'avait pas non plus de lien inutile. C'était donc fonctionnel avec ou sans JS. Smiley cligne
Maintenant, si tu veux que le visiteur dispose lui aussi de ces photos agrandies, orientes-toi sur la première solution en créant ces fameuses pages. ( gné ! On va y arriver ! Smiley biggol )

Ce qui serait bien, c'est que tu regroupes tes liens comme suit :

<ul id="elements">

	<li><a href="collier.htm">
		<img src="images/orchidee-fp-collier.jpg" width="90" height="90" alt="photo du collier" />
		<span>Photo agrandie du collier</span>
	</a></li>

	<li><a href="bracelet.htm">
		<img src="images/orchidee-fp-bracelet.jpg" width="90" height="90" alt="photo du bracelet" />
		<span>Photo agrandie du bracelet</span>
	</a></li>

</ul>

Une fois que c'est fait, tu remets en ligne et je te fais le script qui va bien. Smiley murf
19h10 !

Voici la page en ligne comme tu m'as indiqué (enfin j'espère Smiley cligne ).

Voir http://www.princessedunjour.com

Bon, j'avoue, je ne vois pas trop où cela va nous mener Smiley confus

PS: je n'ai pas mis en page le ul="elements" pour l'instant.

A très vite Smiley lol
Modifié par pp51 (03 May 2007 - 13:59)
Hello Koala et les autres Smiley cligne

Voici ma nouvelle page:
http://www.princessedunjour.com

J'ai donc repris le tuto de Michel Deboom dans le tuto javascript

J'ai l'impression que j'approche du but Smiley ravi

Mais:
- ma page s'est allongée et depasse maintenant du cadre violet en bas... savez vous pourquoi ?
- comment positionner le pop up sur la page (là il est centré par défaut)
- quand on déscative JS, une nouvelle page apparait avec l'image agrandie.
Y a t'il un moyen de rajouter un lien "retour" qui permet à l'internaute de revenir sur la page initiale ?

Je vous remets tous mes codes


<!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" lang="fr">


<head>
	<title>Une popup accessible</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
	
	<link rel="stylesheet" href="fiche-produit4.css" type="text/css" />
    <link rel="stylesheet" href="zoom.css" type="text/css" />
<!--[if lte IE 6]><link rel="stylesheet" href="zoom_ie.css" type="text/css" /><![endif]-->
	<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
</head>

<body>
	<div id="page">
		<div id="header">
			<a href="index.htm" id="Logo">
				<img src="images/Logo.gif" alt="Logo Princesse d'un Jour" width="274" height="58" title="Aller à l'accueil" />
			</a>
			<h1><img src="images/h1.gif" alt="Bijoux et accessoires pour le mariage" /></h1>
			<p id="langue">Langue</p>
			<ul id="menu_langue">
			<li><a id="english" title="English version" href="http://www.english.princessedunjour.com">EN</a></li>
			<li><a id="français" title="version française" href="index.htm">FR</a></li>
			</ul>
		</div>

	<div id="haut">
			<ul id="menuhaut">
			<li><a id="menu1" title="Aller à l'accueil" href="index.htm">ACCUEIL</a></li>
			<li><a id="menu2" title="Nos collections de bijoux pour le mariage" href="collections-page1.htm">COLLECTIONS</a></li>
			<li><a id="menu3" title="Trouver un point de vente" href="points-de-vente.htm">POINTS DE VENTE</a></li>
			<li><a id="menu4" title="Nos secrets de fabrication" href="atelier-de-creation.htm">ATELIER DE CREATION</a></li>
			<li><a id="menu5" title="Tout savoir sur Princesse d'un Jour" href="a-propos.htm">A PROPOS</a></li>
			<li><a id="menu6" title="Contacter la créatrice" href="contact.htm">CONTACT</a></li>
			</ul>
	  </div>

		<div id="gauche">
			<ul id="menugauche">
				<li><a id="menua" title="Découvrir toute la collection" href="collections-page1.htm">TOUTE LA COLLECTION</a></li>
				<li><a id="menub" title="Les modèles en perles de rocaille" href="perles-de-rocaille.htm">PERLES DE ROCAILLE</a></li>
				<li><a id="menuc" title="Les modèles en perles nacrées" href="perles-nacrees.htm">PERLES NACREES</a></li>
				<li><a id="menud" title="Les modèles en cristal Swarovski" href="cristal-swarovski.htm">CRISTAL SWAROVSKI</a></li>
				<li><a id="menue" title="Les modèles en fleurs de soie" href="fleurs-de-soie.htm">FLEURS DE SOIE</a></li>
				<li><a id="menuf" title="Les modèles en guipure brodée" href="guipure-brodee.htm">GUIPURE BRODEE</a></li>
			</ul>
		</div>

		<div id="centre">

			<div id="zone_haut">
				<p class="breadcrumb">Vous êtes ici: <a href="index.htm">Accueil</a>    |<a id="coll" href="collections-page1.htm">Collection</a>    |<a id="page1" href="collections-page1.htm">Page 1</a>    |<a id="modele" href="parure-camelia.htm">Parure Camélia</a>				</p>

				<div id="acces_pages">
					<a href="parure-estella.htm">Modèle suivant</a> >
				</div>

				<div id="produit1">
					<img src="images/orchidee-fp.jpg" alt="La Parure Camélia" width="180" height="225" />
				</div>


				<div id="descriptif">
					<h2>Camélia</h2>
					<h3>"Toute la finesse et la délicatesse de la fleur de Camélia"</h3>
					<p id="composition">- Composition: Perles de rocaille à facettes et perles de verre nacrées. Fermoirs et anneaux en argent massif 925</p>
					<p id="coloris">- Coloris: crème</p>
					<p id="autres_coloris">- Coloris également disponibles: blanc ou autres coloris sur mesure</p>
					<p id="tarifs">- Tarifs: contactez nos boutiques partenaires>> </p>
					<p id="compo">- Parure composée de: Collier | Bracelet | Pics à cheveux | Boucles d'oreilles</p>
				</div>
<div id="element1">
<a href="images/orchidee-fp.jpg" class="vig" title="Collier Orchidée"><img alt="Le collier Orchidée" src="images/orchidee-fp-collier.jpg" width="90" height="90" /><span>Cliquer pour agrandir</span></a></div>

<div id="element2">
<a href="images/orchidee-fp.jpg" class="vig" title="Bracelet Orchidée"><img alt="Le bracelet Orchidée" src="images/orchidee-fp-bracelet.jpg" width="90" height="90" /><span>Cliquer pour agrandir</span></a></div>

				<div id="acces_pagesbas">
					<a href="parure-estella.htm">Modèle suivant</a> >
				</div>
			</div>
		</div>

	<div id="pied">
	<p id="mentions">Copyright © 2006 Princesse d'un Jour. Tous droits réservés. Princesse d'un Jour® est une marque déposée.</p>
	<p id="partenaires">Sites partenaires : <a href="http://www.noces-provencales.com">Organisation de mariage en provence</a> avec Noces-Provencales.com | <a href="http://www.notremariage.net/decouvrir.htm">NotreMariage.net</a></p>
	  </div>
	</div>
<script type="text/javascript" src="popup.js">
</script>
</body>
</html>


fiche-produit4.css

*{margin:0;padding:0;}
body{background:url(images/background2.gif) repeat-y center top;font-family:Geneva, Arial, Tahoma, sans-serif;margin:0;padding:0;font-size: 85%;}
img{border-style:none;border-width:0;}
#page{text-align:left;width:743px;background-color:#FFF;border:1px solid #6C3089;margin:5px auto;}
#header{height:67px;}
h1{display:inline;margin-left:15px;}
p#langue{position:absolute;display:inline;color:#666;padding-top:28px;padding-left:40px;font-size:0.8em;}
#menu_langue{position:absolute;display:inline;list-style-type:none;width:40px;padding-top:30px;padding-left:80px;}
#menu_langue li{float:left;}
#menu_langue a{float:left;text-align:center;line-height:12px;color:#666;text-decoration:none;}
#menu_langue a:hover{color:#6C3089;text-decoration:underline;}
#english{width:20px;border-right:1px solid #666;font-size:0.8em;}
#français{padding-left:3px;width:15px;font-size:0.8em;}
#menu_langue a:focus,#menu_langue a:active{text-decoration:underline;color:#999;}

#haut{float:left;width:743px;border-top:1px solid #6C3089;border-bottom:1px solid #6C3089;margin:2px 0 0;}
ul#menuhaut{clear:both;width:100%;letter-spacing:3px;list-style-type:none;font-size:0.7em;text-align:center;}
#menuhaut li{float:left;}
#menuhaut a{display:block;color:#FFF;text-decoration:none;text-align:center;line-height:20px;}
#menu1{width:90px;background-color:#8E6784;color:#000;}
a#menu2{color:#6C3089;}
#menu2{width:122px;background:#FFF;}
#menu3{width:160px;background:#8E6784;}
#menu4{width:190px;background:#8E6784;}
#menu5{width:90px;background:#8E6784;}
#menu6{width:91px;background:#8E6784;}

#gauche{float:left;width:150px;list-style-type:none;text-decoration:none;line-height:35px;padding-left:5px;margin-top:25px;color:#6C3089;}
#menugauche a{text-decoration:none;color:#666;}
ul#menugauche{list-style-type:none; letter-spacing: 0.5px;font-size:0.7em;}
li#menugauche{float:left; margin-left:10px;}
a#menua{color:#6C3089;font-weight:900;}

#centre{float:left;height:400px;padding-top:5px;width:588px;color:#666;}
#zone_haut{position:relative;}
p.breadcrumb{position:relative;top:5px;font-size:0.8em;color:#666;width:150px;display:inline;}
p.breadcrumb a{color:#666;text-decoration:none;}
p.breadcrumb a:hover{text-decoration:underline;color:#6C3089;}
a#coll{padding-left: 3px;}
a#page1{padding-left: 3px;}
a#modele{padding-left: 3px;}
a#produit:hover{text-decoration:none;color:#666;}
#acces_pages{position:absolute;top:10px;right:35px;line-height:20px;font-size:0.8em;}
#pages{list-style-type:none;width:100%;line-height:20px;}
#pages li{float:right;}
#pages a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pages a:hover{text-decoration:underline; color:#6C3089;}
a.lastpage{letter-spacing:-1px;padding-left:3px;}
#pages a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pages a.selected:hover{text-decoration:none;}
a.firstpage{letter-spacing:-1px;padding-right:4px;}
#pages a:focus,#pages a:active,p.breadcrumb a:focus,p.breadcrumb a:active{text-decoration:underline;color:#999;}

#produit1{position:relative;display:block;top:15px;width:120px;text-decoration:none;}
#element1{position:absolute; top:290px;left:0px;}
#element2{position:absolute; top:290px;left:150px;}
#element3{position:absolute; top:290px;left:300px;}
#element4{position:absolute; top:290px;left:450px;}
#element5{position:absolute; top:290px;left:600px;}
#descriptif{position:absolute;top:31px;left:200px;}
h2{color:#6C3089;font-weight:bold; font-size:1em;}
h3{padding-top:10px;font-weight:bold; font-size: 0.9em;}
p#composition{padding-top:10px;font-size:0.8em;}
p#coloris{padding-top:5px;font-size:0.8em;}
p#autres_coloris{padding-top:5px;font-size:0.8em;}
p#tarifs{padding-top:5px;font-size:0.8em;}
p#compo{padding-top:5px;font-size:0.8em;}

#produit1 a,#element1 a,#element2 a{font-size:0.8em;text-decoration:none;color:#666;display:table-cell;text-align:center;/*display:inline-block;*/}
#produit1 img,#element1 img,#element2 img{display:block;border-style:none;border-width:0;text-align:center;}

#acces_pagesbas{position:absolute;top:400px;right:35px;line-height:20px;font-size:0.8em;}
#pagesbas{list-style-type:none;width:100%;line-height:20px;}
#pagesbas li{float:right;}
#pagesbas a{float:left;text-align:center;line-height:12px;width:10px;color:#666;text-decoration:none;}
#pagesbas a:hover{text-decoration:underline; color:#6C3089;}
#pagesbas a.selected{font-weight:700;color:#6C3089;text-decoration:none;}
#pagesbas a.selected:hover{text-decoration:none;}
#pied{clear:both;height:30px;text-align:center;padding-bottom:5px;}
#pied a{text-decoration:none;color:#666;}
p#mentions,p#partenaires{color:#666;font-size:0.7em;}


zoom.css

#pop{ /* fenêtre */
position:absolute;
cursor:move;
left:3px;
top:3px;
display:none;
z-index:200;
background-color:#FFF;
border:1px outset;
border-color:#6C3089;
}
#tet{ /* titre */
font-family:Geneva, Arial, Tahoma, sans-serif;
font-size:0.9em;
color:#6C3089;
background-color:#FFF;
padding:0 20px 0 .5em;
white-space:nowrap;
}
#croix{ /* croix pour fermer */
position:absolute;
margin:0;
border:0;
right:0;
top:0;
padding:0;
height:14px;
width:16px;
cursor:pointer;
}
/*liens avec vignette*/
a.vig:hover,a.vig:focus{background:transparent;moz-opacity:.7;opacity:.7;}


popup.js

// initialisation 
D=document;gk=window.Event?1:0 //Gecko; 
cpt=sx=sy=dx=dy=e=drag=lock=0 

function addEvent(obj,evType,fn,capt){ // ajoute un événement sans écraser l'éxistant. 
if(obj.addEventListener){obj.addEventListener(evType,fn,capt);return true;} // NS6+ 
else if(obj.attachEvent)obj.attachEvent("on"+evType,fn) // IE 5+ 
else {return false;} 
} 

// correction IE : cache les éléments select 
function voirSelect(v){ 
elem=document.getElementsByTagName('select');
if(!gk){for(i=0;i<elem.length;i++)elem[i].style.visibility=v;} 
} 

function grandeImage(){ 
		voirSelect('hidden');cpt=0
		//charge l'image dans le cache du navigateur. 
		im=new Image();im.src=this.href;
		// renvoi le title 
		im1.title=this.title; 
		//infos sur la fenêtre du navigateur
		fen_x=gk?innerWidth-20:db.clientWidth //l fenêtre 
		fen_y=gk?innerHeight:db.clientHeight  //h fenêtre 
		sx=gk?pageXOffset:db.scrollLeft; //scroll h 
		sy=gk?pageYOffset:db.scrollTop; //scroll v 
		//montre l'entête avec le mot "patientez". 
		with(gdim.style){display="block";top=sy+2+'px';left=sx+2+'px'}; 
		im1.style.display='none';lx.firstChild.data="Patientez";
		actif=setTimeout('controleChargement()',300) 
		//désactive l'action normale du lien HTML 
		;return false 
	} 

// controle le chargement de l'image 
function controleChargement(){ cpt++
clearTimeout(actif); // arrête le compteur en cours
if(cpt==1&&im.height<31)alert('image absente ou erreur d\'URL')
lx.firstChild.data+="."; // ajoute "." par seconde
if(im.complete){ // image affichée en fin de chargement
  with(im1){style.display='block';src=im.src;width=im.width;height=im.height;
	// title reporté dans l'entête
	lx.firstChild.data=im1.alt=im1.title
	// centre l'image dans la fenêtre
	sx=gk?pageXOffset:db.scrollLeft; //scroll h 
	sy=gk?pageYOffset:db.scrollTop; //scroll v 
	gdim.style.left=fen_x/2-gdim.offsetWidth/2+sx+'px'; 
	gdim.style.top=fen_y/2-gdim.offsetHeight/2+sy+'px'; 
  }; 
}
else actif=setTimeout('controleChargement()',1000) 
} 

// Création des éléments de la fausse fenêtre
		// Conteneur :
gdim=D.createElement("div");D.body.appendChild(gdim);gdim.id="pop";
lx=D.createElement("div");gdim.appendChild(lx);
		// Entête :
lx.appendChild(D.createTextNode(""));lx.id="tet";
avs=D.createElement("div");lx.appendChild(avs);
		// Pour fermer :
avs.id="croix";avs.title="Fermer";avs.appendChild(D.createTextNode("X")); 
avs.onclick=function(){gdim.style.display='none';voirSelect('visible');}
im1=D.createElement("img");gdim.appendChild(im1);
		// image :
db=!D.documentElement.clientWidth?D.body:D.documentElement //quirk IE6 

// fonctions de drag&drop ajoutées à gdim
gdim.onmousedown=function(){dx=px-gdim.offsetLeft;dy=py-gdim.offsetTop;drag=1;return false}
gdim.onmouseup=function(){drag=0}

//évènements onclick ajoutés aux liens image
l=D.getElementsByTagName('a');
for(var i=0;i<l.length;++i){
	if(l[i].href.search(/.jpg$|.jpeg$|.png$|.gif$/i)!=-1)l[i].onclick=grandeImage;
	}

// déplacer l'image à la souris
addEvent(D,"mousemove",function(e){ 
	px=gk?e.pageX:event.clientX+sx; //curseur x 
	py=gk?e.pageY:event.clientY+sy; //curseur y 
	if(drag){with(gdim.style){left=px-dx+"px";top=py-dy+"px"};return false} 
	} 
) 

// déplacer l'image au clavier 
addEvent(D,"keydown",function(e){
	tch=gk?e.which:event.keyCode;//alert(tch)
	// avec les flèches
	if(tch==40||tch==98){gdim.style.top=gdim.offsetTop+50+'px';lock=1;return false}
	if(tch==38||tch==104){gdim.style.top=gdim.offsetTop-50+'px';lock=1;return false}
	if(tch==37||tch==100){gdim.style.left=gdim.offsetLeft-50+'px'}
	if(tch==39||tch==102){gdim.style.left=gdim.offsetLeft+50+'px'}
	// cacher l'image avec la touche "Echap"
	if(tch==27){gdim.style.display='none';voirSelect('visible');}
}) 

D.onkeypress=function(){if(lock){lock=0;return false} else return true}
//--> 
[/i][/i][/i]
Modifié par pp51 (03 May 2007 - 13:59)
Pages :