IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

largeur balise <li> dans un div [CSS 2.1]


Sujet :

Dimensionnement en CSS

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 158
    Points : 75
    Points
    75
    Par défaut largeur balise <li> dans un div
    Bonjour,

    j'ai un petit souci avec mes balises <li>,
    j'attribue une taille (largeur) aux balises mais ça n'applique pas. les balises prennent la largeur occupé uniquement par le texte et non la largeur fixé. ce problème survient sur firefox mais pas sur ie.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <div id="conteneurZoneMenuNews">
      <div id="zoneMenuNews">
        <ul>
          <li>
              echo "test1";
          </li>
     
          <li>
              test2
          </li>
     
          <li>
              test3
          </li>
     
          <li>
              test4
          </li>
        </ul>
     </div>    
    </div>

    le code css associé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #conteneurZoneMenuNews
    {
     position: absolue;
     float:left;
     width:400px;
     height:23px;
     background-color: rgb(246,207,14);
     text-align:left;
     padding:0;
     margin-top:3px;
     margin-right:12px;	
     border: 1px solid black;
    }
     
    #zoneMenuNews
    {
     position: relative;
     width:400px;
     height:23px;
     text-align:left;
     padding:0;
    }
    #zoneMenuNews ul{
      list-style-type: none; /* Enlève les puces */    
      padding: 0; 
      margin:0; 
      width:400px;
       height:23px;
      /*border: 1px solid red;*/
    }
     
    #zoneMenuNews ul li{ 
      width:96px;
      border: 1px solid red;
      height:23px;
      display: inline;
      padding:0;
      margin-right:3px; 
      /*display: block;*/
      background: rgb(246,207,14) url(img1.jpg) repeat-x;*/
     
    }
    Merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 308
    Points : 349
    Points
    349
    Par défaut
    Bonjour,

    le comportement que tu décrit est normal pour un élément inline, apres pour pouvoir te donner une solution il faudrait savoir ce que tu veux faire et comment tu veux l'afficher

    Cordialement.

  3. #3
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Bonjour,
    si IE applique la largeur d'un élément en display:inline non doté du haslayout (via un zoom:1 le plus souvent) c'est que tu es en mode de rendu Quirks, c-a-d non standard, ce qui signifie très probablement que tu n'as pas déclaré de doctype en haut de ton document ou que tu as déclaré un doctype qui fait basculer ton navigateur dans ce mode (HTML4 transitionnal incomplet par exemple).

    Donc déclarer un doctype HTML4 ou XHTML 1.0 complet (strict ou transitionnal selon tes objectifs).
    Tu trouveras la liste de doctype sur la FAQ de developpez je crois.

    Au passage ton code CSS montre que tu as pas mal de lacunes (beaucoup de code inutile, association de position:absolute avec float...) et sans doute aussi en HTML. Je doute que tu aies besoin de 2 div imbriqués.

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 158
    Points : 75
    Points
    75
    Par défaut
    j'avoue que je ne connait rien du tout sur le css; raison pour laquelle il ya des codes inutiles (que j'ignorai bien sur. re ).


    je veux afficher mes éléments sur la même ligne voila pourquoi j'ai utilisé inline. quand je mets display:block; la largeur est appliqué. mais je ne veux pas les afiicher en block.

    merci de me comprendre parce que je suis vraiment nul en css

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 158
    Points : 75
    Points
    75
    Par défaut
    en enlevant le display inline et en mettant un float:left,
    ça marche.

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #zoneMenuNews ul li{   
      width:96px;  
      border: 1px solid red;  
      height:23px;  
      float: left; 
      padding:0;  
      margin-right:3px;   
      background: rgb(246,207,14) url(img1.jpg) repeat-x;*/    
    }

    Erwan31 je te promet de nettoyer mon code en diminuant mes div et autres.

  6. #6
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Bonjour, commence par déclarer le bon doctype déjà, ça t'évitera d'avoir trop de mauvaises surprises. Ensuite effectivement dans ce cas il est préférable d'utiliser float:left que display:inline pour éviter cetains décalages horizontaux...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/11/2011, 13h09
  2. Réponses: 1
    Dernier message: 26/02/2011, 19h26
  3. Problème de positionnement de balise object dans un DIV
    Par C moa dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 25/11/2007, 11h28
  4. [Prototype] Texte chargé dans une <div> contenant des balises <script>
    Par wenijah dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 22/11/2007, 17h28
  5. agrandir balise p dans un div
    Par ninikkhuet dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 22/08/2006, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo