CSS: bloc central, mais aligner le contenu vers la gauche

Je veux qu'un bloc entier soit centré dans son parent, mais je veux que le contenu du bloc soit aligné à gauche.

Les exemples servent le mieux

Sur cette page :

Http://yaml-online-parser.appspot.com/?yaml=%23+ASCII+Art%0d%0a---+%7c%0d%0a++%5c%2f%2f%7c%7c%5c%2f%7c%7c%0d%0a++%2f%2f+%7c%7c++%7c%7c__%0d%0a&type=python

L'art ascii devrait être centré (tel qu'il apparaît) mais il devrait s'aligner et ressembler à "YAML".

Ou ceci :

Http://yaml-online-parser.appspot.com/?yaml=%3f+-+Detroit+Tigers%0d%0a++-+Chicago+cubs%0d%0a%3a%0d%0a++-+2001-07-23%0d%0a%0d%0a%3f+%5b+New+York+Yankees%2c%0d%0a++++Atlanta+Braves+%5d%0d%0a%3a+%5b+2001-07-02%2c+2001-08-12%2c%0d%0a++++2001-08-14+%5d%0d%0a

Le message d'erreur devrait être aligné comme dans une console.

50
demandé sur Serge Stroobandt 2009-08-13 05:34:03

8 réponses

Tout d'abord, créez un parent div qui Centre son contenu enfant avec text-align: center. Ensuite, créez un enfant {[1] } qui utilise display: inline-block pour s'adapter à la largeur de ses enfants et text-align: left pour aligner le contenu qu'il contient à gauche comme vous le souhaitez.

<div style="text-align: center;">
    <div style="display: inline-block; text-align: left;">
        Centered<br />
        Content<br />
        That<br />
        Is<br />
        Left<br />
        Aligned
    </div>
</div>
96
répondu Keavon 2017-10-10 23:07:30

Reposter la réponse de travail de l'autre question: comment centrer horizontalement un élément flottant d'une largeur variable?

En Supposant que l'élément qui est proposé et sera centré est un div avec un id="contenu" ...

<body>
<div id="wrap">
   <div id="content">
   This will be centered
   </div>
</div>
</body>

Et appliquer le CSS suivant

#wrap {
    float: left;
    position: relative;
    left: 50%;
}

#content {
    float: left;
    position: relative;
    left: -50%;
}

Voici une bonne référence à ce sujet http://dev.opera.com/articles/view/35-floats-and-clearing/#centeringfloats

16
répondu Paul Tarjan 2017-05-23 12:03:02

Si je vous comprends bien, vous devez utiliser pour centrer un conteneur (ou un bloc)

margin-left: auto;
margin-right: auto;

Et pour aligner à gauche son contenu:

text-align: left;
2
répondu eKek0 2009-08-13 01:37:05
<div>
    <div style="text-align: left; width: 400px; border: 1px solid black; margin: 0 auto;">
         <pre>
Hello
Testing
Beep
         </pre>
    </div>
</div>
1
répondu Amber 2009-08-13 01:40:27

Normalement, vous devriez utiliser margin: 0 auto sur le div comme mentionné dans les autres réponses, mais vous devrez spécifier une largeur pour le div. Si vous ne voulez pas spécifier une largeur, vous pouvez non plus (cela dépend de ce que vous essayez de faire) utiliser des marges, quelque chose comme margin: 0 200px;, cela devrait rendre votre contenu centré, vous pouvez également voir la réponse de leyu à ma question

1
répondu Waleed Eissa 2017-05-23 12:10:26

Est-ce ce que vous recherchez? Flexbox...

.container{
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
.inside{
  height:100px;
  width:100px;
  background:gray;
  border:1px solid;
}
<section class="container">
  <section class="inside">
    A
  </section>
  <section class="inside">
    B
  </section>
  <section class="inside">
    C
  </section>
</section>
1
répondu Ron Royston 2017-12-03 18:21:03

J'ai trouvé le moyen le plus simple d'aligner le texte au centre et à gauche dans un conteneur est le suivant:

HTML:

<div>
  <p>Some interesting text.</p>
</div>

CSS:

P {
  width: 50%; //or whatever looks best
  margin: auto; //top and bottom margin can be added for aesthetic effect
}

J'espère que c'est ce que vous cherchiez car il m'a fallu un peu de recherche juste pour comprendre cette solution assez basique.

0
répondu L.Gaunt 2018-02-06 11:21:30

Cela fonctionne

<div style="display:inline-block;margin:10px auto;">
    <ul style="list-style-type:none;">
        <li style="text-align:left;"><span class="red">❶</span> YouTube AutoComplete Keyword Scraper software <em>root keyword text box</em>.</li>
        <li style="text-align:left;"><span class="red">❷</span> YouTube.com website <em>video search text box</em>.</li>
        <li style="text-align:left;"><span class="red">❸</span> YouTube AutoComplete Keyword Scraper software <em>scraped keywords listbox</em>.</li>
        <li style="text-align:left;"><span class="red">❹</span> YouTube AutoComplete Keyword Scraper software <em>right click context menu</em>.</li>
    </ul>
</div>
-1
répondu user7212232 2017-03-19 11:02:54