28173 sujets

CSS et mise en forme, CSS3

Bonjour,

Je continue le ravalement de mon album photo et j'ai un nouveau problème avec mes images.

Pour voir de quoi il retourne, voici le lien : http://lossless.trade.free.fr/

Le bloc de droite, avec la grande image, s'obstine à avoir des sortes de marges hautes et basses. J'ai artificiellement gommé cette incongruité en ajoutant des marges droite et gauche, ce qui rétabli la symétrie... pas bête hein Smiley cligne .
Donc, ma première question : Pourquoi ai-je des marges comme ça ? Comment les éliminer ?

J'ai le même problème avec le bloc titre placé en haut de page qui est séparé de la limite haute de la fenêtre par un espace que je n'arrive pas à maîtriser. Le même espace se place en bas de ce bloc pour repousser les bloc inférieurs. Comment maîtriser ces espacements ?

Enfin, existe-t-il une solution pour forcer un bloc à occuper toute la place disponible de la fenêtre sans la dépasser ? Par exemple, j'aimerais que le bloc avec la grande image descende jusqu'au bas de la fenêtre et centrer l'image dans ce bloc pour des raisons d'esthétisme. Est-ce possible ?

Code du fichier styles.css :

html,

body {
  background-color: #336699;
}

h1 {
  font-size: 26px;
  font-family: Arial Black;
  color: #EBDCDC;
}
A.Lien_Image {
  color: #CCCC33;
  text-decoration: none;
}
A:hover.Lien_Image {
  color: #669933;
  text-decoration: none;
}
.Page{				/* Circonscription des éléments à la fenêtre du navigateur*/
  width: 98%;
  height: 98%;			/* En résolution 1024x768, il faut fixer la hauteur à 98% pour ne pas avoir de scrollbar */
}
.Titre{				/* Définition de la "class" du bloc "div" qui contiendra le titre de la page */
  width: auto;			/* Pour centrer : il faut donner une largeur au bloc. La largeur de ".Titre" hérite de la largeur du bloc ".Page" */
  background-color: #5D7597;
  float: top;			/* Positionnement en tête de page. Les blocs suivants se placeront en dessous */
  text-align: center;		/* Centrage horizontal du texte */
}
.ColonneGauche {
  float : left;			/* Définition de la partie gauche de l'écran qui recevra ".ConteneurBoutons" et ".ConteneurApercus" */
  margin-right: 2px;
}
.ConteneurApercus {
  padding-top: 4px;
  width: 237px;
  height: 80%;
  overflow: auto;
  background-color: #5D7597;
}
.apercus {
  margin-right: 4px;
  margin-left: 4px;
  margin-top: 0px;
  margin-bottom: 4px;
  width: 100px;
  float: left;
}
.ConteneurBoutons {		/* Le bloc ne semble plus avoir d'influence sur l'organisation */
  width: 226px;
  position: relative;		/* Positionner les boutons en bas de page juste en dessous du bloc ".ConteneurApercus" */
}
.boutons {
  margin-right: 4px;
  margin-left: 4px;
  margin-top: 4px;
  margin-bottom: 10px;
  width: 100px;
  float: left;
}
.Ajustement {
  width: auto;
  height: 85%;
}
.ConteneurPhoto {		/* Bizarrement, il y a des marges haute et basse. Je n'arrive pas non plus à maîtriser les espacement avec les autres blocs */
  float: right;			
  background-color: #5D7597;
  padding-left: 18px;
  padding-right: 18px;
}


Code du fichier index.html :

