it-roy-ru.com

Как сделать <button> в Bootstrap похожей на обычную ссылку в навигационных вкладках?

Я работаю в (ранее 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>s выглядеть так, как будто они действительно были <a>s?

88
meustrus

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

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

<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

Просто сделайте обычную ссылку похожей на кнопку :)

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

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

28
user3699060

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

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

enter image description here

Дополнительные стили Edit

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

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

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

В начальной загрузке 3 это хорошо работает для меня:

.btn-link.btn-anchor {
    outline: none !important;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

Используется как:

<button type="button" class="btn-link btn-anchor">My Button</button>

Демо

1
mcNux

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

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

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

1
Alexey Mezenin