Добавить значок, чтобы отправить кнопку в twitter bootstrap 2
Я хочу использовать значки начальной загрузки twitter на моих кнопках ввода формы.
примеры на http://twitter.github.com/bootstrap/base-css.html#icons в основном показывают стилизованные гиперссылки.
самое близкое, что я пришел, - Это значок, отображаемый рядом с кнопкой, но не внутри.
<div class="input-prepend">
<span class="add-on"><i class="icon-user icon-white"></i></span>
<input type="submit" class="btn-primary" value="Login" >
</div>
12 ответов:
вы можете использовать тег кнопки вместо ввода
<button type="submit" class="btn btn-primary"> <i class="icon-user icon-white"></i> Sign in </button>
Я думаю, что вы можете использовать метки тегов для этой цели. Вот пример из Twitter начальной загрузки навигации в HTML:
<form class="navbar-search"> <input type="text" class="search-query" placeholder="Search here" /> <label for="mySubmit" class="btn"><i class="icon-search icon-white"></i> Search me</label> <input id="mySubmit" type="submit" value="Go" class="hidden" /> </form>
в основном вы получаете элемент метки для ввода (type=submit), а затем скрываете фактический ввод. Пользователи могут щелкнуть по элементу label и все равно пройти через отправку формы.
Я думаю, что вы должны попробовать это FontAwesome предназначен для использования с Twitter Bootstrap.
<button class="btn btn-primary icon-save">Button With Icon</button>
предположим, что это исходная форма:
<form method="post" id="myFavoriteForm> ...other fields... <input class="btn btn-primary" type="submit" name="login" value="Let me in" /> </form>
изменить его следующим образом:
<form method="post" id="myFavoriteForm"> ...other fields... <a href="#" class="btn btn-primary" id="myFavoriteFormSubmitButton"> <i class="icon-user icon-white"></i> Let me in </a> </form>
...а потом волшебный jQuery:
$("#myFavoriteFormSubmitButton").bind('click', function(event) { $("#myFavoriteForm").submit(); });
или если вы хотите, чтобы убедиться, что пользователь всегда может отправить форму-это что бы я сделал на твоем месте, можно оставить нормальную кнопку Отправить форме, и скрыть его с помощью jQuery .скрывать.)( Это гарантирует, что логин все еще работает без JavaScript и jQuery в соответствии с обычной кнопкой отправки (есть люди, использующие ссылки, w3m и подобные браузеры), но предоставляет причудливая кнопка со значком, Если это возможно.
Я хотел, чтобы значки Twitter Bootstrap были в базовой форме Rails и наткнулся на этот пост. После поиска вокруг немного, я нашел простой способ сделать это. Не уверен, что вы используете рельсы, но вот код. Ключ должен был передать блок в link_to view helper:
<tbody> <% @products.each do |product| %> <tr> <td><%= product.id %></td> <td><%= link_to product.name, product_path(product) %></td> <td><%= product.created_at %></td> <td> <%= link_to(edit_product_path(product), :class => 'btn btn-mini') do %> Edit <i class="icon-pencil"></i> <% end %> <%= link_to(product_path(product), :method => :delete, :confirm => 'Are you sure?', :class => 'btn btn-mini btn-danger') do %> Delete <i class="icon-trash icon-white"></i> <% end %> </td> </tr> <% end %> </tbody> </table> <%= link_to(new_product_path, :class => 'btn btn-primary') do %> New <i class="icon-plus icon-white"></i> <% end %>
Если вы не используете Rails, вот выходной HTML для ссылок с иконками (для кнопок редактирования, удаления и новой отправки)
# Edit <a href="/products/1/edit" class="btn btn-mini">Edit <i class="icon-pencil"></i></a> # Delete <a href="/products/1" class="btn btn-mini btn-danger" data-confirm="Are you sure?" data-method="delete" rel="nofollow"> Delete <i class="icon-trash icon-white"></i></a> # New <a href="/products/new" class="btn btn-primary">New <i class="icon-plus icon-white"></i></a>
и вот ссылка на скриншот готовый результат: http://grab.by/cVXm
есть новый способ сделать это с bootstrap 3:
<button type="button" class="btn btn-default btn-lg"> <span class="glyphicon glyphicon-star"></span> Star </button>
на bootstrap glyphicons страница в разделе "Как пользоваться":
есть один способ, как сделать технологии glyphicons (бутстрап) в
input type="submit"
. Использование css3 несколько фона.HTML:
<form class="form-search"> … <input type="submit" value="Search"> </form>
и CSS:
.form-search input[type="submit"] { padding-left:16px; /* space for only one glyphicon */ background:-moz-linear-gradient(top,#fff 0%,#eee 100%) no-repeat 16px top, url(../images/glyphicons-halflings.png) no-repeat -48px 0, -moz-linear-gradient(top,#fff 0%,#eee 100%); /* FF hack */ /* another hacks here */ background:linear-gradient(to bottom,#fff 0%,#eee 100%) no-repeat 16px top, url(../images/glyphicons-halflings.png) no-repeat -48px 0, linear-gradient(to bottom,#fff 0%,#eee 100%); /* Standard way */ }
если несколько фонов перекрываются, в верхней части будет первый фон на
background:
нотации. Так что в верхней части фона, который отступ16px
С левой стороны (16px
ширина одиночного глиф), на нижнем уровне весьglyphicons-halflings.png
и на нижнем уровне (охватывает весь элемент) - это тот же градиент фона, что и на верхнем уровне.
-48px 0px
это вырезать для поиска значок (icon-search
), но это легко показать любой другой значок.если кому-то понадобится
:hover
эффект фон должен быть снова набран в той же форме.
Я получил эту работу, но есть несколько предостережений, которые я еще не решил.
в любом случае, вот как это делается:
возьмите среднюю кнопку ввода:
<input type="submit" class="btn btn-success" value="Save">
вырежьте значок, который вы хотите для ваших кнопок отправки из файла спрайта glyphicons, убедитесь, что это изображение 14x14 px. Да, в идеальных обстоятельствах вы можете использовать спрайт, и если кто-нибудь это выяснит, я буду рад услышать, как это делается. : -)
Как только вы это сделали, вы можете написать css для вашей кнопки ввода, как это:
input[type='submit'] { background-image: url('../images/submit-icon.png'), #62C462; /* fallback color if gradients are not supported */ background-image: url('../images/submit-icon.png'), -webkit-linear-gradient(top, #62C462, #51A351); background-image: url('../images/submit-icon.png'), -moz-linear-gradient(top, #62C462, #51A351); /* For Fx 3.6 to Fx 15 */ background-image: url('../images/submit-icon.png'), -ms-linear-gradient(top, #62C462, #51A351); /* For IE 10 Platform Previews and Consumer Preview */ background-image: url('../images/submit-icon.png'), -o-linear-gradient(top, #62C462, #51A351); /* For Opera 11.1 to 12.0 */ background-image: url('../images/submit-icon.png'), linear-gradient(top, #62C462, #51A351); /* Standard syntax; must be the last statement */ background-repeat: no-repeat; background-position: 5px 50%, 0cm 0cm; padding-left: 25px; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); } input[type='submit']:hover { background-image: url('../images/submit-icon.png'), #51A351; /* fallback color if gradients are not supported */ background-image: url('../images/submit-icon.png'), -webkit-linear-gradient(top, #51A351, #51A351); background-image: url('../images/submit-icon.png'), -moz-linear-gradient(top, #51A351, #51A351); /* For Fx 3.6 to Fx 15 */ background-image: url('../images/submit-icon.png'), -ms-linear-gradient(top, #51A351, #51A351); /* For IE 10 Platform Previews and Consumer Preview */ background-image: url('../images/submit-icon.png'), -o-linear-gradient(top, #51A351, #51A351); /* For Opera 11.1 to 12.0 */ background-image: url('../images/submit-icon.png'), linear-gradient(top, #51A351, #51A351); /* Standard syntax; must be the last statement */ background-position: 5px 50%, 0cm 0cm; padding-left: 25px; }
работает в Firefox 14, Chrome 21
не работает в IE 9
tl; dr: с небольшим количеством css вы можете автоматически помещать значки на кнопки отправки, но вам нужно поместить значок в отдельный файл, и он не будет работать в Internet Explorer.
Я думаю, что это решение для вашей проблемы
<input type="text" placeholder="search here" /> <button type="submit"><i class="glyphicon glyphicon-search"></button>
<!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <button type="button" class="btn btn-info"> <span class="glyphicon glyphicon-search"></span> Search </button> </p> <a href="#" class="btn btn-success btn-lg"> <span class="glyphicon glyphicon-print"></span> Print </a> </p> </div> </body> </html>
использовать ввода-добавить С добавить-на классы
<div class="input-append"> <input class="span2" id="appendedPrependedInput" type="text"> <span class="add-on">.00</span> </div>