<html>

    <head>
        <title>NOTRE ALBUM PHOTO - Onglet "Nos Vacances"</title>

	<link href="style.css" rel="stylesheet" type="text/css">
    </head>

    <body>

	<div class="Page">

	    <div class="Titre">
		<h1>UN PETIT RESTAURANT A SHINJUKU</h1>
	    </div>

	    <div class="ColonneGauche">
		<div class="ConteneurApercus">
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		    <p class="apercus"><a href="index.html" class="Lien_Image"><img src="Japon2006/00_Apercus/05_Restaurant_apercu_05.jpg"></a></p>
		</div>
		<div class="ConteneurBoutons">
		    <p class="boutons"><a href="index.html" class="Lien_Image"><img src="Boutons/Bouton_Sommaire_Album_Photo.png"></a></p>
		    <p class="boutons"><a href="index.html" class="Lien_Image"><img src="Boutons/Bouton_Sommaire_Japon_2006.png"></a></p>
		</div>
	    </div>

	    <div class="ConteneurPhoto">
		<p><img class="Ajustement" src="Japon2006/05_Restaurant/05_Restaurant_06.jpg"></p>
	    </div>

	</div>

    </body>

</html>


Merci par avance encore une fois pour votre aide.

Vous aurez remarqué que la taille de l'image s'adapte à la dimension de la fenêtre. J'en suis très contente et fière... et reconnaissante à Laurent Denis pour son aide... Smiley smile .

Meg
Bonjour et bienvenue Meg123 Smiley smile

Smiley eek Combien de fois vas-tu publier le même sujet avec des modifs ?

Si tu veux modifier le contenu d'un post, il suffit de cliquer sur le bouton "Editer" du post concerné.

Un petit passage par les règles du forum s'impose Smiley cligne

Je supprime les autres sujets...
Modifié par dominique (02 Aug 2007 - 16:50)
Bonjour dominique,

Je suis désolée. Je n'avais pas vu que le sujet était posté à nouveau. je pensais qu'il serait écrasé... pas maline moi Smiley confused .

Mais je n'ai toujours pas vu où cliquer pour éditer un sujet...

Pardon.

Meg
Smiley smile

Je t'ai donné dans mon message précédent un lien vers les règles du forum, tu y trouveras toute l'aide nécessaire pour l'utilisation du forum Smiley cligne

Il y a aussi le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?..."), il est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.

Lorsque tu es connectée et que tu regarde un de tes posts, il y a un bouton "Editer", il te permet de modifier le contenu de tes interventions... Regarde bien, il y est dès que tu es connectée et seulement sur tes messages Smiley cligne
Bonjour,

On peut quand-même tenter quelques pistes.

a écrit :
Pourquoi ai-je des marges comme ça ? Comment les éliminer ?

Tu as des marges comme ça parce que les <p> ont des marges par défaut (chez moi, 16px).
Tu les élimineras en plaçant l'image sans le paragraphe ou en annulant les marges de ce <p>
<p style="margin:0;padding:0;">

a écrit :
J'ai le même problème avec le bloc titre

