28173 sujets

CSS et mise en forme, CSS3

Bonjour,
prenons une page de 800px de large centrée et transparente. Je dois lui adjoindre un fond (image) qui doit suivre parfaitement cette page.

Le fond ne dépasserait pas la largeur de la page ça ne serait pas un probleme mais ce n'est pas le cas Smiley decu j'ai donc fais un div parent mais pour que celui ci soit aussi centré horizontalement il lui fuadrait uen largeur fix ce que je ne veux pas sinon il y aurait tout le teps une scroll horizontal...

il faudrait en fait queje puisse faire une sorte d'overflow: visible; sur la page eci avec le background...

si vous avez une idée ?
Si je comprend bien, ce que tu veux faire c'est appliquer un fond d'écran à un div qui comprend ton contenu, large de 800px, et centré dans la page ?

Parceque si c'est le cas, tu peux simplement affecter un bacground-image à ton div, et utiliser margin: 0 auto; pour le centrer dans la page...

Ou alors, je n'ai pas bien compris ta question (un dessin pourrait aider !)...

Edit : je viens de relire... tu veux un fond "plus grand", mais plus grand comment ? qui couvre la page ???
Modifié par davidm (30 Aug 2006 - 12:49)
Le fond est plus large que les 800px. là est mon problème, sinon je l'aurais appliqué au div de mon contenu et ainsi il suivrait parfaitement celui-ci que l'on étire, reduit ou scoll la fenêtre. Smiley smile

enfin voilà c'est pas simple Smiley murf
Modérateur
bonjour,

sans exemple en ligne , difficile de cerner ton probleme.

as tu essayé de le positionné avec un: background-position: xx xx ;

++
Que je fournisse un exemple ou pas, si tu ne comprends pas ce que je veux faire ^^ ça ne changera rien au chmilblique.

je veux simplment qu'un background suive un dv avec une largeur fixe. En sachant que le background et plus grand que le div. voila en gros.

Pour ceux qui qui maîtrise le sujet et donc ont déjà dut passer par là, ils sauront que la problématique ce situe dans le fait de bloquer le background horizontalement surtout ^^

encore merci
Ifmy a écrit :
je veux simplment qu'un background suive un dv avec une largeur fixe. En sachant que le background et plus grand que le div. voila en gros.

Mouais, les solutions peuvent dépendre du design à réaliser. Mais en gros je vois :
- soit mettre le fond à l'intérieur d'une div plus large (genre 960px) et un bloc de 800px à l'intérieur ;
- soit appliquer l'image de fond à l'élément body, et jouer sur la propriété CSS background-position pour le centrer.

Je tenterais plutôt quelque chose à partir de la deuxième solution.
Modérateur
:) ,
ah zut ! ... je n'ai pas ma boule de cristal.
alors ce background-position ? et la page suit-elle les standards , quelle navigateurs, etc ...
Voyons depuis quand y'aurais t-il des soluces universelles , basiquement , c'est aussi comme le dit mpop .

