28220 sujets

CSS et mise en forme, CSS3

Bonjour a vous,

Je rencontre une difficulté sur une mise en page. Je n’arrive pas à placer la longueur de la page en automatique.

Voici le site qui pose des problèmes si vous avez une solution je suis preneur :
Site : http://www.annuaire-philatelie.com/index-v2.php
CSS : http://www.annuaire-philatelie.com/articlests.css

Le problème est que la feuil de style est en « position:absolute » Les balises sont donc dans un ordres différents de l’affichage. Je ne peux donc pas jouer avec la balise margin-bottom. Car l’élément parent n’est pas le bon.


Merci pour votre aide.
Baptiste
connecté
Administrateur
baptiste a écrit :
Je n’arrive pas à placer la longueur de la page en automatique.

Hello et bienvenue,

Que veux-tu dire par "longueur de la page en automatique" ? (Sachant que le concept de "page" n'existe pas dans le média Web).
Salut et merci je suis content d’être ici Smiley smile

Le site est construit autour de position absolues sur la page : http://www.annuaire-philatelie.com/index-v2.php il y a :
- un menu de navigation
- un menu a gauche
- un espace a droite (pour les textes)
- un menu en bas.

Mais en réalité si tu regardes le code l’ordre est le suivant :
- un espace a droite (pour les textes)
- un menu a gauche
- un menu de navigation
- un menu en bas.


Pour centrer le site j’utilise :
#cadre
{
position:absolute;
background-color: #FFFFFF;
width: 802px;
height: 1011px;
border-style:solid; /* Aucune bordure */
border-width: 1px; /* Bordure de 1px */
border-color: #CCCCCC; /* Bordeur noir */
left: 50%;
margin-left: -401px;
}

Le problème est que le texte qui ce trouve dans le « menu centre » dépasse du reste. De plus le « menu bas » n’arrive pas a ce positionner car il se refaire a sont élément parent « menu de navigation ».

Par exemple pour contourné ce problème du menu bas j’ai dimensionner les marge : margin-left: -1px; margin-top: 1009px;. Mais comme la page est dynamique je ne sais jamais le longueur qu’elle va avoir..

Je ne sais pas si il existe « des ancres » comme dans le HTML qui me permet de dire le « menu bas » a comme parent le « menu centre ».

Je ne sais pas si je me suis bien expliqué.
Hello,

J'ai un peu l'impression que tu te complique la vie Smiley smile

Ce que tu veux obtenir, c'est le comportement par défaut des éléments blocs en html, il ne faut donc surtout pas que tu positionne ton bloc #cadre en absolute, il faut qu'il reste dans le flux de page.
MrPatate a écrit :
Ce que tu veux obtenir, c'est le comportement par défaut des éléments blocs en html, il ne faut donc surtout pas que tu positionne ton bloc #cadre en absolute, il faut qu'il reste dans le flux de page.

+1

Le positionnement absolu est assez radical. Il vaut mieux l'utiliser : 1) en sachant ce qu'on fait et 2) lorsqu'il est réellement adapté au résultat désiré.
Merci a vous pour les conseils. J’ai opté pour ce type de positionnement pour des raisons de référencement. Je place les éléments les plus important en haut du code source.

J’ai trouvé réponse a ma question et réfléchissant. Il suffit juste de superposer les blocs.
Bonjour,

baptiste a écrit :
Merci a vous pour les conseils. J’ai opté pour ce type de positionnement pour des raisons de référencement. Je place les éléments les plus important en haut du code source.


Du point de vue référencement, dans le cas du contenu en question, l'impact sera au mieux mineur, voire nul.

En revanche, du point de vue accessibilité, ces incohérences entre contenu réel et contenu apparent pourront créer des problèmes importants pour les utilisateurs.

(Il en sera de même de l'utilisation que tu fais des titres <hn>)
Modifié par Laurent Denis (09 Aug 2006 - 11:38)
Laurent Denis a écrit :

(Il en sera de même de l'utilisation que tu fais des titres <hn>)


Je ne comprends pas bien.
Pour les utilisateurs mal voyants, je fais en sorte de placer en bas les éléments qui ne sont pas important. (Lien externes, site map, et autre pub)

Je reste équitable sur ce point ( je l'espère)