Я делал страницу для Google Chrome и использовал width: -webkit-fill-available
, но когда я проверял на Microsoft Edge, я заметил, что ширина была другой.
Поэтому я искал и нашел этот ответ для поддержки большинства браузеров. Microsoft Edge игнорирует каждую ширину, кроме 100%
.
. После тестирования я заметил, что при удалении doctype (<!DOCTYPE html>
) он выглядит нормально, но, если я его имею, рекомендуется, это не выглядит так, как нужно.
Вот несколько упрощенных кодов:
<!DOCTYPE html>
<html>
<head>
<style>
div {
background-color: rgb(196, 196, 196);
width: 50%;
}
input,
select {
background: none;
border: 1px solid rgb(0, 0, 0);
padding: 2%;
width: 100%;
/* Microsoft Edge */
width: -moz-available;
width: -webkit-fill-available;
/* Google Chrome */
width: fill-available;
}
</style>
</head>
<body>
<div>
<select></select><input>
</div>
</body>
</html>
Google Chrome:
Microsoft Edge с типом документа:
Microsoft Edge без типа документа:
Как настроить ширину на заполнить доступное пространство для обоих браузеров и все еще поддерживать объявление doctype? Я хочу универсальное c решение, которое работает так же, как -webkit-fill-available
, а не конкретное c, такое как calc(100% - 4% - 2px)
.