28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,
J'ai un petit problème,
j'aimerais avec une gallerie avec une scrollbar horizontale
et seulement horizontale, car là il me met mes vignettes sur la largeur de la div et ensuite hop à la ligne. (j'ai essayé overflow-x et -y ça ne change rien)
Auriez-vous une idée de comment m'en sortir ?
Avoir toute ma gallerie sur une seule ligne avec une scrollbarre pour aller à droite et à gauche ?

merci d'avance aux courageux Smiley cligne

le problème se trouve ici : http://www.leroux-jf.fr/mattpaint.html
^^
Modifié par djef (14 Oct 2008 - 00:08)
Modérateur
bonsoir ,

voici un exemple qui peut ressembler a ce que tu recherche , mais a tester !! :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>HTML 4.01 Transitional</title>
<style type='text/css'>div {
white-space:nowrap; width:800px;
overflow:auto;
height:190px;
margin:auto;}
div div {
display:table-row;/* ça c'est a cause de ff2 , a verifier que ça ne met pas le zouc ailleurs [smile] */}
a {
zoom:1; /* pour IE */
display:table-cell;/* encore a cause de ff2 */
padding:1em;
}
a img {display:block;}
</style>
</head><body>
<div><!-- conteneur globale et centré -->
<div><!-- conteneur transformé en table css -->
<a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a>
<a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a><a href='#' title=' description du lien ' ><img src="http://forum.alsacreations.com/avatars/2857-avatar-gc.jpg" />test</a>
</div></div></body></html>


Pas de span ni de br dans le code , je n'ai pas d'inquietude pour le comportement de IE , un peu plus pour les autres ,.

le second div pourrait etre un vrai tableau , contenu dans un div en overflow , il n'y aurait la plus aucun doute sur la solidité de la mise en forme ...

GC
Modifié par gcyrillus (06 Oct 2008 - 22:34)
tout d'abord merci Smiley smile

bon je suis en train d'essayer, ça ressemble à cela.
Mais je vois mal comment l'adapter à ma page,
c'est à dire à faire que quand je clique sur une miniature ça affiche la grande comme ça le faisait avant.
Je sais ça doit paraitre bizare mais je suis pas un as du code
je me met dedans quand il faut mais ce n'est pas avec bcp de plaisir Smiley cligne

donc si quelqu'un pouvait éclairer ma lanterne, je lui en serais reconnaissant
Modérateur
Bonsoir,

Je ne sais pas si je vais te rendre vraiment service en t'orientant juste sur ta partie css ...

Ton code html comporte des erreur , puis pour le balisage : plein de div et des liens ... Smiley smile je ne m'attarderais pas trop la dessus exepté pour ta façon d'intégrer les styles et l'entête.

Ceux-ci doivent etre inserer dans la balise head , soit en lien (<link />) ou en dure (<style>) .

Commence par corriger ceci en ecrivant tes balises style comme cela (dans l'entete):
(J'en profite aussi pour reprendre un peu l'entete de ta page en commençant par reprendre un doctype 1.0 )


<!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>
    <meta name="Author" content="Jean-François LEROUX" />

LEs balise meta suivante sont a corrigé : en minuscule avec un chevrons de fermeture (voir ci-dessus)

		<META NAME="Description" CONTENT="Jean-François LEROUX, &#65533;tudiant &#65533; Supinfocom.">
	<META NAME="Keywords" CONTENT="Leroux, jean-fran&#65533;ois leroux, supinfocom, graphisme, jean-francois leroux, infographie, r&#65533;alisation, synth&#65533;se, 2D, 3D, maya, max, 3D studio max, r&#65533;alisateur, cr&#65533;ation, film, court-m&#65533;trage, annecy, canalJ, canal J, espoir de l'animation, ">
	<META NAME="Copyright" CONTENT="Jean-François LEROUX">
	<META NAME="ROBOTS" CONTENT="Index">

la suite ...

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Jean-François LEROUX</title>

<link rel="stylesheet" type="text/css" href="styles.css" media="screen" />
<style type="text/css" media="screen" >
/* les autres styles en dure  ici */
</style>
<!--[if lte IE 7 ]>
<style " type="text/css" media="screen">
/* code pour IE */
</style>
<![endif]-->

</head>
</body>
<div class="info">
<!-- la je ne dis plus rien   [langue] -->


Maintenant en revenant au css de l'exemple proposé , il est adaptable a ta page sans en modifier le code html .
Il faut reprendre en compte quelques differences avec IE , enlever les float et compenser l'effet de simli tableau impliqué.
Dans le code suivant , les regle pour IE devrait etre repasser dans les CC ,
elles sont a coté des autres pour une appreciation globale du code proposé .


div#scrollbox {
width:840px;
height:60px;
overflow:auto;
white-space:nowrap;/* force tout le monde sur une ligne , IE */
}
div#thumbs {
display:inline;/* pour IE */
display:table-row;
white-space:nowrap;/* piqure de rappel *//* force tout le monde sur une ligne , IE */
}
#thumbs a , #thumbs a.gallery {

