web-dev-qa-db-fra.com

Comment faire en sorte qu'un <button> dans Bootstrap ressemble à un lien normal dans des onglets de navigation?

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?

88
meustrus

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>

162
SW4

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.

28
user3699060

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; 
}

enter image description here

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;
}
10
Rubyist

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;
}
2
oneday

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>

Démo

1
mcNux

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.

1
Alexey Mezenin