Je travaille dans (anciennement Twitter) Bootstrap 2 et je voulais styliser les boutons comme s'il s'agissait de liens normaux. Pas n'importe quels liens normaux, cependant; ceux-ci vont dans un conteneur <ul class="nav nav-tabs nav-stacked">
. Le balisage se terminera comme ceci:
<form action="..." method="post">
<div class="row-fluid">
<!-- Navigation for the form -->
<div class="span3">
<ul class="nav nav-tabs nav-stacked">
<li><button type="submit" name="op" value="Link 1">Link 1</button></li>
<li><button type="submit" name="op" value="Link 2">Link 2</button></li>
<!-- ... -->
</ul>
</div>
<!-- The actual form -->
<div class="span9">
<!-- ... -->
</div>
</div>
</form>
Bootstrap a-t-il un moyen de faire en sorte que ces <button>
s ressemblent à des <a>
s?
Comme indiqué dans la documentation officielle , appliquez simplement la ou les classes btn btn-link
:
<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->
<button type="button" class="btn btn-link">Link</button>
Par exemple, avec le code que vous avez fourni:
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<form action="..." method="post">
<div class="row-fluid">
<!-- Navigation for the form -->
<div class="span3">
<ul class="nav nav-tabs nav-stacked">
<li>
<button class="btn btn-link" role="link" type="submit" name="op" value="Link 1">Link 1</button>
</li>
<li>
<button class="btn btn-link" role="link" type="submit" name="op" value="Link 2">Link 2</button>
</li>
<!-- ... -->
</ul>
</div>
<!-- The actual form -->
<div class="span9">
<!-- ... -->
</div>
</div>
</form>
Il suffit de faire en sorte que le lien ressemble à un bouton :)
<a href="#" role="button" class="btn btn-success btn-large">Click here!</a>
"role" à l'intérieur d'un code href le fait ressembler à button, bien sûr, vous pouvez ajouter plus de variables telles que class.
Ajoutez simplement remove_button_css en tant que classe à votre balise button. Vous pouvez vérifier le code du lien 1
.remove_button_css {
outline: none;
padding: 5px;
border: 0px;
box-sizing: none;
background-color: transparent;
}
Extra Styles Edit
Ajoutez color: #337ab7;
et :hover
et :focus
pour faire correspondre OOTB (bootstrap3)
.remove_button_css:focus,
.remove_button_css:hover {
color: #23527c;
text-decoration: underline;
}
Débarrassez-vous simplement de la couleur d'arrière-plan, des bordures et ajoutez des effets de survol. Voici un violon: http://jsfiddle.net/yPU29/
<form action="..." method="post">
<div class="row-fluid">
<!-- Navigation for the form -->
<div class="span3">
<ul class="nav nav-tabs nav-stacked">
<li><button type="submit" name="op" value="Link 1" class="button-link">Link 1</button></li>
<li><button type="submit" name="op" value="Link 2" class="button-link">Link 2</button></li>
<!-- ... -->
</ul>
</div>
<!-- The actual form -->
<div class="span9">
<!-- ... -->
</div>
</div>
</form>
CSS:
.button-link {
background-color: transparent;
border: none;
}
.button-link:hover {
color: blue;
text-decoration: underline;
}
Dans bootstrap 3, cela fonctionne bien pour moi:
.btn-link.btn-anchor {
outline: none !important;
padding: 0;
border: 0;
vertical-align: baseline;
}
Utilisé comme:
<button type="button" class="btn-link btn-anchor">My Button</button>
J'ai essayé tous les exemples, publiés ici, mais ils ne fonctionnent pas sans CSS supplémentaire. Essaye ça:
<a href="http://www.google.com"><button type="button" class="btn btn-success">Google</button></a>
Fonctionne parfaitement sans CSS supplémentaire.