Проблема HTML: форма, вызывающая разрыв строки раньше (Rails button_to) - PullRequest
1 голос
/ 11 февраля 2009

button_to вызывает разрыв строки перед ним в HTML. Я нашел обходной путь, который будет работать , но вряд ли он идеален, потому что тогда кнопки НЕ являются реальными кнопками. Есть ли другой способ избежать разрыва строки перед формой?

Вот итоговый HTML

<a href="/last_page">Back</a> | 
<form method="post" action="/next_page" class="button-to">
<div><input type="submit" value="Continue" /></div>
</form>

любая помощь со стороны CSS или Rails действительно помогла бы!

Ответы [ 7 ]

14 голосов
/ 10 марта 2010

Влияет только на класс button_to и его внутренний div:

.button_to {
  display: inline;
}

.button_to div {
  display: inline;
}
6 голосов
/ 11 февраля 2009

button_to создает элемент HTML , который является блочным элементом в HTML. Если вы даете форме класс или идентификатор, вы создаете селектор CSS, чтобы получить форму, и используете:

form {
display: inline
}
3 голосов
/ 12 февраля 2009

Убедитесь, что CSS для этого div установлен на

display: inline;
3 голосов
/ 11 февраля 2009

Получил это откуда-то там. К счастью:

.button-to { display:inline-block;}
2 голосов
/ 05 июня 2012

Ни одна из этих опций не работала у меня на Rails 3.2.3! Я нашел рабочее решение на http://www.deploymentzone.com/2011/12/07/button_to-urlhelpers-all-in-a-row/

Вот оно:

/* ./app/assets/stylesheets/button_to.css.scss */

form.button_to {
    margin:0;
    padding:0;
    display:inline;
}

form.button_to div, form.button_to div input {
    display:inline;
}
0 голосов
/ 05 сентября 2012

Button_to генерирует форму и элемент div вокруг кнопки. Таким образом, если вы не ограничите ширину контейнера, расположенного перед кнопкой, то нажатие кнопки будет занимать 100% ширины.

<% @post.bids.each do |bid| %>
  <p>
    <div style="float: left; width: auto;"><%= bid.user.email %></div>   
    <%= button_to "Offer Bid", offer_bid_post_bid_path(@post, bid), :action => "offer_bid" %>
  </p>
<% end %>
0 голосов
/ 23 июля 2009

Вы все еще должны указать inline для div и формы.

div {
  display: inline;
}

.button-to {
  display: inline;
}

Разве не было бы лучше, если бы в классе было также указано class = "button-to"? или я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...