Как сделать кнопку <button> в Bootstrap похожим на обычную ссылку в nav-tabs?

Я работаю (ранее Twitter) Bootstrap 2, и мне хотелось стилизовать кнопки, как если бы они были обычными ссылками. Однако не только обычные ссылки; они идут в контейнер <ul class="nav nav-tabs nav-stacked">. Разметка закончится следующим образом:

<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 какой-нибудь способ сделать эти <button> похожими на то, что они были на самом деле <a> s?

Ответ 1

Как указано в официальной документации, просто примените класс 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>

Например... с кодом, который вы предоставили:

<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<link href="http://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>

Ответ 2

Просто сделайте регулярную ссылку похожим на кнопку:)

<a href="#" role="button" class="btn btn-success btn-large">Click here!</a>

"роль" внутри кода href делает его похожим на кнопку, из которого вы можете добавить больше переменных, таких как класс.

Ответ 3

Просто добавьте remove_button_css как класс в свой тег кнопки. Вы можете проверить код для Link 1

.remove_button_css { 
  outline: none;
  padding: 5px; 
  border: 0px; 
  box-sizing: none; 
  background-color: transparent; 
}

enter image description here

Редактирование дополнительных стилей

Добавьте color: #337ab7; и :hover и :focus в соответствие с OOTB (bootstrap3)

.remove_button_css:focus,
.remove_button_css:hover {
    color: #23527c;
    text-decoration: underline;
}

Ответ 4

Я пробовал все примеры, размещенные здесь, но они не работают без дополнительного CSS. Попробуйте следующее:

<a href="http://www.google.com"><button type="button" class="btn btn-success">Google</button></a>

Работает отлично, без каких-либо дополнительных CSS.

Ответ 5

Просто избавьтесь от цвета фона, границ и добавьте эффекты зависания. Здесь скрипка: 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;
}