#css #google-chrome #firefox #absolute
#css #google-chrome #firefox #абсолютный
Вопрос:
скрипка: https://jsfiddle.net/yqL9uo63/1 /
Исходный код действительно прост. Если вы откроете вышеупомянутую скрипку в Chrome, она выглядит нормально. Высота div с абсолютным расположением по центру достаточно высока, чтобы вместить текст. Однако в firefox div простирается до самого низа контейнера. Кто-нибудь знает, что вызывает такое поведение в firefox, и что я могу сделать для обеспечения согласованности? Отображение должно быть гибким.
В Chrome все выглядит великолепно, но firefox поражает мой разум, и я не смог найти ничего в Интернете, что, казалось, имело бы ту же проблему.
Исходный код HTML:
<div class="zero">
<div class="one">Test</div>
</div>
CSS:
.one {
position: absolute;
right: 0;
top: 0;
bottom: 0;
background-color: blue;
height: -moz-fit-content;
height: fit-content;
display: flex;
margin: auto
}
.zero {
height: 100vh;
width: 100%;
position: relative;
}
Ответ №1:
Что я замечаю
diplay: felx;
здесь опечатка. Это должно бытьflex
height: fitcontent
не будет работать из-за этогоtop: 0; bottom: 0;
.one
чтобы бытьabsolute
в.zero
,.zero
необходимо иметьposition: relative;
Комментарии:
1. Спасибо за уловы на опечатку. Я обновил скрипку, и проблема, которую я описал, все еще стоит. Не могли бы вы расширить вторую пулю, которую вы сделали? Почему это не работает в firefox? Это работает в Chrome.
2. Parent .zero уже заполняет всю страницу шириной: 100%; и высотой: 100%;. Таким образом, дочерний элемент .one является абсолютным, когда он должен начинаться сверху: 0; заканчиваться снизу: 0; это означает, что .one займет всю высоту своего родительского элемента, который уже занял 100% страницы. Таким образом, height: fitcontent; не будет работать
3. Спасибо за ваше объяснение, но это все еще не дает ответа, почему это работает в Chrome, но не в safari (в Chrome высота равна только той высоте, которая необходима для размещения содержимого, в то время как в Firefox она растягивается).
4. Либо ваш браузер Chrome, либо Firefox кэшировал предыдущую версию вашего css-файла и больше не перезагружает обновления. Попробуйте очистить их последние кэши, и вы увидите, что результат будет одинаковым в обоих браузерах
5. Значит, скрипка работает у вас в firefox с моими изменениями кода? Div не растягивается до верха и низа?