- un center (position du fond , sur body ) + un text-align:center (centrage IE mode quirk).
- un margin:auto; (prendre une taille de largeur pair et pas impair ! ... 800px c'est bon Smiley lol )

.... aprés tu brode avec ta page , si besoin annuler les marges par defaut sur html et body si IE est recalcitrant , etc ....

... est ce pour caler/raccorder une texture en diagonale sur un design centré et decoupé maison ? .... heu c'est vrai ,je n'ai pas ma boule de cristal ...

++

<edit> background-attachement ... voir : http://openweb.eu.org/articles/overflow_fond_fixe/
et le background-attachement:fixed; ne marche dans IE que sur la balise body </edit>
Modifié par gcyrillus (30 Aug 2006 - 21:56)
Re Smiley smile

En effet je pourrais mettre mon fond dans un div parent qui aurait une largeur fixe. Ainsi je pourrais lui aussi le centrer et ainsi parent et enfant resteraient mains dans la main Smiley lol sauf que dans ce cas la bar de scroll horizontal serait non plus dépendante des 800 px de large mais de la largeur que j'aurais fixé à mon div parent servant de conteneur au background Smiley ohwell

Le binz didju Smiley confus

le plus proche mais quine mènera pas à la solution et de simplement appliquer mon background à mon div de 800, sauf qu'on en verra jamais plus de 800 px snif :'(

faudrait une nouvelle règle en css ^^ overflow-background: visible;

ça me plaît bien pas vous? Smiley langue

si les clients voulaient pas des trucs aussi tordu... Smiley langue

ps: j'utilisais déjà l'astuce d'un div parent pour afficher un background mais pas dans les même condition Smiley cligne www.guikit.com (pas la peine d'essayer avec IE je verrais à la sortie d'ie7 si on peut ou non corriger)
Salut ...

La deuxième solution de mpop ne permet-elle pas justement d'éviter que la barre de défilement n'apparaisse trop tôt ?
Modérateur
peut-etre un padding dans le block centré pour agrandir sa surface sans augmente l'espace disponible au contenu .

ensuite sa sent la bidouille si il faut pouvoir compresser la page jusqua 800px de large sans voir le "site" decentré, des marge negatives sur body pour reprendre le padding ?, oulala , jamais essayé ça Smiley smile , y' apeut-etre plus simple .
++
Bonjour,

Je viens de finir ça (en brut )
Si ça peut t'inspirer !!


 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
			
<head> 
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title></title> 
   <meta name="TITLE"  />

   <meta name="ROBOTS" content="none" />




</head>

<style>
HTML {overflow-y:hidden;}
body{
   margin: 0;
   padding: 0;
   background-color: #ffffff;
   font-family: "Times New Roman", Times;
   text-align: justify;
   font-size: 0.8em;

}

#conteneur1{
   width: 820px;
   margin: 0;
   margin-right: auto; 
   margin-left: auto; 
   padding: 0;


}
#conteneur2{
   width: 820px;
   margin: 0;
   margin-right: auto; 
   margin-left: auto; 
   padding: 0;
   background-image: url(ton-image.jpg); 
   background-attachment: fixed;
   background-repeat: repeat;
   background-position: 30% 0%;
   position : absolute;
   color: #000;
}

#conteneur3{
   width: 820px;
   height : 700px;
   padding: 0;
   overflow : auto;

}

#bloc_gauche{
   float: left;
   width: 200px;
   font-family: tahoma;
   text-align: left;
   font-size: 23px;
   padding-left:25px;

}

#bloc_droite{
   float: right;
   width:450px;
   padding-right: 15px;
   margin-bottom: 150px;
}
  
#footer{
   width:820px;
   height: 50px;
   clear: both;
   background:#592b1e;
   text-align: center;
   padding-top: 20px;


}  

#space{
   width:820px;
   height: 150px;
   background:#fff;
}

hr   {
height: 1px;
border: 0;
}
hr.b1   {
color: #7b9aff;
background-color: #7b9aff;
}  

hr.b2   {
color: #81edff;
background-color: #81edff;
} 

