28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,

Alors voici mon probleme:
je voudrais réussir à mettre en forme une page comme ceci:
http://theirshadowshine.skyrock.com/
quand vous resizez la page, l'image de fond ne diminue pas et le contenu reste sur son fond blanc sans non plus se resizer.
Et le contenu peu importe la définition est lisible, seul les cotés de l'image sont moins importants...
j'ai beau essayer les paddings les margins...
pour info, je travaille sous dreamweaver mais rien n'y fait je n'yarrive pas:

le mieux que j'ai obtenu est avec ce code qui à mon avis est truffé d'erreurs et de choses inutiles:



a écrit :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
<style type="text/css">
<!--
body {
font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
margin: 0;
padding: 0;
color: #000;

}

/* ~~ Sélecteurs d'éléments/balises ~~ */
ul, ol, dl { /* En raison des variations entre les navigateurs, il est conseillé d'attribuer une valeur de zéro aux marges intérieures et aux marges des listes. A des fins de cohérence, vous pouvez définir les valeurs désirées dans cette zone ou dans les éléments de liste (LI, DT, DD) qu'elle contient. N'oubliez pas que les paramètres que vous définissez ici se répercuteront sur la liste .nav, sauf si vous rédigez un sélecteur plus spécifique. */
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
margin-top: 0; /* l'ajout de la marge intérieure aux côtés des éléments à l'intérieur des divs, et non aux divs proprement dit, évite le recours à des calculs de modèle de boîte. Une autre méthode consiste à employer une div imbriquée avec marge intérieure latérale. */
background-repeat: no-repeat;
padding-right: 100px;
background-image: url(50%);
}
a img { /* ce sélecteur élimine la bordure bleue par défaut affichée dans certains navigateurs autour d'une image lorsque celle-ci est entourée d'un lien. */
border: none;
}
/* ~~ La définition du style des liens de votre site doit respecter cet ordre, y compris le groupe de sélecteurs qui créent l'effet de survol. ~~ */
a:link {
color: #42413C;
text-decoration: underline; /* à moins que vous ne définissiez un style particulièrement exclusif pour vos liens, mieux vaut prévoir un soulignement, qui garantit une identification visuelle rapide. */
}
a:visited {
color: #6E6C64;
text-decoration: underline;
}
a:hover, a:active, a:focus { /* ce groupe de sélecteurs offrira à un navigateur au clavier la même expérience de survol que celle d'une personne employant la souris. */
text-decoration: none;
}

/* ~~ ce conteneur à largeur fixe entoure tous les autres éléments ~~ */
.container {
background-attachment: fixed;
background-position: 50%;
background-size: auto;
background-color: #CFB6AD;
margin-left: auto;
min-width: 800px;
max-width: 800px;
margin-right: auto;
background-image: url(skyblogfonds/bg10.jpg);
padding-left: 200px;
background-repeat: repeat-y;
}

/* ~~ Informations de mise en page. ~~

1) La marge intérieure n'est placée qu'en haut et/ou en bas de la div. Les éléments à l'intérieur de cette div posséderont une marge intérieure sur les côtés. Vous évitez ainsi de devoir recourir à des « calculs de modèle de boîte ». N'oubliez pas que si vous ajoutez une marge intérieure latérale ou une bordure à la div proprement dite, elle sera ajoutée à la largeur que vous définissez pour créer la largeur totale. Vous pouvez également supprimer la marge intérieure de l'élément dans la div et placer une seconde div à l'intérieur, sans largeur et possédant une marge intérieure appropriée pour votre concept.

*/
.content {
background-position: center;
width: 100%;
resize: none;
max-width: 700px;
padding-right: 100px;
}

/* ~~ classes flottant/effacement diverses ~~ */
.fltrt { /* cette classe peut servir à faire flotter un élément depuis la droite sur votre page. L'élément flottant doit précéder l'élément à côté duquel il doit apparaître sur la page. */
float: right;
margin-left: 8px;
}
.fltlft { /* cette classe peut servir à faire flotter un élément depuis la gauche sur votre page. L'élément flottant doit précéder l'élément à côté duquel il doit apparaître sur la page. */
float: left;
margin-right: 8px;
}
.clearfloat { /* cette classe peut être placée sur une div <br /> ou vide, en tant qu'élément final suivant la dernière div flottante (dans le #container) si le paramètre overflow:hidden du .container est supprimé */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
-->
</style>



si quelqu'un sait comment obtenir exactement le meme résultat que sur le lien que j'ai donné , merci de m'indiquer la marche à suivre.
Modifié par devlyne (31 Mar 2013 - 00:35)
Je pense que dans le CSS faut éviter de mettre des width avec 100% et utiliser des valeur fixe en px par exemple pour éviter que les éléments se resize.
Bonjour,

J'e n'ai pas compris ce que vous voulez.

Postez votre code css en utilisant le bon bouton (code) et enlevant les commentaires conditionnels.
Ajoutez-y aussi votre code html.
Et éventuellement un lien vers votre site.

Note: Est-ce Dreamweaver qui crée tous ces commentaires conditionnels?
Donc tu veux une image de fond au format très panoramique, mais si le visiteur a un écran 4/3, l'image sera amputée de façon égale sur la gauche et la droite ?

Voici comment :

body {
	background-color:#868789;
	background-image:url(images/background3.jpg);
	background-position:center top;
	background-attachment:fixed;
	background-repeat:no-repeat;
	margin: 0px;
	padding: 0px;
} 
Pour le container, j'ai juste quelque chose du genre :

#container {
	width: 1000px;
	margin-left: auto;
	text-align: center;
	margin-right: auto;
	padding: 0px;
	margin-bottom: 10px;
	margin-top: 10px;
}


et c'est dans le container que j'ai ma colonne de menu et ma colonne de contenu.
Merci pour vos réponses et non ce n'est pas le résultat que j'escompte.
Il suffit d'aller jeter un oeil à l'adresse du blog que j'ai laissé, je veux juste la meme chose..
merci
Ce que tu veux faire est très simple !
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Ma page web</title>
	</head>
	<body>
		<div id="content">
			Contenu de ma page
		</div>
	</body>
</html>
body {
	background:url('./medias/mon_image.jpg') center 0;
	margin:0;
}
		
#content {
	background:white;
	width:auto;
	max-width:900px;
	margin:20px auto;
	padding:20px;
	text-align:justify;
}


Je ne suis pas sûr que tous les navigateurs interprètent max-width, mieux vaut prévoir une alternative js:
document.getElementById('content').style.width='900px';
document.getElementById('content').style.padding='20px';
function autosize() {
	var currentWidth=900;
	var width=(document.body.offsetWidth<currentWidth+parseInt(document.getElementById('content').style.paddingLeft)+parseInt(document.getElementById('content').style.paddingRight)) ? document.body.offsetWidth-(parseInt(document.getElementById('content').style.paddingLeft)+parseInt(document.getElementById('content').style.paddingRight)) : currentWidth;
	document.getElementById('content').style.width=width+'px';
}
document.body.onload=function(){autosize();};
window.onresize=function(){autosize();};

Modifié par juliendargelos (02 Apr 2013 - 18:37)