1

Итак, у меня есть страница начальной загрузки, и я только заметил, что при изменении размера вход не будет масштабироваться как все остальное на странице, когда у меня есть окно в полуширине, это выглядит так: sign in form half widthКак сделать ответ на загрузочный ввод twitter

Тогда при изменении размера на полный экран, я получаю это: sign in form full width и это пока я не обновить браузер, который я получаю желаемый ответ, который это: sign in full width after refresh

Рельсы Код:

<h1>Sign in</h1> 
<div class="container-fluid"> 
    <div class="row-fluid"> 
    <div class="span6 offset3"> 
     <%= form_for(:session, url: sessions_path) do |f| %> 

     <%= f.label :email %> 
     <%= f.email_field :email%> 

     <%= f.label :password %> 
     <%= f.password_field :password %> 
     <% end %> 
    </div> 
    </div> 
</div> 

HTML код: (ненужные вещи удалены)

<h1>Sign in</h1> 
<div class="container-fluid"> 
    <div class="row-fluid"> 
    <div class="span6 offset3"> 
     <form> 

     <label for="session_email">Email</label> 
     <input id="session_email" name="session[email]" type="email" /> 

     <label for="session_password">Password</label> 
     <input id="session_password" name="session[password]" type="password" /> 
     </form> 
    </div> 
    </div> 
</div> 

Я использую Twitter Bootstrap 2.3.2 (наследие Я знаю, но мне нужно взаимодействовать с остальной частью сайта) и испытания на хром и firefox на арке.

CSS:

.input { 
    display: block; 
    width: 100%; 
    min-height: 30px; 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
} 

Похоже, что это должно быть довольно просто исправить, но, глядя вокруг, я не могу найти то, что нужно сделать, чтобы это исправить. выглядящий here, это определенно кажется возможным (входы с тегами span, похоже, изменяются при изменении размера). Заранее спасибо.

EDIT: Я пытался сделать jsfiddle, чтобы проиллюстрировать эту проблему и дать людям возможности повозиться, но это страдает от другой проблемы отзывчивой, бонусные баллы будут приходить для показа, как исправить это тоже :)

EDIT # 2 : Ok, так что это странно, я вырыл еще больше, ширина элемента устанавливается в element.style, но мне трудно понять, где это установлено (iirc element.style установлен в javascript, это делает не происходит в jsfiddle и является причиной моей проблемы, я не могу понять, почему это происходит, поскольку у меня нет никакого пользовательского javascript для этого, и я использую ту же самую версию bootstrap для обоих (хотя в моем фактическом проект продается из самоцвета самоцветов)

EDIT # 3 добавлен css

+0

@pathros отредактированного и фиксированный. –

ответ

1

Хорошо, я выяснил, в чем проблема. Обнаружив, что ширина была задана с помощью element.style, я установил точку останова, чтобы узнать, что устанавливало это свойство (как это не происходит в jsfiddle). после немного копания javascript я узнал, что это было установлено дополнением LastPass.

Отключение надстройки устраняет проблему.

EDIT: Это происходит, только если lastpass заполняет имя пользователя и пароль.

EDIT # 2: после открытия билета с пропуском эта проблема может быть решена на основе браузера, сняв флажок «Выделить поля ввода» в общих предпочтениях. Ожидание услышать, могут ли они предложить глобальное решение.

+1

uhm это входы, а не текстовые области ... – mobetta

1

Вы можете поместить классы классов на входные элементы. В этом случае span12, так как они вложены в div .span6.offset3.

+0

Нет, я уже пробовал это, и он не работает, я должен был, наверное, упомянуть об этом, извините. –

1

Попробуйте использовать класс = "вход-уровень блока"

Проверить это fiddle

<h1>Sign in</h1> 

<div class="container-fluid"> 
    <div class="row-fluid"> 
     <div class="span6 offset3"> 
      <form> 
       <label for="session_email">Email</label> 
       <input class="input-block-level" id="session_email" name="session[email]" type="email" /> 
       <label for="session_password">Password</label> 
       <input class="input-block-level" id="session_password" name="session[password]" type="password" /> 
      </form> 
     </div> 
    </div> 
</div> 
+0

Вы определенно получаете +1 для приятного ответа, потому что это отлично работает в js скрипке (что приятно), но, похоже, это не работает в моем приложении, аве вырыли немного и не могли понять, почему? как остановить блокировку уровня ввода-блока от изменения ширины тега? есть ли что-то еще, что я использую, что может помешать последнему проходу? –

+0

А, у меня это, ваше решение не будет работать, если вы позволите lastpass заполнить имя пользователя и пароль, тогда элемент не будет изменен. В любом случае спасибо. –

+0

Кроме того, насколько я могу сказать, уровень входного блока только что применяет '.input-block-level { display: block; ширина: 100%; min-height: 30px; -webkit-box-size: border-box; -moz-box-size: border-box; размер коробки: рамка; } ', который по-прежнему будет переопределен настройкой javascript ширины –

Смежные вопросы