Alors ... ça commence à m'agacer ... et je pensais que je viendrais ici et obtenir de l'aide ..
La div principale autour de la boîte a une largeur ... alors il y a du texte ... et un bouton que je veux au centre de la div ..
c'est un bouton <a href>
.. mais il ne se centre pas.
Je ne pensais pas avoir besoin de spécifier une largeur car la division extérieure avait une largeur .. j'ai essayé margin:0 auto; text-align:center
etc rien ne fonctionne
<h2 class="service-style color_service">Annoyed</h2>
<div class="service-text text1">
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Lorem ipsum dolor sit amet…
</p>
<a href="" class="button button-large"><i class="fa fa-credit-card" style="padding-right:10px;"></i> Learn More</a>
</div>
voici le lien de violon
Vous avez le problème à cause du display:inline-block
... voir ici
Dans cette section de css, ajoutez:
Supprimez tous les margin
s dans button
class et modifiez comme suit:
/* --------------------------------------------------
:: Button Configuration
-------------------------------------------------- */
.button {
display:block; /* change this from inline-block */
width:20%; /* setting the width */
margin:0 auto; /* this will center it */
position:relative;
font-style:normal;
font-weight:normal;
font-family:"Open Sans";
font-size:14px;
outline:none;
color:#fff;
border:none;
text-decoration:none;
text-align:center;
cursor:pointer;
-webkit-border-radius:2px;
-moz-border-radius:2px;
border-radius:2px;
background-color:#96aa39;
border-bottom:1px solid #7b8b2f;
}
EDIT: utiliser inline-block sans définir de largeur
Comment faire seule solution pour centrer l'élément inline-block consiste à utiliser text-align:center
dans votre classe de css:
.service-text {
text-align: center; /* add this to center the button */
}
puis ajoutez:
.service-text p{
text-align:left /* and then add this to left align the text inside the para*/
}
ainsi, vous n'aurez pas besoin de donner width
et seulement padding
résoudra votre problème!
Votre bouton doit être un élément de niveau bloc. Solution la plus simple:
a.button-large{
padding : 15px 30px 14px 30px;
margin : 5px auto;
display : block;
width : 100px;
}
Je voudrais également supprimer la marge droite 10px sur a.button-large i
pour centrer le texte "En savoir plus".
Je suggérerais de le rappeler un peu et de divorcer de votre cadre ou de ce que vous utilisez. Pour centrer les choses horizontalement, il y a 2 approches.
Vous devez décider en fonction de votre choix de positionner le bouton: inline, inline-block ou block. Pour mobile et doigts et tout ce genre de choses (2014) - je suggérerais un blocage en ligne ou un blocage. Alors -
s'il s'agit d'un bloc en ligne, vous pouvez simplement le traiter comme du texte. Définissez le parent sur text-align center;
Si c'est bloqué, vous pouvez utiliser margin-right: auto; margin-left: auto;
mais cela pose d'autres problèmes. Comme tous les autres pensent, il doit être organisé de manière à ne pas flotter les uns sur les autres et à tout gâcher. Je vous suggère de le faire comme ceci: jsfiddle
PS - nous n'avons pas besoin de voir autant de code dans votre violon. Il est plus facile d'arriver à la déroute du problème avec seulement le strict nécessaire. Bonne chance.
<aside class="service">
<header>
<h2 class="">Title of module thing</h2>
</header>
<div class="text-wrapper">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Lorem ipsum dolor sit amet…</p>
<a href="#" class="button button-large"><i class="fa fa-credit-card" style="padding-right:10px;"></i> Learn More</a>
</div> <!-- .text-wrapper -->
</aside> <!-- .service -->
*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
} /* start your projext off right */
.service {
border: 1px solid #2ecc71;
font-family: helvetica;
text-align: center;
}
.service header {
background-color: #2ecc71;
}
.service header h2 {
font-size: 1.3em;
font-weight: 400;
color: white;
/* text-align: center; */ /* the parent should have this - not the element */
/* width: 100%; */ /* this is already default because it is a block element */
margin: 0;
padding: .5em;
}
.service .text-wrapper {
padding: 1em;
}
.service p {
text-align: left;
font-size: .9em;
}
.button {
display: inline-block; /*so it's like... "inline" - and can be centered */
background-color: #2ecc71;
text-decoration: none;
color: white;
text-transform: uppercase;
padding: 1em 2em;
-webkit-border-radius: 5px;
border-radius: 5px;
}
Vous devez mettre le texte-align: center; l'élément parent du bouton dans votre cas est le div.service-text.
si vous voulez que le top P soit text-align: right; veuillez utiliser P différent pour le bouton
rappelles toi. si votre élément est display: block; vous devez donc donner une marge: 0 auto; à votre élément. si votre élément est display: inline-block; vous devez donner text-align: center; à l'élément parent.
vous devez modifier votre css comme ci-dessous: - supprimer margin
de a.button-large
classe - et changer display:table
dans .button
classe
a.button-large{
padding:15px 30px 14px 30px;
}
.button{
display:table;
position:relative;
font-style:normal;
font-weight:normal;
font-family:"Open Sans";
font-size:14px;
margin:0 auto;
outline:none;
color:#fff;
border:none;
text-decoration:none;
text-align:center;
cursor:pointer;
-webkit-border-radius:2px;
-moz-border-radius:2px;
border-radius:2px;
}
La solution rapide consiste à ajouter "text-align: center;"
à .service-text
.
Essaye ça
<div style="text-align:center;">
<a href="" class="button button-large"><i class="fa fa-credit-card" style="padding-right:10px;"></i> Learn More</a>
</div>
Essayez d'inclure votre bouton dans un div et mettez à jour CSS
comme indiqué ci-dessous
<div class="check">
<a href="" class="button button-large"><i class="fa fa-credit-card" style="padding-right:10px;"></i> Learn More</a>
</div>
`CSS`
.check
{
width: 150px;
margin:auto;
}
Enveloppez le bouton dans un élément et donnez-lui text-align:center
.
Écrire:
<div class="center">
<a href="" class="button button-large"><i class="fa fa-credit-card" style="padding-right:10px;"></i> Learn More</a>
</div>
.center {
text-align:center;
}