подгонка поля ввода внутри кросс-браузера div

0

У меня есть div, установленный на определенной высоте, и текст внутри этого div вместе с полем ввода. В сафари и хром он подходит довольно хорошо, но в firefox он переполняется из нижней части div и испортил структуру.

HTML:

<div class="formLine">
   <div style="float:left;">Input Label</div>
   <input value="" />
</div>

CSS:

 *, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

.formLine {
  border-bottom:1px solid #000;
  padding:2px;
  height:18px;
}

input {
  background-color:#E2F4FE;
  height:14px;
  outline: 0;
  border:0;
  border-radius:3px;
  line-height:14px;
  padding-left:3px;
  float:left;
}
  • 0
    Добавить переполнение: нет; в div, с которым это происходит. Это должно исправить вашу проблему.
  • 0
    Проблема заключается не только в переполнении, а в том, что он отодвигается на div дальше, чем другие браузеры, поэтому выглядит не так хорошо. Наверху огромный промежуток (отступы?).
Теги:
input
padding
cross-browser

1 ответ

0

Firefox реализует свойство box-sizing с префиксом -moz- префиксом (нажмите здесь для поддержки браузера). Измените универсальный селектор на:

*, *:before, *:after {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
  • 0
    У меня есть -moz, я просто добавил один размер коробки, чтобы показать, что он у меня есть. Хороший улов хотя
  • 0
    @bryan мое единственное другое предложение - полностью сбросить отступы вашего элемента input с помощью padding: 0 3px 0 0; вместо padding-left: 3px .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню