Bonjour à tous,

Premièrement, sachez que je suis débutant grave et que j'apprend seul, il n'est pas impossible de voir beaucoup d'erreurs, d'incohérences et de choses inutiles dans mon code Smiley murf
Donc voila, il y a peu j'ai commencé à créer un site sur dreamweaver, site que je veux blanc et bien épuré, question de choix esthétique mais aussi de facilité.

Seulement voila, j'ai pas mal galéré pour fixer l'ensemble du site au milieu. J'ai fini par trouver la solution (simplissime) d'un margin 0 auto sur le container (le temps qu'il m'a fallut pour trouver ça devrait vous aiguiller sur mon niveau Smiley langue )

Le soucis suivant a été le placement du header. Je veux qu'il reste toujours visible, quel que soit l'endroit ou l'on se trouve. Il contient en effet la barre de navigation, et avec le coté épuré du site, s'il il n'y a pas d'header on aura tout simplement l'impression de se trouver sur un document word en mode plein écran, ce que j'aimerais éviter Smiley smile

J'ai donc choisi de coller sa position en fixed comme ceci:

.header {
	background: #FFFFFF;
	width: 100%;
	margin-bottom: 5%;
	position: fixed;
	top: 0;
}

Ce qui me donne le résultat que je cherchais. Jusqu'ici pas de problème. (malgré que j'ai lu sur un topic fort semblable précédent qu'il vallait mieux éviter la position "fixed")

Seulement je me suis aperçu quand j'ai voulu faire une ancre nommée que la partie supérieure de la page était toujours bouffée par le header.

J'ai essayé en modifiant la position du header naturellement, j'obtiens un résultat presque satisfaisant quand je le mets en "absolute", seulement ça me crée une de barre de navigation horizontale dégueulasse alors qu'il n'y a rien absolument rien à faire défiler...

Auriez-vous une solution assez simple à me proposer? Smiley bawling
Modifié par Gutsu (29 Jul 2015 - 16:37)
Bonjour,
peux tu poster ici juste ta partie DOCTYPE ou mieux ton URL

Saches que le Header n'est pas un objet comme un div, habitues toi a dire haut de page car header prête à confusion !
La position fixed, pas de problème tu peux l'utilisé Smiley smile

par contre j'ai pas tout compris concernant ton problème.Comme le demande Christele je relance la question sur le "peux tu nous donner du code" ? un exemple sur "codepen" ou "jsfiddle" même? une url ?
Modifié par JENCAL (29 Jul 2015 - 17:40)
Bonjour,

Déjà merci de prendre le temps de me répondre! Smiley smile

Concernant l'URL ce n'est pas possible car le site n'est pas encore hébergé Smiley cligne
Avant de vous donner les codes je vais vous faire un ou deux screens pour clarifier le problème Smiley smile
Screen 1:
position de l'ancre

Screen 2:
après le click sur l'ancre

Voici le code css que j'utilise. il est bien entendu dans un modèle, le problème que je rencontre se trouve sur une page avec de contenu mais je soupçonne très fortement le haut de la page (j'ai bien noté ta remarque Christele Smiley biggrin ) d'en être responsable.

body {
	font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
	margin: 0px;
	color: #000;
	width: 95%;
	padding: 0px;
	background-color: #FFF;
	margin-left: 45px;
	min-height: 100%;
	position: relative;
}

/* ~~ 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: 10px;	 /* la suppression de la marge supérieure résout un problème où les marges sortent de leur div conteneur. La marge inférieure restante l'éloignera de tout élément qui suit. */
	padding-right: 15px;
	padding-left: 15px; /* 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. */
	font-size: 16px;
	text-align: justify;
	font-family: "Lucida Console", Monaco, monospace;
}
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: none; /* à 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: #000;
	text-decoration: none;
}
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 les autres divs ~~ */
.container {
	position: inherti;
	width: auto;
	background: #FFF;
	margin: 0 auto;
	padding: 10%; /* la valeur automatique sur les côtés, associée à la largeur, permet de centrer la mise en page */
}