hr.b3   {
color: #fffc9a;
background-color: #fffc9a;
}
li {color: #000;}

</style>
</head>
<body>
<div id="conteneur1"> 
<div id="conteneur2"> 
<div id="conteneur3"> 

<div id="bloc_gauche">
Bla bla bla <br />
Bla bla bla <br />
Bla bla bla <br />
Bla bla bla <br />


</div>	

<div id="bloc_droite">

Du 14 au 18 nov / 00h<br />
Dés(Equilibres / Cie Pupella Noguès	<br />
Ce spectacle met en jeu un univers artisanal d’objets de récupération dans un environnement multimédia. Sans perdre de vue la spécificité de l'art et l’originalité de la marionnette, la compagnie s’attache à explorer les nouvelles voies du spectacle vivant et notamment son ouverture aux nouvelles technologies. Elle utilise le mélange de différents supports, techniques et langages.<br />
site web<br />
l'Antirouille - Mende / 00€	<br />
Renseignements et réservations : 00.00.00.00.00 / mail ?
<hr class="b1">

Sed dignissim dignissim urna. Nullam quis erat at sapien tincidunt tempor. In ornare, massa at aliquet mollis, velit felis pharetra lacus, eu vestibulum leo justo ut turpis. Praesent justo leo, condimentum eu, varius a, lacinia nec, diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin vestibulum, turpis quis malesuada gravida, velit diam dignissim tellus, at tempor mauris nunc non massa. Vestibulum et elit. Aenean hendrerit diam id libero.
<hr class="b2">

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis pulvinar. Praesent nisl nisi, convallis a, facilisis ut, pulvinar sit amet, lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
<hr class="b3">

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis pulvinar. Praesent nisl nisi, convallis a, facilisis ut, pulvinar sit amet, lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce quis mauris. Sed dignissim dignissim urna. Nullam quis erat at sapien tincidunt tempor. In ornare, massa at aliquet mollis, velit felis pharetra lacus, eu vestibulum leo justo ut turpis. Praesent justo leo, condimentum eu, varius a, lacinia nec, diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin vestibulum, turpis quis malesuada gravida, velit diam dignissim tellus, at tempor mauris nunc non massa. Vestibulum et elit. Aenean hendrerit diam id libero.
<hr class="b1">
 
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis pulvinar. Praesent nisl nisi, convallis a, facilisis ut, pulvinar sit amet, lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce quis mauris. Sed dignissim dignissim urna. Nullam quis erat at sapien tincidunt tempor. In ornare, massa at aliquet mollis, velit felis pharetra lacus, eu vestibulum leo justo ut turpis. Praesent justo leo, condimentum eu, varius a, lacinia nec, diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin vestibulum, turpis quis malesuada gravida, velit diam dignissim tellus, at tempor mauris nunc non massa. Vestibulum et elit. Aenean hendrerit diam id libero.
<hr class="b1">
 
Du 14 au 18 nov / 00h<br />
Dés(Equilibres / Cie Pupella Noguès	<br />
Ce spectacle met en jeu un univers artisanal d’objets de récupération dans un environnement multimédia. Sans perdre de vue la spécificité de l'art et l’originalité de la marionnette, la compagnie s’attache à explorer les nouvelles voies du spectacle vivant et notamment son ouverture aux nouvelles technologies. Elle utilise le mélange de différents supports, techniques et langages.<br />
site web<br />
l'Antirouille - Mende / 00€	<br />
Renseignements et réservations : 00.00.00.00.00 / mail ?
<hr class="b1">

</div>

<div id="footer">Bla bla bla</div>
<div id="space"></div>
</div></div></div> 
</body>
</html>
Modérateur
re bonjour,

apres avoir suivi ton lien, et vu ta page , il me semble bien que le lien vers open web que j'avais mis repond a ton soucis, ne reste que le decallage d'1em du header du a la barre de scroll a priori.

voici une proposition de code a tester (puis a repasser en commentaire conditionnel) .
html {_overflow:hidden;}
body {_overflow:auto;}
html , body , #content {_height:100%;}
#header {_position:absolute;_margin-left:-1em;/*reprise du scroll*/}

ce code avec les underscore est juste pour test et a mettre tout a la fin du css . ces valeurs ne seront reconnu que par IE , elles doivent etre imperativement chargé en derniers afin qu'aucune autre valeur les ecrasent .

++<edit>
voici une image sous IE 6 , css editer avec la devtoolbar de IE , je suis en train encore de la tester et c'est franchement pas rapide/efficace , rien a voir avec le plug-in de firefoxe, mais ça marche quand-même a priori. ! upload/2857-imfy.JPG



Pour revenir au sujet initial:
il suffit de positionné le background dans le conteneur en position:center ; et le mettre aussi dans body .
en retrecissant la page , le fond de body disparait mais celui du conteneur reste visible et toujours a sa place sans se recentré par rapport a la fenêtre .
le padding et margin negatif est un troll Smiley cligne désolé !
Modifié par gcyrillus (31 Aug 2006 - 02:00)
Bon au cas ou voici une capture ^^désolé pour le flou à tout va mais je ne peux malheureusement pas en montrer plus Smiley langue upload/2508-image.jpg donc il y a la page de 800 de la large (les trucs flous lol) et le fond (forme ovoïde verte et bleu clair). ce fond doit toujours être positionné à l'identique par rapport au bloc de 800px et ne doit pas engendrer l'apparition d'une scrollbar de par sa taille Smiley smile

voila en gros ^^
Modérateur
bonsoir,

c'est vrai, c'est plutot flou Smiley smile .

si la page (partie centrée ) est extensible , alors je pense le resultat difficile a obtenir .... peut-etre faut-il penser a avoir plusieurs images pour les raccords et du gif transparent eventuellement.

Si la page a des dimensions fixe en pixels (hauteurs largeur) , alors la piste serait peut-etre de place le fond dans un conteneur en position absolute et centré a l'aide de marge negative , afin de pouvoir sortir vers la gauche.Le defaut des marges negatives n'aurait alors aucune incidence sur le contenu interessant et visible.

Un fond extensible est "hors jeu".


Le plus simple serait vraiment de laisser a dispo une structure html / css de base et des images . celle -ci peuvent etre noir et blanc , avec de simple trait "ovales" , simplifiée, ... et le contenu remplacé par du "lorem ipsum" .

Le comportement globale de la page est a prendre en consideration a mon avis et sans une base minimale il est difficile de t'orienté vers des solutions eventuelles .


++
Modifié par gcyrillus (31 Aug 2006 - 21:32)