28220 sujets

CSS et mise en forme, CSS3

Bonjour,

J'aimerais que mon bloc div #conteneur, soit centrer par rapport a la largeur de l'écran, et non le texte centrer, et que la largeur du bloc div #conteneur soit exact a la largeur que le contenu du bloc prend dans toute les circonstance (augmentation de la taille du texte, de la resolution etc.).

Donc avec un display:table sur le div #conteneur, #gauche, #droite
j'obtient l'effet desire sous Firefox,

une bidouille possible pour IE ? peut etre avec expression.

pour un exemple, j'ai mit en ligne une page test
http://www.all-game-event.com/events.php

code css :

body {	
font-family:Georgia, Verdana, Arial, Helvetica, sans-serif;
font-size: 0.8em;
padding: 0;
margin-left:0px;
margin-right:0px; }

#header {
background-color: #ffffff;
text-align:center;
margin-top:20px;}

a.header{
color:black;}

img{
border:none;}

h1{
display:inline;
vertical-align:top;
line-height:60px;
margin-left:20px;
margin-bottom:0px; }

h4{
display:inline;
padding:0 0 0 84px;
margin-bottom:0px;
line-height:0px;}

#haut {
height: 30px;
background-color:#CCCCFF;}

#conteneur {
position:absolute;
border:solid 1px black;
margin-top:2%;
display:table;
margin:auto;
background:url('bgCalendrierEvent.jpg') repeat-x ;
background-color: #FFFFFF; }

p.membersInfos{
color:#ffffff;
background-color:#000000;
padding:5px 5px 5px 5px;  }

a{
color:white;
text-decoration:none; }

a.menuMembres{
color:yellow;}

p.menu{
font-size:1.4em;
margin-left:5px;
margin-top:5px;
margin-bottom:5px;}

form{
margin-left:5px;
margin-bottom:-10px; }

#gauche {
float:left;
margin-top:20px;
margin-bottom:20px;
display:table;}

p.selectGauche{
margin-left:10px;
color:#ffffff;
font-size:1.3em;
margin-top:0px;
margin-bottom:10px;}

#droite {
float:left;
margin-top:20px;
margin-bottom:20px;
margin-left:20px;
display:table;}

p.selectDroite{
margin-left:0px;
color:#ffffff;
font-size:1.3em;
margin-top:0px;
margin-bottom:10px;}

#pied {
clear:both;
background-color: #ffffff;
text-align:center;
margin-bottom:10px;}


code html :

<body>
 <div id="header">
  <a class='header' href='index.php' title="Home page">
   <img src="logo.jpg">
   <h1>Online Role-Playing Events Manager</h1>
   <br>
   <h4>View all events planned for your favorites games 
           at the same place.
   </h4>
  </a><br><br>
 </div>
 <div id="conteneur">		
  <p class="membersInfos"> : 
   <a class="menuMembres" href="">Your Settings</a> / 
   <a class="menuMembres" href="">Edit your events</a> /
   <a class="menuMembres" href="">Log off</a> /
  </p>
  <p class="menu">
   <a href="">Guilds</a> - 
   <a href="">Games</a> - 
   <a href="">Templates</a>  
  </p>
  <form name='Infos' action='events.php' method='post'>
   <input type='hidden' name='date' value=''>
   <input type='hidden' name='tabDate' value='Array'><br />
  </form>
  <div id="gauche" >
   <p class="selectGauche"> 
    <a href="" class="help" title="">&nbsp;?&nbsp;</a>
    1) Select date(s) 
    </p>
   </div>
  </div>
  <div id="droite">
   <p class="selectDroite"> 
    <a href="" class="help" title="">&nbsp;?&nbsp;</a>
    2) Browse event list to see details
   </p>
  </div>      
  <div id="pied"></div>
 </div>
</body>


*J'ai éditer pour avoir le code a jour
Modifié par sylvain5090 (07 Feb 2007 - 10:57)
Administrateur
sylvain5090 a écrit :
A noter que la largeur du contenu changera, si on augmente la taille du texte, la largeur du bloc doit s'aggrandir si nécessaire pour que le texte ne se retrouve pas hors du bloc.

Hello,

Difficile de deviner sans le code CSS, mais a priori il te suffit de définir une largeur de bloc en "em" : le bloc pourra être centré, et s'agrandira lorsque la taille du texte variera.
Bonjour,
sylvain5090 a écrit :

je mets les propriétés sur une meme ligne, en genéral, ca mévite davoir un .css avec 400 ligne dedans...


... et en procédant de cette manière le code est proprement illisible pour quelqu'un qui le relirait Smiley sweatdrop
+1

Oui, 2 mauvaises habitudes, pour coder sois meme ca permet de tout voir sans defiler la souris mais bon... j'utilise aussi les "tabulations" dans le code pour pouvoir indenter. si on passe le code comme ca ici, ca fait de grands espaces...

j'améliorerais ca, désolé
Modérateur
bonsoir,

en suivant tes lien , on s'aperçoit que le div #centre est vide de contenu , et aucune trace de lui dans le fichier css pour tenter de comprendre ce que tu cherche a faire ...

pas d'exemple réelle de ton probleme ou de trace de tes tentatives de mise en formes , de plus dans firefoxe , div#centre a une hauteur de zero , vu qu'il est vide.

que veut tu en fait ?

que le texte contenu soit centré ? un text-align:center; fera l'affaire.

mettre en forme avec bordure et fond le div#centre , un display:table ; + margin:auto; feront l'affaire .... mais pas dans IE .... alors tableau pour IE et les autres ? ou text-align:center ?

gc
en fait le div #centre avait pas rapport la, c'était un restant de gabaris css.

si tu vas sur le liens de la page events.php, tu vas voir un bloc au milieu de la page avec une bordure noire, avec une image en degradé etc.

Le bloc #conteneur, contient la barre de menu en noire ainsi que toute l'information dans le degradé. Ce bloc s'ajuste a la largeur du texte, mais j'aurais voulu le centrer horizontalement par rapport a la largeur de l'écran. Donc centrer le bloc, mais pas le texte dans le bloc.

si je mes une largeur au div #conteneur, du style 90% avec margin:0 auto; ca le centre oui, mais il reste toujours une zone ou il y a pas de texte. Si tu as une resolution de 1280 de largeur, tu mets with:90% pour le bloc, le texte ne prendra jamais toute cette largeur. Par contre si tu mets 60%, il peut arriver que ton texte prenne plus que ca, surtout en rapetissant la résolution.

Bref, j'aimerais que mon bloc div #conteneur, soit centrer par rapport a la largeur de l'écran, et non le texte centrer, et que la largeur du bloc div #conteneur soit exact a la largeur que le contenu du bloc prend dans toute les circonstance (augmentation de la taille du texte, de la resolution etc.).

Avec le positionnement absolu, la largeur du bloc est parfaite, je n'arrive juste pas a le centrer.

J'espere que cest un peu plus clair.

Effectivement le display:table centre bien sous mozilla, j'ai renvoyer la page online avec les infos.

Donc avec un display:table sur le div #conteneur, #gauche, #droite
j'obtient l'effet desire sous Firefox,

une bidouille possible pour IE ? peut etre avec expression.
Modifié par sylvain5090 (06 Feb 2007 - 23:51)
Salut,

sylvain5090 a écrit :

Alors je voulais avoir le bloc #centre de la largeur du contenu


sauf si le contenu est constitué exclusivement d'éléments avec dimensions intrisèques, cette phrases n'a strictement aucun sens.
Modifié par clb56 (07 Feb 2007 - 00:10)