28217 sujets

CSS et mise en forme, CSS3

Pages :
Bonjour à tous, ayant un problème avec mon design je suis venu sur le forum et ait cherché une solution, je l'ai trouvé en la personne de la balise <hr />!
Mais ce qui m'embète avec cette balise c'est qu'il y a une marge en haut et en bas de la barre que cela fait(je l'ai mis en visible)!
Comment faire pour éviter ces marges, faire en fait en sorte qu'il y ait juste la barre et pas plus?
Modifié par Solarius (28 Feb 2005 - 22:28)
Tu peux essayer de supprimer les marges, et mettre la hauteur à 0, et la hauteur de ligne à 1px.


hr {
margin:0;
padding:0;
line-height:1px;
height:0;
}
hr {
padding: 0;
margin: 0;
border: 1px solid #000000;
}

sous IE, il y a toujours une marge inférieure >> non conformité IE

Edit : pris de vitesse par jb_gfx Smiley langue
Modifié par anthony (26 Feb 2005 - 16:39)
Ca ne change absolument rien!
je ne comprends pas du tout pourquoi ça fait ça, j'ai simplement mis la balise pour que mon cadre reste à sa place et non ailleurs où il ne devrait pas être!

Edit pour Anthony:Ca ne marche pas non plus!
Modifié par Solarius (26 Feb 2005 - 16:42)
Ben je suis sur maxthon, version amélioré de IE mais dans le sens onglet et tout ça, sinon c'est IE!
Voilà l'aperçu de mon design:
upload/619-probdesign.JPG

Mon problème se situe en dessous de la zone scrollable du corps!
Voilà le design que je souhaite avoir:
upload/619-explic1.JPG

Pour ma zone scrollable si je ne lui applique pas la balise float:left j'obtiens cela:
upload/619-explic2.JPG

Là en fait ma zone scrollable est en dessous du menu mais toujours dans le cadre de contenu!

Maintenant voilà ce que j'obtiens lorsque je mets la balise <hr />, toujours avec la balise float:left pour la zone scrollable:
upload/619-explic3.JPG

Voilà en espérant que ces dessins pourront vous aider à trouver une solution à mon problème!
En essayant ta méthode Xavier voilà ce que cela me donne:
upload/619-probdesign2.JPG


ca ne me donne toujours pas ce que je veux, c'est à dire enlever les marges mais en laisser en dessous de la zone scrollable!
Je manque certainement d'imagination, mais pour moi c'est très difficile de comprendre le fond du pb avec ces images.
En première approche je ne vois pas le rapport avec <hr/> ni avec ton premier post. Pourrais tu fournir le bout de code qui ne va pas ou un lien vers une page réelle et palpable ?
Bon je ne peux vous donner de lien vers mon design ,mais je peux donner le code:
Html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > 
<head> 
	<title>Mon super site</title> 
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
	<style type="text/css">
	@import url("style-scrollable.css");
	@import url("style2.css");
	</style>
</head> 

<body> 

<div id="global">

	<!-- L'en-tête --> 
	<div id="en_tete"> 
	</div>
	
	<!-- La barre de navigation-->
	<div id="menu_haut">
	</div>
	
	<!-- Les menus --> 
	<div id="menu">        
		<div class="element_menu"> 
			<h3>Menu 1</h3> 
			<ul> 
				<li><a href="#">Lien</a></li> 
				<li><a href="#">Lien</a></li> 
				<li><a href="#">Lien</a></li> 
			</ul> 
		</div> 
		
		<div class="element_menu"> 
			<h3>Menu 2</h3> 
			<ul> 
				<li><a href="#">Lien</a></li> 
				<li><a href="#">Lien</a></li> 
				<li><a href="#">Lien</a></li> 
			</ul> 
		</div>       
		
		<div class="element_menu"> 
			<h3>Menu 3</h3> 
			<ul> 
				<li><a href="#">Lien</a></li> 
				<li><a href="#">Lien</a></li> 
				<li><a href="#">Lien</a></li> 
			</ul> 
		</div>   
	</div> 
	
	<!-- Le corps -->
	<div id="corps"> 
		<h1>corps</h1>
		
		<div id="contenu">
			<p class="texte"> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			texte<br /> 
			</p>
		</div>
		<hr />
	</div>
	
	<!-- Le pied de page --> 
	<div id="pied_de_page"> 
		Copyright "project 40k" 2005, tous droits réservés
	</div> 

</div>
</body> 
</html> 


Et le code css:

body 
{ 
	width: 99%; 
	margin: auto; 
	margin-top: 10px; 
	margin-bottom: 0px; 
	background-color: #000000;	
} 

#global
{
	border: 1px solid #808080;
	background-image: url('fond.gif');
}

#en_tete 
{ 
	width: 100%;
	height: 156px;
	background-image: url("fond_banniere.jpg"); 
	background-repeat: repeat-x; 
	margin-bottom: 0px; 
	border: 1px solid #808080; 
} 

#menu_haut
{ 
	width: 100%;
	height: 20px; 
	margin-top: 0px;
	margin-bottom: 10px;
	background-color: #777777;	
	border: 1px solid #808080; 
} 

#menu 
{ 
	float: left; 
	width: 120px; 
	padding-bottom: 0px; 
} 

#corps 
{ 
	margin-left: 140px; 
	margin-bottom: 100px;
	padding-bottom: 0px; 
	font-family: Verdana ,Simsun ,Arial, "Arial Black", "Times New Roman"; 
	font-size: 9pt; 
	background-image: url("bas.jpg");
	border: 1px solid #808080; 
} 

