28172 sujets

CSS et mise en forme, CSS3

Besoin de vos conseils.

C'est bien ou pas utiliser des valeurs négative dans un code css ou existe il une autre méthode ?
merci d'avance pour vos conseils


ul#menu { position:relative;
top:-45px;
width:960px;
height:15px;
padding:0px; 
margin:0px;
list-style:none;
background-image:url(../img/img_menu.png);
}
Modérateur
Bonjour,

Personnellement, j'essaye d'éviter de devoir mettre des valeurs négatives, mais ce n'est peut-être pas justifié. C'est qu'il y a quelques temps déjà, j'avais essayé de mettre des marges négatives sur un élément, et ça buggait dans un navigateur particulier. IE je crois. Cela dit, je n'ai pas remarqué de bug particulier avec position:relative et des positions en négatif.

Bref, le sujet m'intéresse aussi. Si ça pouvait participer à éliminer mes préjugés sur les valeurs négatives, ce serait bien. Smiley ravi
Tony Monast a écrit :
Bonjour,

Personnellement, j'essaye d'éviter de devoir mettre des valeurs négatives, mais ce n'est peut-être pas justifié. C'est qu'il y a quelques temps déjà, j'avais essayé de mettre des marges négatives sur un élément, et ça buggait dans un navigateur particulier. IE je crois. Cela dit, je n'ai pas remarqué de bug particulier avec position:relative et des positions en négatif.

Bref, le sujet m'intéresse aussi. Si ça pouvait participer à éliminer mes préjugés sur les valeurs négatives, ce serait bien. Smiley ravi


Et tu fais comment pour éviter donc utiliser des valeurs négatif ? existe il ? autre possibilité en css en positionnement qui évite cela ?
Modérateur
Je ne sais pas si c'est une coincidence, mais dans toutes les intégrations de design que j'ai pu faire depuis des années, j'ai très rarement eu besoin d'utiliser des valeurs négatives.

C'est en fait difficle de répondre à ta question, car tout dépend du design à réaliser et de la structure HTML.

As-tu un exemple plus concret? Ce serait plus facile de te dire s'il existe une autre solution aux valeurs négatives pour tel ou tel cas particulier.
Tony Monast a écrit :
Je ne sais pas si c'est une coincidence, mais dans toutes les intégrations de design que j'ai pu faire depuis des années, j'ai très rarement eu besoin d'utiliser des valeurs négatives.

C'est en fait difficle de répondre à ta question, car tout dépend du design à réaliser et de la structure HTML.

As-tu un exemple plus concret? Ce serait plus facile de te dire s'il existe une autre solution aux valeurs négatives pour tel ou tel cas particulier.


Euh ??

tu veux un exemple de code ? ou un exemple plutôt visuel ?
Bonsoir,
Il faut prendre en compte l'ancienneté: autrefois un grand nombre de navigateurs (pour ne pas dire tous) n'avaient qu'un seul point de repère : la position X-Y = 0, c'est à dire le pixel supérieur gauche de l'affichage de la page. Ça s'étendait par conséquent à la largeur (coté supérieur uniquement) et la hauteur (coté gauche uniquement). Les marges négatives allaient assez bien dans ces deux sens mais se dérobaient à tout contrôle dans d'autres sens (margin-right ou bottom négative).
Il y avait, si je me souviens bien, un fameux petit logo "trop beau pour IE" qui circulait sur de nombreux sites - Il était sensé se trouver placé en bas à gauche de la page en position fixe mais se retrouvait en plein milieu de page sur les mauvais navigateurs de l'époque.
Les marges négatives ont perdu peut-être un peu de leur crédibilité à ce moment là et furent sans doute déconseillées par les "pros"
Actuellement, ça fonctionne bien partout.

D'ailleurs je reproduis de mémoire (à peu près) un ancien code d'Alsacréations pour centrer un bloc sur une page (de mémoire ça doit dater d'au moins 6 ou 7 ans) l'intéressant dans ce cas c'est que ça s'appuie sur les deux bords réputés "fiables" jadis (haut et gauche de page)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
   <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      <title>Center un bloc avec marges négatives</title>
      <style type="text/css">
html, body {
   background: #02009D;
   margin: 0; padding:0;
   height: 100%; /* totalité de la page quelle que soit la taille de l'écran */
}
div {
   background: #FFC900;
   width: 500px; height: 300px;
   top: 50%; left: 50%;
   margin-left: -250px; /*(demi largeur du bloc)*/
   margin-top: -150px;  /*(demi hauteur du bloc)*/
   position: relative;
}
   
      </style>
   </head>
   <body>
<div><!--Super cool les marges négatives--></div>
   </body>
</html>

Copiez / collez et vérifiez en modulant le format d'affichage !
Je crois qu'en fait, si l'on veut s'appuyer sur les bordures de pages droite et bas ça dépend du type de position qu'on donne : relative ou absolute fonctionne bien par rapport aux bords haut et gauche… tandis que pour les bords droits et bas ne fonctionnent qu'avec absolute.
div { /*marche bien */ 
   background: #FFC900; 
   width: 500px; height: 300px; 
   bottom: 50%; right: 50%; 
   margin-right: -250px; /*(demi largeur du bloc)*/ 
   margin-bottom: -150px;  /*(demi hauteur du bloc)*/ 
   position: absolute; 
} 
div {  /* ne marche pas */
   background: #FFC900; 
   width: 500px; height: 300px; 
   bottom: 50%; right: 50%; 
   margin-right: -250px; /*(demi largeur du bloc)*/ 
   margin-bottom: -150px;  /*(demi hauteur du bloc)*/ 
   position: relative; 
} 

Mystère et boule de gomme. Si l'on se positionne par rapport aux bords gauche et haut la position relative suffit. Encore un truc à la Smiley biggol
Aureance a écrit :

Il y avait, si je me souviens bien, un fameux petit logo &quot;trop beau pour IE&quot; qui circulait sur de nombreux sites - Il était sensé se trouver placé en bas à gauche de la page en position fixe mais se retrouvait en plein milieu de page sur les mauvais navigateurs de l'époque

Je voulais dire que le petit logo devait se trouver en bas à droite !!!! (dommage qu'il n'y ai plus la possibilité de corriger les posts plutôt que d'en publier un nouveau)
Modérateur
Bonjour Aureance,

La fonction d'édition des messages est toujours présente. Le mieux est de te connecter en permanence, puis ensuite, tu peux aller dans le sujet et tu verras un bouton Éditer tout près du bouton Citer sur chacun de tes propres messages.