Набор полей рядом с плавающим div переполняется вправо в chrome / IE, переходит к следующей строке в FF

#twitter-bootstrap #css #firefox #twitter-bootstrap-3

#twitter-bootstrap #css #firefox #twitter-bootstrap-3

Вопрос:

Я использую Bootstrap 3. У меня есть содержащий элемент, содержащий плавающий div и набор полей. Плавающий div имеет ширину 100%, поэтому набор полей должен располагаться под ним. Это работает в FF (который я использовал для разработки), но в chrome / IE набор полей переполняется из контейнера и располагается справа от float .

введите описание изображения здесь

 .container{
    width:300px;
    position:relative;
    border:1px solid red;
}
.float{
    float:left;
    width:100%;
}  
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
    <div style="float:left;width:100%;">
        <a >Select All</a> / <a >Select None</a>
    </div>
    <fieldset>fieldset</fieldset>
</div>  

Я могу исправить это, добавив clear:left; в набор полей.

Какой браузер правильный? Похоже, что FF ошибочен. Какое правило FF нарушает или исключает, чтобы заставить это отображаться по-другому? Это ошибка?

Обратите внимание, что когда не используется bootstrap, он отображается как ожидалось во всех браузерах, которые я тестировал. В bootstrap, если я использую div вместо набора полей, он также отображает то же самое в браузерах.

Комментарии:

1. Просто используйте «pull-left» также в наборе полей. это будет работать во всех браузерах. Тогда вам также не нужно добавлять класс «очистить»

Ответ №1:

Похоже, что это fieldset стиль по умолчанию, переопределенный Bootstrap CSS. Применяется min-width: 0 к fieldset , из-за чего элемент не имеет ширины. Не уверен, почему это было добавлено в Bootstrap, но, вероятно, это как-то связано с тем, что ожидаемый контент является фактическими полями формы, а не просто текстом, как в вашем примере. Попробуйте добавить некоторую допустимую форму HTML согласно ссылке MDN, чтобы посмотреть, улучшит ли это вашу ситуацию.

Комментарии:

1. то, что я опубликовал, является минимальным примером, в моем наборе полей есть элементы формы, это куча флажков

2. Посмотрите в документации по начальной загрузке, как использовать набор полей в элементах формы. Возможно, вам не хватает одного или двух классов. Ценю, что вы хотите быть кратким здесь, но лучше вставить весь ваш код, чтобы мы получили полную картину 🙂

3. Я думаю, я должен просто использовать div здесь