La réponse est la même pour les <h->
À quoi tu peux ajouter :
html, body {
  background-color: #336699;
  [#darkred]margin:0;
  padding:0;[/#]
}

Pour ta 3e question, c'est certainement possible. Mais il va te falloir attendre. Il est tard…


+ Tiens-tu tellement à toute cette élasticité ?
Le “float:right” du “.ConteneurPhoto” (qui devrait plutôt être “#ConteneurPhoto”) affiche

     upload/3448-apercu.jpg

ou place l'image en dessous du menu. Pas terrible. Essaye un “float:left” pour voir.

+ Après un petit tour dans la charte du forum, un petit coup d'œil sur quelques règles CSS te sera peut-être profitable (-;
car
a écrit :
float: top; /* Positionnement en tête de page. Les blocs suivants se placeront en dessous */
n'existe pas.
Modifié par Gihef (03 Aug 2007 - 01:31)
Bonjour Gihef,

Merci beaucoup pour tes explications. Ca y'est, j'arrive à maîtriser les bordures qui m'ennuyaient. Du coup, j'en ai profité pour bidouiller 2-3 choses pour améliorer le rendu de la page.

En revanche, je ne comprends pas pourquoi l'affichage n'est pas correct chez toi. Je suis consciente qu'il y a des différences d'interprétations selon les navigateurs, mais tu utilises un outil Apple, non ? Je pensais que le navigateur maison (Safari ?) était proche de FireFox...

Je pose ici un lien vers la capture d'écran de l'affichage que j'obtiens sous FireFox 2.0.0.6 :
http://lossless.trade.free.fr/Japon2006/Capture.jpg[/url]

Pour ce qui est de la flexibilité ; je conviens qu'elle ne serait pas si indispensable si le but était de simplement héberger une petite gallerie sur le Web. Mais mon projet est de construire, sur la base d'un développement Web, une archive de consultation hors-ligne.

[Attention, je raconte ma vie]
Si je devais mettre mes petites images en-ligne, je pense que ce ne serait que pour des consultations d'amis ou famille disposant d'une grosse bande passante. Le but pour moi est de ne plus redimensionner les images. Je veux, au fil de l'eau, construire un album photo qui stockera les images originales non redimensionnées et ne plus jamais avoir à les retoucher. Ca me garantira une maintenance bien moins fastidieuse à l'avenir.
[/Ca y'est, c'est fini, c'était ma vie... cool ma vie, non ?]

J'avais déjà travailler sur un float:left pour le bloc d'affichage de la photo, mais le non-alignement avec le titre me gênait un peu. De plus, le bloc passait quand même sous le menu (ce qui n'est pas top, je suis complétement, d'accord. C'est pourquoi j'ai donné un pourcentage de 88% plutôt que 90% ou 92%). Du coup, j'ai pris la solution qui me gênait le moins en considérant une résolution au moins égale à 1024x768.

Pour ta réponse à ma 3ème question ; puisque tu dis que ça semble possible, je vais encore creuser. Car il me semble que cette solution réglerait en même temps le problème esthétique et le problème de placement du bloc dans l'hypothèse d'une fenêtre d'affichage trop petite.

En tout cas, merci tout plein. Je ne compte pas les heures de tâtonnement (qui sont tout de même une technique d'instruction très efficace) que tu résouds en quelques instants... youpi Smiley biggrin .

Meg
Bonjour à tous,

Je viens d'acheter le bouquin de M. Laurent Denis,Pratique du Design Web (Coucou M. Denis) et celui de M. Eric Meyer, CSS - La Référence.

Je les ai parcouru et la, paf, une idée géniale de triche pour mon problème esthétique dont je vous entretenais dans mon dernier billet. J'ai fait 3 feuilles de styles. Elles sont toutes les trois identiques sauf en ce qui concerne les mesures des éléments qui vont s'adapter à l'écran de l'utilisateur. Je propose 3 configurations (800x600, 1024x768, 1280x1024).

Alors voilà, j'ai des questions au sujet de cette façon de faire :
- Suis-je trop maline ? Non, parceque je dois vous dire que je ne me sens plus de joie et de fierté d'avoir trouvé ce biais...
- Est-ce légal ? J'ai de très sérieux doutes à ce sujet...
- Quelqu'un aurait-il des commentaires à formuler ? Au sujet de problèmes que je pourrais rencontrer avec ce détournement...

Je vous remercie par avance pour toutes vos réactions et vous souhaite une bonne soirée.

Note : Pour illustrer mon propos, je metterai le résultat en ligne demain je pense...

Meg
Administrateur
Bonjour,

Meg123 a écrit :
Bonjour à tous,

Je viens d'acheter le bouquin de M. Laurent Denis,Pratique du Design Web (Coucou M. Denis) et celui de M. Eric Meyer, CSS - La Référence.

Raphaël Goetter et non Laurent Denis Smiley capello (on parle bien de CSS2: Pratique du design web, 2ème édition chez Eyrolles?)

Laurent Denis: Openweb Temesis Blog&Blues préface du livre de Zeldman et 7216 interventions ici Smiley murf
Modifié par Felipe (05 Aug 2007 - 03:04)
Bonjour,

Nom d'un petit canard en plastique jaune ; mais oui Maître, vous avez une fois raison. J'ai fait un amalgame dramatique entre M. Denis et M. Goetter. Diable !

Je vous remercie d'avoir relevé et rectifié l'erreur.

[Etonnement]
Tiens, c'est curieux ; cette image de Maître Capello me rappelle l'usager d'un autre froum que je fréquente en freelance... la coïncidence serait incroyable.
[/Etonnement]

Meg
Bonjour,

Après quelques recherches et amusements (ajout d'un sélecteur php), je n'ai pas encore trouvé de site utilisant les feuilles de styles alternatives pour adapter la navigation à l'affichage de l'écran de l'utilisateur, mais finalement, je n'ai pas l'impression que ce soit illégal...

Ce qui me plaisait dans cette solution était que je ne faisais pas appel aux cookies. Ca me semblait élégant. Pourtant, si l'affichage de la première page(celle générée par le sélecteur php ou via le menu de navigation du navigateur Gecko) correspond au choix sélectionné par l'utilisateur, ce choix n'est pas conservé pour le reste de la naviagtion. Du coup, il me semble que pour que cette solution soit efficace, il faudrait utiliser les cookies.

Et là, j'ai bien peur de ne plus avoir le droit de vous importuner pour mes petits problèmes puisqu'il s'agit de code php... Smiley tristesse .

Merci quand même pour tout, j'ai bien avancé grâce à vous Smiley joie .

Meg
Bonjour,

Meg123 a écrit :
Alors voilà, j'ai des questions au sujet de cette façon de faire :
- Suis-je trop maline ? Non, parceque je dois vous dire que je ne me sens plus de joie et de fierté d'avoir trouvé ce biais...

Je ne me prononce pas sur l'état ou le degré de malignité des membres de ce forum, mais on peut juste dire ceci:
- ce procédé est relativement inutile;
- il demande à l'utilisateur de faire un choix, ce qui ralentit ou peut décourager sa consultation du site, d'autant plus que l'utilisateur en question n'a probablement pas la moindre idée de ce qu'est la dimension d'affichage de son écran, ou de ce à quoi correspondent les nombres affichés.

Meg123 a écrit :
Est-ce légal ? J'ai de très sérieux doutes à ce sujet...

Rien dans le code pénal ou le code civil ne semble proscrire le fait de proposer au public plusieurs versions ou déclinaisons d'un site internet. Je ne crois pas que le législateur français (ou de quelque autre pays) se soit préoccupé de ce sujet, et à juste raison.

Si la question est «est-ce conforme?», la réponse est: oui, probablement, du moment que le code HTML et CSS utilisé est conforme.

Non, la vraie question est: est-ce une bonne pratique? Réponse: à priori, non.

Un peu de lecture pour envisager d'autres solutions: Faire un site pour toutes les résolutions.
Bonjour Florent V.

Je rejoints tes remarques complètement, mais mon projet ne se situe pas dans un cadre de consultation ouverte à tous via Internet. A la plus grande extrême, il sera destinée à une consultation en ligne par des proches uniquement.

En fait, c'est la seule solution que j'ai trouvée sans passer par javascript.

A l'heure actuelle, j'ai ajouté pas mal de code php pour gérer le menu déroulant et la session ec qui permet de garder la feuille de style choisie par l'utilisateur tout au long de la navigation sans utiliser les cookies. ca marche très bien chez moi, mais ça bugue un epu chez Free...

Enfin bon, nous sommes donc désormais dans du php et ce n'est pas l'objet de ce site. Je voulais juste clore ce sujet pour donner toutes les infos à celui qui éventuellement tombera sur ce billet.

Merci beaucoup à tous Smiley biggrin .

Merci, merci.

Meg