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 :

Firefox : overflow dans un div


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut Firefox : overflow dans un div
    Bonjour à tous.

    Mon problème est un petit débordement. J'ai partiellement résolu le problème avec un overflow: hidden.. mais le problème persiste avec Firefox (j'ai la 3.0.5).

    Une image plus efficace qu'un long discours : lien avec exemple

    Je voudrait ne plus avoir de débordement quand je rajoute un div (dans l'exemple il est coloré en vert).

    Le premier bloc (menu_img) : ne pose pas de problème.
    Le deuxième bloc (menu_img2) : J'ajoute un div supplémentaire-> débordement.
    Le troisième bloc (menu_img3) : le "overflow: hidden" n'y change rien pour ff.

    voila le code (head et body) :

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <style type="text/css">
    <!--
    body {
    	background-color: #DFDFFF;
    }
    #menu_img{
    	position:absolute;
    	z-index:2;
    	left: 434px;
    	top: 100px;
    	width: 420px;
    	height: 25px;
    	visibility: visible;
    	overflow: visible;
    	vertical-align: middle;
    	text-align: left;
    	margin: 0;
    	padding: 0;
    	border: none;
    	background-color: #FF0000;
    	cursor: pointer;
    }
    #menu_img2{
    	position:absolute;
    	z-index:2;
    	left: 434px;
    	top: 130px;
    	width: 420px;
    	height: 25px;
    	visibility: visible;
    	overflow: visible;
    	vertical-align: middle;
    	text-align: left;
    	margin: 0;
    	padding: 0;
    	border: none;
    	background-color: #FF0000;
    	cursor: pointer;
    }
    #menu_img3{
    	position:absolute;
    	z-index:2;
    	left: 434px;
    	top: 160px;
    	width: 420px;
    	height: 25px;
    	visibility: visible;
    	overflow: hidden;
    	vertical-align: middle;
    	text-align: left;
    	margin: 0;
    	padding: 0;
    	border: none;
    	background-color: #FF0000;
    	cursor: pointer;
    }
    -->
    </style>
    </head>
    <body >
    <div id="menu_img">
    	<table height="100%" border="0" cellspacing="0" bgcolor="#00FFFF">
    	  <tr><td><img src="image22x22.png" width="22" height="22" /></td>
    	  <td>tableau bleu dans div rouge (sans sous-div)</td>
    	 </tr></table>
    </div>
     
    <div id="menu_img2">
      <div style="background-color: #00FF00;"	>
    	<table height="100%" border="0" cellspacing="0" bgcolor="#00FFFF">
    	  <tr><td><img src="image22x22.png" width="22" height="22" /></td>
    	  <td>Diff&eacute;rence avec un sous-div (vert) en plus</td>
    	 </tr></table>
    </div></div>
     
    <div id="menu_img3">
      <div style="background-color: #00FF00;">
    	<table height="100%" border="0" cellspacing="0" bgcolor="#00FFFF">
    	  <tr><td><img src="image22x22.png" width="22" height="22" /></td>
    	  <td>tricher, et faire un overflow: hidden ?.. ne marche pas avec ff.</td>
    	 </tr></table>
    </div></div>
     
    </body>

  2. #2
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Bonjour,

    Je ne vois pas trop quel sorte de débordement
    Ton tableau ne prend pas 100% de son conteneur ?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    Dans le lien en exemple, avec fff, on voit une fine bande rouge.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    peut être ce n'est pas un débordement ?
    En tout cas le tableau ne rempli pas tout le div principal (alors que l'on a du 100% en hauteur).

  5. #5
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Bonjour,

    Dans le premier cas, la hauteur de la table s'adapte au conteneur (menu_img) qui a une hauteur de 25px, donc la table fait 25px de haut.

    Dans les deux autres cas, la table s'adapte au conteneur div qui n'a pas de hauteur, ce div prenant la hauteur relative au contenu texte (soit 24px).
    Logiquement, il reste 1px sous la table puisque les blocs menu_img2 et menu_img3 ont une hauteur fixée à 25px.



    Il suffit de ne pas définir de hauteur pour tes blocs menu_img, menu_img2 ou menu_img3.

    Ou alors, il faut que tu définisses aussi une hauteur pour le div qui contient la table dans les deux derniers cas.

    Code xhtml : Sélectionner tout - Visualiser dans une fenêtre à part
    <div style="background-color: #00FF00;height:25px;">

  6. #6
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Par défaut
    Ou sinon ajouter une classe aux menus et appliquer la hauteur directement sur le tableau.
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    .menu table { height:25px; }

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 183
    Par défaut
    merci, ton explication est très claire.

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

Discussions similaires

  1. Placer un element fixe dans un div en overflow
    Par pmithrandir dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 19/10/2007, 14h05
  2. [HTML] Lecture flv dans une "DIV Frame" avec overflow: auto
    Par bigjim21 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/10/2006, 00h35
  3. [DIV] [FireFox] Problème affichage du contenu dans un div
    Par jibouze dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 24/11/2005, 11h06
  4. Bug Firefox sur tableau centré dans un div (mauvais refresh)
    Par FrankOVD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/07/2005, 17h47

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