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 :

Centrer un élément avec un block à droite [CSS 3]


Sujet :

Centrer un élément en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 85
    Par défaut Centrer un élément avec un block à droite
    Bonjour,

    Je galère sur une mise en page, mon but est d'obtenir une section de contenu centrer de largeur 980px, à ça droite un aside qui prend la place qui lui reste.
    Cependant le centrage me pose des problème afin de bien positionner le menu de droite, j'ai tester plusieurs choses :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div id="page">
         <section id="content">MON CONTENU CENTRAL</section>
         <aside>Mon aside droite</aside>
    </div>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    section {
        width: 980px;
        max-width: 980px;
        display: inline-block;
    }
    aside {
        display: inline-block;
    }
    Je ne peux pas utiliser "margin: auto;" sur ma section à cause de son passage en "inline-block", j'ai donc essayez d'ajouter un élément parent afin de lui appliquer un "text-align: center; " (moche ?)

    2ème mise en forme :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="page">
          <div id="parent">
              <section id="content">MON CONTENU CENTRAL</section>
              <aside>Mon aside droite</aside>
           </div>
    </div>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #parent {
         text-align: center;
    }
    section {
         with: 980px;
         max-width: 980px;
         text-align: left;
         display: inline-block;
    }
    Ma section ce "centre" pas comme il faut à cause du block aside, je lui applique donc un position: absolute afin de le faire sortir du flux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    aside {
         position: absolute;
         vertical-align: top;
          display: inline-block;
    }
    Le résultat est casiment celui attendu, à savoir ma section est centré et mon aside est à droite, cependant je trouve cela un peu tirer par les cheveux qu'en pensez-vous ? L'inconvénient est que "aside" ne prend pas toute la largeur disponible à cause de ça sortie du flux...
    J'évite d'utiliser la propriété float pour le placement du contenu de la page, cependant lors de mes tests j'ai obtenu un comportement similaire au problème ci-dessus.

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,

    une solution :
    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
    16
    <div id="page">
      <aside id="asideL">
        &nbsp;
      </aside>
      <section id="content">
        <div>MON CONTENU CENTRAL <br />
          sdgfsdfg sdfgsdfg sdg gsdfg sdfgsdfg dfgsd qdfqsdf qsdfqsdf qdf<br />sdgfsdfg sdfgsdfg sdg gsdfg sdfgsdfg dfgsd qdfqsdf qsdfqsdf qdf<br />sdgfsdfg sdfgssdfgsdfg dfgsd qdfqsdf qssdfgsdfg dfgsd qdfqsdf qsdfg sdg gsdfg sdfgsdfg
        dfgsd qdfqsdf qsdfqsdf qdf</div>
      </section>
     
      <aside id="asideR">
        Aside à droite<br />
        sdfgsdfg dfgsd qdfqsdf qssdfgsdfg dfgsd qdfqsdf qssdfgsdfgdfgsdfg sdg gsdfg sdfgsdfg
        dfgsd qdfqsdf qsdfqsdf qdf
      </aside>
    </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
    #page {
      display:flex;
    }
     
    #content {
      width: 980px;
    }
     
    #asideL,
    #asideR {
      width: calc(50% - 490px);
    }
     
    /* déco (pour voir) */
    #content {
      background: yellow;
    }
    #asideR {
      background: lightblue;
    }

    A voir : compatibilité de calc().

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 85
    Par défaut
    Merci pour votre réponse.

    En passant par la propriété indiquer cela fonctionne bien, cependant son support risque de me poser quelques problèmes ...

    Pensez-vous qu'il y a une solution sans calc ?

    Merci.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 213
    Par défaut
    Bonjour,
    cependant son support risque de me poser quelques problèmes ...
    dans ce cas flex te pausera également des soucis.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Sinon, solution en JavaScript.

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 85
    Par défaut
    Bonsoir,

    Merci pour vos réponses, je vais me replier si une de vos solutions

    Bonne soirée.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/01/2010, 18h11
  2. centrer un bloc avec image et son texte à droite
    Par ml1234 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 17/08/2009, 22h58
  3. Centrer un tableau avec un DIV float sur la droite
    Par lvr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/01/2007, 15h24
  4. Problème avec le clic droit
    Par nebule dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/10/2004, 16h29
  5. creation d'utilisateur sous interbase avec tous les droits
    Par devalender dans le forum InterBase
    Réponses: 2
    Dernier message: 13/09/2004, 10h00

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