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

HTML Discussion :

Dépassement horizontal DIV


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 98
    Par défaut Dépassement horizontal DIV
    Bonjour à tous !!!!

    Je créé un simple div dans un body, avec un mot très long afin de voir comment le div va réagir.
    Suprise: sur FF et Opera, le contenu sort !!!! (pas sur IE mais bon, c'est IE...)

    Est-ce normal ?
    N'y a-t-il pas moyen que le div s'allonge tout seul en fonction de son contenu ?

    Mon 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -->
    <!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -->
    <HTML>
     
    <HEAD>
    	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    	<TITLE></TITLE>
    	<STYLE type="text/css">
    		html{}
    		body{}
    		.div_normal{background: #CCCCCC;}
    	</STYLE>
    </HEAD>
     
    <BODY>
    	<DIV CLASS=div_normal>
    		aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    	</DIV>
    	<DIV><BR></DIV>
    	<DIV CLASS=div_normal>
    		aaaaaaaaaa
    	</DIV>
    </BODY>
     
    </HTML>
    Merci !!!!!
    ++
    HH

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Oui, c'est normal.

    Pour que le div s'allonge, il faut lui spécifier une longueur minimum, soit un min-width (non compris par IE6 qui de toute façon gère le width comme un min-width).

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 98
    Par défaut
    Merci Bisûnûrs !!!

    Mais, le fait de mettre une largeur minimum ne force pas le div à s'allonger.
    Si min-width: 100px et que le contenu en fait 3000, le div ne va pas plus loin que ses "100%"...

    Autre idée ?

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Et min-width:100% ?

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 98
    Par défaut
    Non plus...

    en fait, je pense que le div ne force pas sur le body. Le contenu dépasse mais pas les bordures ni le background.

    Il faut mettre une table avant. Celle-si ne force pas mais dépasse "normalement" ce qui permet au div de s'étendre tant qu'il veut.

    Je ne sais pas pourquoi, c'est un constat.
    ++
    HH

  6. #6
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Salut,

    C'est normal, que ton contenu sorte du div dans FF c'est simplement pcq ton contenu ne contient pas d'espace. Comme je l'ai dis dans un autre post FF étant bon élève, pour lui le div fait la taille qu'on lui a demandé ou la taille de base si on ne précise pas ici, 100% - les marges et padding par défaut

    Comme ton contenu ne contient pas d'espace, aucun navigateur à ma connaissance ne renverra tes aaa... à la ligne par contre ajoute un espace au milieu de tes aaa tu verras que tes aaa rentrerons dans ton div

  7. #7
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Citation Envoyé par hair_peace Voir le message
    (pas sur IE mais bon, c'est IE...)
    Petite rectification, pas sur IE6 et moins, pour la raison qui t'a été donnée plus haut. Par contre IE7 réagit correctement.

    Citation Envoyé par hair_peace Voir le message
    Est-ce normal ?
    Oui, comme expliqué plus haut, par défaut, en width:auto (valeur par défaut), un élément de type block, normalement dans le flux, va occuper le maximum de place à disposition dans son parent et donc aura au maximum la taille de l'élément racine, soit la fenêtre de visualisation.
    Citation Envoyé par hair_peace Voir le message
    N'y a-t-il pas moyen que le div s'allonge tout seul en fonction de son contenu ?
    Il y a plusieurs propriétés qui permettent de modifier ce comportement par défaut. Les élément flottants, ceux positionnés en absolute, ou encore d'un autre type que block, par exemple table, verront, eux, leur largeur s'adapter à leur contenu. Tu peux tester en ajoutant tour à tour


    à ton .div_normal, à part la dernière option sur IE7 (pas supporté par IE) tu devrais obtenir le résultat souhaité.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 98
    Par défaut
    Merci kaiser59 et Candygirl !!!

    C'est super, j'ai tout ce qu'il me faut:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    texte_qui_sort{}
    texte_masqué{overflow: hidden ou auto;}
    texte_qui_force{float: left ou right;}
    je n'utilise pas "display:table;" puisque non supportée par IE7
    ni absolute car le div devient indépendant des largeurs parentes.

    Encore merci à tous pour votre aide
    A bientot
    HH

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

Discussions similaires

  1. [AJAX] Bug IE : ma div draggable ne suit pas mon scroll horizontal
    Par kazai dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/06/2008, 09h59
  2. 2 div + scroolbar horizontal + JS
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/05/2008, 17h28
  3. positionnement horizontal de div block
    Par xorax dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/10/2007, 02h37
  4. [DIV] Scroll si dépassement de contenu
    Par webrider dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/03/2007, 09h34
  5. [DIV][Scroll]Scroll horizontal dans un DIV
    Par Salam59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/03/2006, 11h38

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