J'essaie de centrer mes icônes FontAwesome dans mon Twitter Bootstrap code.
Voici mon HTML:
<div id="frontpage-content" class="content">
<div class="container">
<div class="row">
<div class="col-lg-4">
<span>
<i class="fa fa-camera-retro fa-5x"></i>
</span>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Pariatur, inventore, ipsa dolorum laborum sit alias iusto nam quibusdam ad distinctio rerum expedita autem itaque delectus iste mollitia perferendis sint libero accusamus
in. Enim, natus necessitatibus pariatur optio explicabo consequuntur quod!</p>
</div>
<div class="col-lg-4">
<i class="fa fa-camera-retro fa-5x"></i>
<p>Ut, aliquid, aperiam, veniam modi voluptates maiores nesciunt libero fugiat illum recusandae cum similique et alias possimus error ex tenetur quasi sint eius dicta officia earum eveniet suscipit corporis autem deleniti nihil sed!
Earum blanditiis vel similique nisi fugit reprehenderit?</p>
</div>
<div class="col-lg-4">
<i class="fa fa-camera-retro fa-5x"></i>
<p>Quisquam eos aperiam autem atque minus modi similique earum! Ab, laboriosam odit non quo officiis asperiores atque dolorum omnis vitae in qui officia sequi molestias quisquam velit exercitationem aperiam. Voluptatum, unde, nesciunt
temporibus voluptates sint ab architecto at quod dolore.</p>
</div>
</div>
</div>
Et voici ce que j'ai déjà essayé:
#frontpage-content {
background-color: $bgDefault;
i {
text-align:center;
}
span {
text-align:center;
}
}
Fonctionne parfaitement pour le texte, mais ne fonctionne pas pour les éléments i
.
Je sais que je peux le centrer, si je donne à la div environnante une largeur statique, puis positionne l'élément i
avec ...
margin-right: auto;
margin-left: auto;
display: block;
... mais je ne veux pas donner à la div environnante une largeur statique.
Alors, comment puis-je résoudre ce problème, sans appliquer de largeur statique?
Edit: Je connais aussi l'élément center
HTML, mais ce ne serait pas CSS, et donc pas très pratique.
Il vous suffit de définir display:block
avec text-align:center
dans le i
à l'intérieur de votre conteneur div
et vous l'avez:
.col-lg-4 i {
display:block;
text-align:center
}
EDIT # 1: Comme cette réponse semble obtenir une certaine traction, il convient de noter que la manière la plus "Twitter-bootstrapy" de le faire serait être ce que @ SimoneMelloni a suggéré dans sa réponse à cette question , ie. l'utilisation du text-center
classe.
Notez que c'est fondamentalement la même que ma solution, compte tenu de tous les text-center
est défini text-align:center
, il utilise simplement une fonction Twitter bootstrap.
Notez également que text-align:center
ne fonctionne que sur éléments de niveau bloc ou sur ceux où vous définissez explicitement display:block
, comme dans ma réponse originale ci-dessus. Là, je devais spécifier cela parce que je l'ai utilisé sur i
, qui est un élément en ligne .
EDIT # 2: Je viens de voir votre édition sur l'élément center
: alors que ce n'est pas du CSS mais du HTML, c'est moins problème, le plus gros problème avec lui est qu'il est obsolète. Voir plus d'informations à ce sujet sur doc de MDN sur le <center>
élément
<div class="text-center">
<i class="fa fa-camera-retro fa-5x></i>
</div>
A fait l'affaire sans ouvrir le fichier css