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 :

Barre de défilement (scroll) qui déborde


Sujet :

Défilement en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 26
    Par défaut Barre de défilement (scroll) qui déborde
    Bonjour,

    Dès que je dépasse les 210px la barre de défilement apparaît mais elle déborde de mon fieldset.

    Nom : Capture.PNG
Affichages : 279
Taille : 8,6 Ko
    En haut à droite

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <fieldset class="fieldsetMenu" style="width: 400px; height:210px; overflow-y : auto;">
    	<legend> Commentaires  </legend>
    	<s:iterator value="lesCommentaires" var="params">bla bla</s:iterator>
    	bla bla
    </fieldset>

    Voici le css mon fieldset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .fieldsetMenu {
    	border: 2px solid #DDDDDD;
    	-moz-border-radius: 8px;
    	-webkit-border-radius: 8px;
    	border-radius: 8px;
    	padding: 6px;
    	text-align: left;
    	margin-bottom: 20px;
    }
    Quelqu'un aurait une idée de pourquoi ça déborde et comme y remédier ?

    Merci par avance
    Images attachées Images attachées  

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 215
    Par défaut
    Bonjour,
    visiblement sous Chrome (webkit) la scrollBar est gérée bizarrement.

    Une autre solution est à mettre en oeuvre en se passant du FIELDSET attendu que le scroll a un rendu catastrophique.

  3. #3
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Bonjour,

    Cela ne me semble pas bizarre personnellement.

    Le fieldset est un bloc géré par 2 balises : fieldset & legend.

    En ajoutant une légende, vous agrandissez la taille du bloc (et ce peu importe la valeur de la proprité box-sizing)


    Si vous souhaitez que la scrollbar apparaisse uniquement à l'intérieur du field, il faut créer un bloc qui soit à l'intérieur, comme ceci :
    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
    <fieldset class="fieldsetMenu" style="width: 400px;">
    	<legend> Commentaires  </legend>
    	<div style="height:150px;  overflow-y: auto;">
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    		<p>blabla</p>
    	</div>
    </fieldset>

    Démo ici : http://tests.pierre-roels.com/fieldset.php

    NB : évitez les styles inline ;-)

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 215
    Par défaut
    Cela ne me semble pas bizarre personnellement.
    et pourtant si, attendu que pour avoir un comportement identique sur les différents navigateurs tu ajoutes un contenu conteneur.

    Dans la solution que je propose je remplace le FIELDSET par un conteneur conventionnel, DIV par exemple, le rôle du FIELDSET me paraissant détourné et plus sémantiquement adéquat même si tout à fait valide et la LEGENDE par un Hx suivant le cas.

    Dans l'image que nous montre baresi je ne vois nulle part de rapport avec un formulaire mais plutôt une succession d'informations donc son FIELSET n'est la que pour de la mise en forme.

    J'aurais donc tendance à faire quelque chose dans le style de
    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
    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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>Faux Fieldset</title>
    <style>
    .fieldset {
        border:2px solid #DDDDDD;
        border-radius:8px;
        padding:6px;
        text-align:left;
        margin-bottom:20px;
    }
    .fieldset h1 {
        font-size:1.0em;
        position:absolute;
        margin-top:-1em;
        padding:0 0.25em;
        background: #FFF;
    }
    .fieldset ul{
        height:150px;
        overflow-y:auto;
        list-style:none;
        margin:0;
    }
    </style>
    </head>
    <body>
    <div class="fieldset" style="width:400px;">
        <h1>Commentaires</h1>
        <ul>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
            <li>blabla</li>
        </ul>
    </div>
    </body>
    </html>
    on pourrait même intégrer les "nouvelles balises" HTML5 mais bon...

Discussions similaires

  1. barre de défilement qui ne fonctionne pas sous IE
    Par eiffel59300 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/09/2009, 18h06
  2. [JScrollPane] Barre de défilement verticale qui disparaît
    Par dev197 dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 07/08/2009, 10h54
  3. Réponses: 0
    Dernier message: 31/10/2007, 14h05
  4. Tableau qui dépasse de l'écran (barre de défilement nécessaire)
    Par dream_of_australia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/07/2007, 10h05
  5. Réponses: 3
    Dernier message: 09/03/2007, 19h33

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