/* ~~ aucune largeur n'est attribuée à l'en-tête. Il occupera toute la largeur de votre mise en page. Il contient un espace réservé pour une image, qui doit être remplacé par votre logo lié. ~~ */
.header {
	background: #FFFFFF;
	width: 100%;
	margin-bottom: 5%;
	position: fixed;
	top: 0;
	z-index: 3;
}

/* ~~ 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 {
	padding-top: 15%;
	width: 95%;
}

/* ~~ Pied de page ~~ */
.footer {
	background: #FFF;
	position: absolute;
	bottom:0;
	font-size: 14px;
	margin: 0 auto;
	display: inline-block;
	margin-left: 5%;
	font-family: "Courier New", Courier, monospace;
	vertical-align: bottom;
}

/* ~~ 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 #footer est supprimé ou retiré du #container */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}
.content {
	text-align: center;
	display: compact;
	width: 75%;
	margin: 0 auto;
	position: relative;
}
.content h1 {
	font-family: "Courier New", Courier, monospace;
	font-size: 1.4em;
	font-style: normal;
	font-weight: bold;
	font-variant: small-caps;
}
.content p {
	font-family: "Courier New", Courier, monospace;
	font-size: 1em;
	padding-left: 30px;
}
a:hover {
	text-decoration: none;
}
a:active {
	text-decoration: none;
}

Vous l'aurez remarqué, c'est très très brouillon... J'ai basé le modèle sur une des options de dreamweaver à sa création, et y'a pas mal de trucs que j'ai pas osé supprimé parce que je ne savais pas à quoi ça servait! Je comptais cleaner un peu le code une fois que tout serait fini pour en supprimer les passages inutiles de toutes façons, donc si vous avez du mal à vous y retrouvez dites le moi et je ferai des tests pour vous poster une version plus clean Smiley cligne

Ah, et voici l'html pour l'ancre:

 <div class="content"><!-- InstanceBeginEditable name="Main content" -->
    <h1>À propos de Bitch Run...</h1>
    <p>- <a href="#band" title="band">Le groupe</a><br>
      - <a href="#girls" title="girls">Les musiciennes</a></p>
    <p>&nbsp;</p>
    <h1><a name="band" class="content"></a>Le groupe</h1>
    <p>À l’heure où la plupart des scènes sont prises d’assaut
[b] (...) [/b]
 <!-- InstanceEndEditable --><!-- InstanceBeginEditable name="EditRegion2" -->
  <h1><a name="girls"></a>Les musiciennes
  </h1>
[b] (...)[/b]
 <!-- InstanceEndEditable -->
  <p>&nbsp;</p>
  <!-- end .content --></div>

Je vous ai viré le contenu en le remplaçant par des (...) histoire que vous ne deviez pas vous taper une lecture qui ne vous intéressera peut-être pas Smiley cligne

donc petite précision, les deux ancres nommées sont toutes les deux dans une région modifiable du modèle (la seconde facultative, la première pas). Je ne sais pas si ça a son importance...

J'espère que j'ai été clair Smiley biggrin
Désolé, pas le temps de tout te refaire,
fait comme je t'ai dit:
1) crées un doctype normal (le mieux HTML5) bref finissant par <BODY>
2) derrière commence la page alors mettons juste un premier DIV contenant une image.
3) ce DIV a une class et c'est cette classe qui va fixer son contenu par exemple


<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
div.taclass {
position : fixed;top : 24px;left : 40px;}
</style>
</head>
 <body>
<div class='taclass'>
<img src="images/toto.jpg" alt ="" />
</div>
</body>
</html>



Tu verras que même si on scroll la page l'mage restera dans l'écran en 24 et 40 !!!
En fait je n'ai pas de soucis au point de vue du scroll, il n'y a que l'ancre nommée sur la page qui pose problème Smiley smile
Bon ben j'ai trouvé la solution moi-même Smiley biggrin

Header en position: absolute et body en max-width: 100%, ainsi l'ancre redirige bien et pas de scroll horizontal! Smiley smile