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 :

[div][CSS] gérer taille (width) d'un div ?


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut [div][CSS] gérer taille (width) d'un div ?
    salut,

    J'ai un petit soucis, j'ai créé une classe erreur pour mes pages web, le problème, c'est qu'elle ne fais pas ce que je veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div class="erreur">toto<br>toto</div><br><br>
    <span class="erreur">toto<br>toto</span>
    avec comme CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     .erreur{
    	border: solid;
    	border-color: Red;
    	border-width: 2px;
    	background-color: #FF3030;
    	color: White;
    	padding: 3px 3px 5px 5px;
    }
    le problème est visible ici : http://camelia.world.free.fr/develop...iv-erreur.html
    - si je mets un span le carré rouge s'arrête bien apres le texte, mais la deuxième ligne chevauche la première
    - si je mets un div il y a bien une identité de bloc, mais la largeur prend toute la page ...

    Et moi ce que je veux, c'est un bloc, mais qui s'arrete à la fin du texte, pas qui s'étale sur toute la page ...

    Quelqu'un à une idée ou la réponse à mon problème ?

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    en utilisant le div est en rajoutant la propriété css:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float: left; /*ou right*/
    la largeur de ton div s'adaptera automatiquement à la largeur de son contenu...
    par contre, tu risque d'avoir quelques soucis pour le positionner dans ta page...

    personellement, j'aurais accepté le compromis de donner une taille prédéfinie a ma boite d'erreur
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  3. #3
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Merci bien, j'ai testé ça, ca fait effectivement ce que je veux, sauf que comme tu le dis : "tu risque d'avoir quelques soucis pour le positionner dans ta page" alors j'ai rajouté des <br> pour que le reste du texte passe en dessous ...

    Mais je trouve ca pas super pro

    (comme je ne fais que rarement des DIV) je me pose du coup la question : les div prennent toutes la largeur si il n'ont pas de taille spécifiée ?

    je trouve ca bizarre ...

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    Citation Envoyé par Maxoo
    les div prennent toutes la largeur si il n'ont pas de taille spécifiée ?
    c'est le comportement par défaut de tous les éléments boites....

    pour éviter les br, tu peux rajouter ceci sous ton div (en dehors)
    le css:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    .spacer {
      visibility:hidden;
      height: 1px;
      clear: both;
    }
    la suite du contenu devrait se placer sous ton div...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  5. #5
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Whaa !! Merci je viens d'apprendre un truc !!

    Juste pour bien piger, clear: both; ca fait quoi des deux cotés ? ca efface ? ca libère de la place ?

    Alors j'ai un peu modifié le truc, car déja avec un hr, il est interprété n'importe comment suivant IE ou firefox, alors j'ai préferé faire un joli DIV !! (bah oui j'aime bien les div maintenant...)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="erreur G I">Vous devez rentrer un pseudo</div><div class="spacer"></div>
    Et la je remarque que bah oui IE interprete encore comme une mer** mon div, et du coup je suis obligé de rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .spacer {
      visibility:hidden;
      height: 10px;
      clear: both;
      overflow: hidden;
    }
    Car sinon 10px, IE l'agrandit comme pour mettre un caractère dedans (comme si y avait un &nbsp; !!

    Et sinon je regle la taille dessous au lieu de me taper des <br> à tour de bras.

    Merci MasterOfDiv euh ... MasterOfChakhaL

    P.S : Faut vraiment que je passe au div pour avoir que des div partout, du coup ca sera le pied

  6. #6
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Par défaut
    salut,

    en fait, en utilisant float, l'élément sort du flux normal de la page. C'est pourquoi tu voyais le texte se placer sous ton div...

    clear permet d'indiquer que tu ne veux pas qu'il y ait un autre élément a gauche (clear left) à droite (right) ou ni l'un ni l'autre (both)
    avec both, tu es donc sur que ca va pousser le contenu vers le bas (puisque l'élément qui a la propriété clear, lui, se trouve dans le flux de la page)

    pour le hr qui te donne des trucs bizarres, je ne comprends pas trop car c'est une classe que j'utilise régulièrement et qui semblait marcher sous ie, opéra, firefox safari!!!
    pour ton div, le probleme doit venir du fait que, comme tu l'as dit, IE essaie d'inserer un &nbsp; et que 10 px ne doivent pas suffire à afficher une ligne.

    pour te passer de l'overflow, je te suggère de définir line-height:10px au lieu de height
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/09/2008, 10h41
  2. [CSS] Taille d'une boite DIV dans un tableau
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 14/06/2006, 19h17
  3. Taille fixe div css
    Par Jiraiya42 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 26/04/2006, 20h30
  4. taille maximum d'un div
    Par Anduriel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 13/05/2005, 21h32
  5. Div scrollable avec taille en %
    Par Oluha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 08/04/2005, 11h09

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