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 :

Overflow hidden ne fonctionne pas en vertical


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Par défaut Overflow hidden ne fonctionne pas en vertical
    Bonjour,

    Je reste coincé sur un soucis de overflow:hidden.

    Voici une capture où je cherche à mettre une scrollbar verticale sur le cadre gris :
    Nom : 9XY9jU5.png
Affichages : 1411
Taille : 8,8 Ko

    J'ai essayé diverses combinaisons de propriétés CSS mais sans succès... ..mais j'ai du louper un détail.

    Vous pouvez retrouver le jsfiddle ici : https://jsfiddle.net/zL8b9cmu/

    Merci !

  2. #2
    Membre éprouvé
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Juillet 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Juillet 2016
    Messages : 65
    Par défaut
    Une solution possible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #part_3 {
      background-color:gray;
      overflow-y:scroll;
      height:100px;
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Par défaut
    ... Et utiliser la balise max-height:100; pour limiter la hauteur de l'élément.

  4. #4
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Par défaut
    Citation Envoyé par Ecared Voir le message
    Une solution possible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #part_3 {
      background-color:gray;
      overflow-y:scroll;
      height:100px;
    }
    Le problème c'est que la hauteur ne peut pas être fixe en px.

    Citation Envoyé par nektarfl Voir le message
    ... Et utiliser la balise max-height:100; pour limiter la hauteur de l'élément.
    Cela ne fonctionne pas

    J'ai oublié de préciser que le div parente (#popup) ne doit pas avoir de propriété CSS height, mais seulement max-height:80% (j'ai mis 200px pour vous monter le overflow hidden qui ne fonctionnait pas).

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ comment veux-tu qu'une scrollbar apparaisse, si tu n'imposes pas une hauteur fixe ?

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #part_3 {
      background-color:gray;
      overflow:auto;
      height:100px;
    }

    2/ La 2ème solution, logique, est de mettre l'overflow sur la popup :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #popup {
      overflow:auto;
    .......
    }
    #part_3 {
      background-color:gray;
    }

    Sinon, explique la situation de façon plus claire et concrète, et montre un code testable "en situation".

    3/ Quand tu mets une hauteur en % à un élément*, demande-toi toujours : "% de QUOI ?"

    La réponse est : "de son parent".

    OR, toi tu as mis height:100%;
    Sauf qu'il y a déjà 2 autres éléments dans la popup.

    Donc, comme dit Katia à Zezette : "Ca dépend, ça dépasse !"


    * A savoir que TOUS les parents d'un élément DOIVENT avoir une hauteur clairement définie (en px ou %) pour que ça fonctionne.

    D'où une 3ème solution possible :
    Code css : 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
    * { margin:0; padding:0; border:0; box-sizing:border-box; }
    #popup {
      z-index: 10001;
        position: fixed;
        top: 194px;
        left: 50%;
        width: 600px;
        margin: -134px 0 0 -300px;
        background-color: #fafafa;
        padding: 0 20px;
        border:1px solid black;
     
        /* Pour provoquer le overflow */
        height:250px;
        xxoverflow:hidden;
    }
     
    #part_1 {
      background-color:yellow;
      height:18%;
      margin: 1% 0; 
    }
     
    #part_2 {
      background-color:green;
      height:38%;
      margin: 1% 0; 
    }
     
    #part_3 {
      background-color:gray;
      overflow:auto;
      height:35%;
      margin: 1% 0; 
    }
    N.B. box-sizing:border-box; permet de définir les hauteurs (ou largeurs), sans inclure les margin / padding / border.
    Dernière modification par Invité ; 22/11/2016 à 13h43.

  6. #6
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Par défaut
    Merci pour toutes ces informations. Je vais revoir cela...

    Ce que je cherche à faire est la chose suivante :
    Les contenus en jaune et vert sont statiques (ils contiennent toujours les même éléments).
    Le contenu en gris peut varier, il peut contenir quelques élements ou énormement.

    Ce que je cherche à faire est que selon la taille du contenu en gris, la popup va s'agrandir jusqu'à un moment où celle-ci débordera en bas, dans ce cas une scrollbar s'affichera dans la div grise.
    En aucun cas le contenu jaune ou vert changera de taille.

    Merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/12/2014, 13h30
  2. strech with overflow ne fonctionne pas bien
    Par franfr57 dans le forum iReport
    Réponses: 0
    Dernier message: 10/07/2009, 15h10
  3. overflow:hidden; march pas sur IE !
    Par islyoung2 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 31/01/2009, 11h59
  4. div overflow sous firefox ne fonctionne pas
    Par ptitpoisson dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/08/2007, 17h09

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