display:inline;/*  IE ! pas de display block SVP */
zoom:1;/* activation du layout , permet de dimensionné les lien et de contenir les retours de lignes */
display:table-cell;/* les autres */
float:none;/* pas de float !, sinon perte des valeurs  display et de white-space */
padding-left:75px;/* redimensionne le lien , qui par effet de style est vide (span en absolue) 
et se retracte sur lui même : display:table-cell  , 
il faudra passer par les cc pour annuler cette regles dans IE qui n'a pas de raison d'être */
}

Pour IE , je pense que l'on peut proposer ses regles pour les version 7 et 6 (reprise de tes commentaires conditionnel + une modif :ejection du white-space).

<!--[if lte IE7]>
<style type="text/css">
#thumbs a , #thumbs a.gallery {display:inline;zoom:1;padding-left:0px}
a.gallery span {display:block; position:absolute; width:402px; height:280px; top:49px; left:-99999px; padding:5px; font-style:italic; color:#000; background:#fff; z-index:100; font-size:11px;}
a.gallery span img {border:1px solid #000;}
a.gallery:hover {border:1px solid #fff;}
a.gallery:hover img {/* white-space:normal; an e pas conserver */border:1px solid #000; z-index:100;}
a.gallery:active img, a.gallery:focus img {border:1px solid #000; z-index:50;}
a.gallery:hover span {left:170px; z-index:100;}
a.gallery:hover span img {border:1px solid #000;}
a.gallery:active span, a.gallery:focus span {left:170px; z-index:50;}
</style>
<![endif]-->


bon c'est surement mal expliqué et confus et ça fait plus d'une heure que j'essaie de te servir un truc a peu prés correcte et la je fatigue , je repasserais demain .

Grosso-modo , j'ai repris le principe de l'exemple sans modifié ton code html ni ta gestion des hover , en principe cela fonctionne en l'etat.

++
merci beaucoup pour ton investissement !!!!
ça marche à merveille,
et merci également pour tes corrections quant au code de base
Smiley cligne
Modérateur
oki Smiley smile ,

pas vue les correction du code Smiley langue , puis reste le white-space:normal; dans le css pour IE qui perturbe l'affichage .

Dans IE , scroll jusqu'a la derniere image et pose la souris dessus .... ou scroll a mi-chemin et cherche et passe la souris au dessus des images que tu veut voir . Amusant ou frustrant ce IE !

++
si si j'ai corrigé un peu (à mon niveau)
par contre oui c'est un gros plroblème le truc av IE là

aurais-tu une idée ? :s
Modérateur
bonsoir ,

oui , cela semble toujours du a la qualité de ton code .

Il te faut impérativement placé tes balise : <style></style> dans la portion <head></head> et non pas body .

Ensuite , lorsque l'on doit chargé des css correctifs , ceux ci doivent l'etre en dernier , pour s'assurer qu'ils auront bien leur effets quelque soit les modifs ou ajout apporté aux autres (en fichiers externe ou en dure dans <head>).

En regardant le source de ta page , on voit encore :
<link rel="stylesheet" type="text/css" href="styles.css">

</head>
<body>	
<style type="text/css">/*menu bleu*/
* {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline:none;
}
.conteneurmenuV { /*Bloc menu vertical*/

...
outline:none;
  }
</style>

<style>
.info

...
font-size:15px;
  }
      </style>
<style>
/*Bloc gallerieMatt*/
#holder 

...
#pad {height:0px; width:100px;}
</style>
<!--[if lte IE7]>

<style type="text/css">
#thumbs a , #thumbs a.g

.. ICI une erreur en prime Smiley smile :
a.gallery:active span, a.gallery:focus span {left:0px; z-index:50;}
</style>

<! endif -->

  </style>
	  
	  
<style>
#B1

....
 }


</style>

<style>
.fond { /*ligne verticale*/
  width: 2px;

...
et enfin , a nouveau une erreur
} /*fin menu bleu*/
</style>



</style>

<div class="info">
* <em>Site optimis&eacute; 1024*768</em>

</div>


2 balise </style> en trop ,
les commentaires conditionnels en plein milieu (mieux vaut les mettre a la fin , cela est plus logique et propre)

et enfin ces style ne sont pas dans l'entête de la page .

Par ailleurs , il traine encore le white-space:normal; a ejecter Smiley smile
a.gallery:hover {white-space:normal; border:1px solid #fff;}
a mettre comme ceci:
a.gallery:hover { border:1px solid #fff;}

ça c'est dans les style communs , pas IE .<edit> ne sert a rien en fait et provoque ce retour a la ligne dans IE </>

Bon courage , tu y est presque .
++
Modifié par gcyrillus (13 Oct 2008 - 00:38)
Yeah ça marche Smiley smile
merci beaucoup pour tes connaissances (oui je fais un piètre codeur, mais j'ai peu d'atome crochu avec ce truc ^^ )

mille merci