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 :

Probleme IE7 : Elements dessous la scrollbar verticale


Sujet :

Positionnement en CSS avec z-index

  1. #1
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut Probleme IE7 : Elements dessous la scrollbar verticale
    Bonjour,

    J'ai un problème sous IE7 (IE8 et FF marche sans souci).

    J'ai un div en overflow:auto d'une largeur fixe avec à l'intérieur un table avec width:100%

    lorsque le table est plus haut que le div, il y a une scrollbar qui apparait dans le div.

    Lorsque la scrollbar apparait, la largeur du table se réajuste automatiquement sous IE8 et FF alors que sous IE7, l'affichage ne se réajuste pas mais passe sous la scroolbar.

    Vous pouvez voir le résultat ici :
    http://www.onlc.fr/exemple.html

    Sous IE7 la bordure du tableau est dessous la scrollbar et sous IE8 / FF la bordure du tableau est collé à la scrollbar.

    Existe t il un moyen pour que le comportement de IE7 soit le meme que IE8/FF ?

    Merci
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Je ne vois plus le problème avec ce code :

    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
     
    <!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" />
        <meta name="Author" content="Daniel Hagnoul" />
        <title>Page type</title>
        <style type="text/css">
            body {
                background-color:#696969;
                color:#000000;
                font-family:Arial, Helvetica, sans-serif;
                font-size:medium;
                font-style:normal;
                font-weight:normal;
                line-height:normal;
                letter-spacing:normal;
            }
            div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img {
                margin:0px;
                padding:0px;
            }
            div#conteneur {
                width:95%;
                margin:12px auto;
                padding:6px;
                background-color:#FFFFFF;
                color:#000000;
                border:1px solid red;
                font-size:0.8em;
            }
            div#conteneur p {
                margin:6px;
            }
            .maDiv {
                width:300px;
                height:200px;
                border:1px solid green;
                overflow:auto;
                overflow-x:hidden;
            }
            .monTab {
                height:300px;
                width:auto;
                border:1px solid red;
            }
        </style>
    </head>
    <body>
        <div id="conteneur">
            <div class="maDiv">
                <table class="monTab">
                    <tbody>
                        <tr>
                            <td>
                                <p>
                                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce tincidunt pulvinar elit. Maecenas nec risus vitae felis suscipit scelerisque. Suspendisse placerat lorem ut nisl. Sed sit amet quam sit amet elit tempus eleifend. Aliquam posuere egestas elit. Donec porttitor, urna nec tincidunt rhoncus, tortor purus lacinia turpis, et pellentesque purus dui sed massa. Vivamus tristique mauris quis quam. Aliquam commodo ipsum iaculis tortor. Curabitur pulvinar sem quis tellus. Vestibulum faucibus. Nam quis nisi. Donec justo risus, molestie a, lacinia eu, tincidunt in, lorem. Mauris ut nisi vel ipsum varius convallis. Sed sit amet orci. Vivamus ultricies sem vel dui. Vivamus venenatis, dolor at porta cursus, libero quam imperdiet orci, vel interdum mauris lorem et ligula. Morbi iaculis lacus luctus erat. In pretium, ipsum a lobortis convallis, leo lacus molestie purus, eget pellentesque est felis eu metus. Suspendisse a nisi. Praesent vitae eros vitae turpis auctor ullamcorper.
                                </p>
                                <p>
                                    Aliquam erat volutpat. Phasellus cursus tempor augue. Morbi eu nisi et mi interdum lobortis. Nullam faucibus, enim quis ultricies imperdiet, ante leo lacinia nisi, vitae malesuada enim orci id dolor. Maecenas volutpat porta turpis. Ut nibh massa, luctus commodo, cursus eu, ornare eu, nulla. In vitae felis in ligula tincidunt suscipit. Mauris fermentum, magna nec viverra tristique, magna purus scelerisque ipsum, vel accumsan enim dui eu eros. In hac habitasse platea dictumst. Praesent aliquet ipsum sit amet tellus. Vivamus elit est, rhoncus in, iaculis vel, pellentesque sit amet, quam. Nunc id libero eget dolor molestie hendrerit. Etiam odio lectus, venenatis ut, porta eu, luctus ut, libero. Morbi lacinia, urna in tristique fringilla, urna libero convallis velit, nec auctor neque nulla eget ante. Sed elementum.
                                </p>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </body>
    </html>

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Oui mais ça oblige à mettre un padding

    Une autre solution qui fonctionne mais on perd la validité xhtml, c'est d'enlever le doctype.
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  4. #4
    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 : 38
    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
    Points : 3 747
    Points
    3 747
    Par défaut
    Bonjour,

    Citation Envoyé par Seb33300 Voir le message
    Une autre solution qui fonctionne mais on perd la validité xhtml, c'est d'enlever le doctype.
    Les conséquences de cette manipulation sont plus graves que cela
    L'absence d'un doctype correcte fait basculer les navigateurs graphiques en mode de rendu Quirks, tu risque d'avoir pas mal de soucis notamment sous IE et Opéra.

    Pour ton problème il s'agit simplement d'un bug au niveau du moteur de rendu d'IE7-, le width:100%; fait que ton table occupe toute la largeur de son conteneur en ignorant sa scrollbar verticale, étant donné que (selon IE7-) cette scrollbar est à l'extérieur du table.

    la solution consiste à englober ton table dans un 2éme bloc doté du layout (propriétés autres que width:100%)

    Code xhtml : 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
     
    <!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" lang="en" xml:lang="en">
    	<head>
    		<title>Bug IE7</title>	
    	</head>
    	<body>
    		<div style="border: 1px solid green; overflow: auto; overflow-x: hidden; width: 300px; height: 200px;">
    			<div style="height:100%;">
    				<table border="1" height="300" width="100%">
    					<tr><td >mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>	
    					<tr><td>mon tableau</td></tr>
    					<tr><td >mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>	
    					<tr><td>mon tableau</td></tr>					 
    					<tr><td>mon tableau</td></tr>	
    					<tr><td>mon tableau</td></tr>
    					<tr><td >mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>	
    					<tr><td>mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>
    					<tr><td >mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>	
    					<tr><td>mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>
    					<tr><td >mon tableau</td></tr>
    					<tr><td>mon tableau</td></tr>	
    					<tr><td>mon tableau</td></tr>
    				</table>  
    			</div>
    		</div>
    	</body>
    </html>
    Je ne réponds pas aux questions techniques par MP.

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

Discussions similaires

  1. [CSS] forcer affichage scrollbar verticale (sans frames!!)
    Par cortex024 dans le forum Mise en page CSS
    Réponses: 38
    Dernier message: 29/06/2010, 21h26
  2. Scrollbar verticale et probleme de hauteur de composant
    Par Mandarine dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/11/2007, 22h02
  3. position scrollbar verticale
    Par kapfab dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2007, 16h49
  4. Scrollbar verticale si besoin et horizontale jamais ?
    Par -=ET=- dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 06/03/2006, 10h22
  5. Supprimer la scrollbar verticale mais pas l'horizontale
    Par Prue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/07/2005, 11h24

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