hr 
{
  clear: both;
 display:block;
 height: 1px;
 margin: -1px;
}

}

#contenu
{
	float: left;
	margin: 0px;
	padding: 0px;
	width: 100%;
	height: 400px;
	overflow: auto; /* cette propriété va permettre le scroll de ce bloc */
	background-color: #eaeaea;
}

#pied_de_page 
{ 
	width: 100%;
	padding: 0px;
	text-align: center; 
	color: black; 
	border: 1px solid #808080; 
	height: 20px;
	background-image: url("haut_menu.jpg");
} 


Je ne mets pas le code du fichier style2.css parce que c'est juste du code pour les effets de style, pas le positionnement quoi!
En espérant que ça puisse vous aider!
Ou sinon si tu as une adresse msn on pourrait voir ça ensemble?
Ca serai plus simple comme ça je pense!
Modifié par Solarius (26 Feb 2005 - 17:29)
J'avoue que ton code me surprend à plus d'un titre, en parculier, je vois mal l'utilité de <hr /> dans le contexte, je ne vois pas non plus l'intérêt de faire flotter #contenu.

Les flottants ne sont pas toujours facile à gerer, et IE est plein de bugs à ce sujet. En l'ocurence il faut forcer la hauteur du container #corps {_height: 400px;} pour IE exclusivement. Noublie pas non plus les marges des -7px sur <hr /> pour IE (voir le lien que j'avais donné au dessus).
Bon j'ai limpression que c'est pas bien clair!
Alors voilà ce que je voudrais faire avec la zone scrollable et le cadre du corps:
http://perso.wanadoo.fr/max.jeux/index2.html

Mais bien sur je voudrais que ce soit dans le site entier!

Maintenant voilà ce que ça me donne en ne mettant pas la balise <hr />(j'ai volontairement mis une bordure en jaune pour que l'on la voit mieux):
http://perso.wanadoo.fr/max.jeux/index3.html

Maintenant vu que tu ne vois pas l'intérêt de faire flotter #contenu, voilà ce que ça donne en ne le faisant pas flotter:
http://perso.wanadoo.fr/max.jeux/index4.html

Et je ne vois pas comment faire autrement!
Maintenant j'espère que quelqu'un va pouvoir m'aider parce que là j'ai tout donné ce qui pourrait être utile!
Modifié par Solarius (26 Feb 2005 - 20:43)
Je suis désolé, mais je ne comprends pas réellement. J'ai essayé de visualiser l'url que tu donnes en modèle (index2.html) dans 3 navigateurs différents (Mozilla, IE et Opéra) et je visualise 3 choses de différentes. Je ne sais pas d'où partir.

Je ne vais pas pouvoir d'aider. En espérant que quelqu'un d'autre soit plus perspicace.
Modifié par Xavier (26 Feb 2005 - 23:53)
Bonsoir Solarius,

Je ne sais pas si je vais réussir à t'aider beaucoup.
Mais pourquoi imbriquer un div contenu dans un div corps.
Il est déconseillé d'imbriquer trop de div ... lourdeur de code, problème d'héritage des propriétés ... et plus généralement, les effets visuels doivent être gérés par la feuille de style ...

Si c'est pour l'image de fond, tu peux la positionner dans contenu avec la propriété background-position et background-repeat et éliminer le div corps.

Il y a aussi un truc qui pourrait remplacer ton <hr/> : utiliser une bordure haut ou bas à l'aide des propriétés border-top ou border-bottom. Tu peux définir des styles pour les bordures.

Mais il est vrai qu'on a du mal à comprendre ton montage Smiley cligne

Espérant t'avoir donné quelques pistes ...
Modifié par Vero (27 Feb 2005 - 01:25)
Bon alors voilà ce que je voulais:
http://perso.wanadoo.fr/max.jeux/

Mais je voulais que en bas de la zone scrollable il y est pareil qu'en bas des menus, donc c'est pour ça que j'ai mis la zone scrollable et le titre dans un contenu, pour pouvoir mettre l'image que je voulais en fond du bloc contenu et afficher cette image juste en dessous de lz aone scrollable!

Dans la solution que j'ai fais là j'ai enlevé le bloc contenu mais je ne vois pas comment metre l'image du bas des menus en dessous!
Si vous avez une idée pour ça, je suis preneur!
Peut-être un truc du style :


#corps {
...
background-image: url("bas.jpg");
background-position: bottom; 
background-repeat: repeat-x;  /* répétition horizontale de l'image */
}
Ta méthode Vero place l'image bas.jpg dans la zone scrollable, et tout en bas donc là vu qu'il y a du texte on le voit pas!
Comment faire maintenant pour que l'image ne soit pas dans la zone scrollable, en dessous quoi!
J'ai mis à jour l'adresse au dessus!
D'ailleurs il n'y aurai pas un moiyen de faire en sorte que l'image en bas soit plus haute?
Modifié par Solarius (27 Feb 2005 - 20:30)
Essayer une marge en bas du paragraphe

.texte
{
padding: 10px ;
margin: 0px ;
font-size:105%;
margin-bottom: 30px ; */calculer la bonne valeur */
}

Dans le menu du forum, tu as un lien : Doc CSS, toutes les propriétés y sont décrites ...
Smiley cligne
Modifié par Vero (27 Feb 2005 - 20:59)
Pages :