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 :

Rôle de la propriété content pour appliquer la largeur


Sujet :

Dimensionnement en CSS

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut Rôle de la propriété content pour appliquer la largeur
    Bonjour,

    je suis parti d'un code de jreaux62 que j'ai fortement dégraissé, le but étant de faire une mise en page simple dont l'aspect est similaire à ce qu'on obtenait autrefois avec les balises <table>, <tr> et <td>.

    J'y suis parvenu mais il y a une propriété CSS indispensable (content)(si on l'enlève, l'affectation de la largeur des 2 blocs n'est plus possible) et je ne trouve pas l'explication. Peut-on m'expliquer ?

    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
     
     
     
    <main>
     
     
      <section class="table clearfix">
        <div class="table-cell" id="boite1">boite 1
        </div>
        <div class="table-cell" id="boite2">boite 2
            </div>
     
       <!-- <div class="cboth"></div>-->
     
        </div>

    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
    36
    37
     
    /* permet de remettre dans le flux les blocs flottants */
    .clearfix:before, .clearfix:after { /*display:table;*/ content:""; }
    /*.clearfix:after { clear:both; }*/
     
     
    /* TABLE */
    .table {
      display: table;
      width: 100%;
    }
    .table-row {
      display: table-row;
    }
    .table-cell {
      display: table-cell;
      vertical-align:top;
    }
     
     
     
    #boite1, #boite2 {
      width:20%;
    }
     
     
     
     
    /* -------------------------------------- */
    /* déco (facultatif) */
     
    #boite1, #boite2
       {
      padding:2%;
      border: 1px dashed #ccc;
      background: #f6f6f6;
    }

    http://codepen.io/laurentsc/pen/jygzXz
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Invité
    Invité(e)
    Par défaut
    Laisse clearfix tel quel, au lieu de jouer aux apprentis sorciers.....

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    OK

    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
    36
    37
     
    /* permet de remettre dans le flux les blocs flottants */
    .clearfix:before, .clearfix:after { display:table; content:""; }
    .clearfix:after { clear:both; }
     
     
    /* TABLE */
    .table {
      display: table;
      width: 100%;
    }
    .table-row {
      display: table-row;
    }
    .table-cell {
      display: table-cell;
      vertical-align:top;
    }
     
     
     
    #boite1, #boite2 {
      width:20%;
    }
     
     
     
     
    /* -------------------------------------- */
    /* déco (facultatif) */
     
    #boite1, #boite2
       {
      padding:2%;
      border: 1px dashed #ccc;
      background: #f6f6f6;
    }
    mais cela dit, ça m'embête de l'utiliser sans comprendre (même si je suis très lent, je cherche quand même à apprendre). Peux-tu m'expliquer le rôle de clearfix ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est écrit dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /* permet de remettre dans le flux les blocs flottants */
    Et en faisant une simple RECHERCHE, tu aurais trouvé de nombreuses explications...

    Il y a aussi la FAQ CSS : Comment faire pour qu'un conteneur englobe ses enfants flottants ?

    clearfix est souvent présenté comme un "hack", or il n'a rien de "malveillant".
    C'est juste un "fix", permettant de "corriger" un comportement (-> remettre dans le flux les blocs flottants).

    N.B. Tu n'a pas besoin de "comprendre" pour l'utiliser.
    Mets cette classe "clearfix" sur le parent des élements en position float, et POINT BARRE.


    CELA DIT (et maintenant que j'ai regardé ton codepen !), TU N'AS PAS d'éléments FLOAT dans ton code !!!!!!!
    Tes éléments sont en display:table/table-cell !!!
    Dernière modification par Invité ; 22/02/2017 à 10h20.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 382
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    En effet, y a pas d'éléments flottants, mais ce code fonctionne avec la propriété content (indispensable) ; donc je la mettrai sans me poser de question...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/09/2006, 19h09
  2. Code source pour appliquer une DCT
    Par lemenyau dans le forum C
    Réponses: 14
    Dernier message: 31/05/2006, 18h38
  3. [CSS] propriété resizable pour une div ?
    Par 10-nice dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 22/09/2005, 10h12
  4. PB pour appliquer un modele de stratégie .adm dans une GPO.
    Par Alain18 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 10/08/2005, 16h00

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