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 :

alignement horizontal de divs illimité sans scroll [CSS 3]


Sujet :

Défilement en CSS

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut alignement horizontal de divs illimité sans scroll
    Bonjour à tous,

    Je cherche donc à aligner horizontalement des divs (dont, dans sa version finale je ne connais ni la largeur ni le nombre total) sans retour à la ligne ni barre de scroll

    Voilà mon code actuel qui est ce que je veux sauf qu'il y a un retour à la ligne

    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
    <style type="text/css">
    .container {
    	white-space:nowrap;
    	width:auto;
    	height:220px;
    }
    .project {
    	border:none;
    	height:200px;
    	background-color:#999;
    	margin:20px;
    	float:left;
    }
    </style>
    <body>
    <div class="container">
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
    </div>
    </body>
    Jusque là j'utilisais whit-space qui marchait très bien avec des images mais je dois maintenant utiliser des divs...

    Merci pour votre aide !

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 346
    Points
    16 346
    Par défaut
    Quand tu dis que tu ne veux pas de scrollbar, ça veut dire que tes éléments en trop seront masqués ou alors la scrollbar du viewport doit apparaitre et non celle du div container ?

    Dans le premier cas, tu dois donner une largeur à ton div container, et lui mettre un overflow:hidden. Si tu veux quand même avoir une largeur dynamique, alors tu seras obligée de l'attribuer en Javascript.

    Dans le deuxième cas, supprime le float:left de tes divs et mets display:inline-block à la place.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse rapide.

    Je me situe dans le premier cas à savoir que les div qui dépassent de la zone seront masqués, l'idée étant de les faire scroller ensuite avec jquery. J'ai donc suivi ton conseil mais ça part encore à la ligne (j'ai enlevé le height pour le vérifier) .

    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
    <style type="text/css">
    .container {
    	white-space:nowrap;
    	width:100%;
    	overflow:hidden;
    }
    .project {
    	border:none;
    	height:200px;
    	background-color:#999;
    	margin:5px;
    	float:left;
    }
    </style>
    <body>
    <div class="container">
    	<div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
        <div class="project">ssssssssssssssssssssssssssssssssss</div>
    </div>
    </body>

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 346
    Points
    16 346
    Par défaut
    Hum, oui, mais ce que je voulais dire par donner une largeur, c'était une largeur non "dynamique", le overflow n'est pas pris en compte dans le cas d'une largeur en %.
    D'où ma remarque sur l'affectation de la largeur en Javascript en fonction de la largeur de la fenêtre.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Hum, oui, mais ce que je voulais dire par donner une largeur, c'était une largeur non "dynamique", le overflow n'est pas pris en compte dans le cas d'une largeur en %.
    D'où ma remarque sur l'affectation de la largeur en Javascript en fonction de la largeur de la fenêtre.
    Ok c'est un peu embêtant mais ça peut être gérable.

    J'ai remplacé le 100% par une largeur fixe pour tester et ça va toujours à la ligne. Par ailleurs le overflow:hidden fonctionne même en width:100% (je teste sous firefox)

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 893
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 893
    Points : 16 346
    Points
    16 346
    Par défaut
    Ah oui, pardon, il faut que tu passes tes divs projects en display:inline-block à la place de float:left.
    Du coup le width:100% devrait fonctionner.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    ça fonctionne !

    Donc pour résumer, il faut passer le container en white-space:nowrap et overflow:hidden et les divs intérieurs en display:inline-block

    MERCI !

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

Discussions similaires

  1. Centrer une div avec ou sans scroll
    Par krunch dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 06/02/2014, 23h04
  2. [script.aculo.us] Drag and drop dans une div avec un scroll horizontal
    Par ridan dans le forum Bibliothèques & Frameworks
    Réponses: 7
    Dernier message: 21/07/2009, 19h14
  3. Alignement horizontal de 2 bloc div
    Par sliverman dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 03/05/2009, 15h09
  4. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  5. largeur de la page web - mise en page sans scroll
    Par Pepito dans le forum Webdesign & Ergonomie
    Réponses: 5
    Dernier message: 24/07/2005, 01h27

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