Я пытаюсь разместить элемент HTML <dialog> внизу страницы и хочу, чтобы он растягивался по всей ширине области просмотра.
Вот CSS, который я пробовал до сих пор.
#dia {
padding: 0;
border: 0;
margin: auto 0 0 0;
width: 100%;
}
В основном это работает. Он перемещает диалоговое окно в левый нижний угол страницы.
Однако диалоговое окно не достигает правой части области просмотра.
JSFiddle: https://jsfiddle.net/b078wk6m/
Есть идеи, почему он не доходит до правого края? И как мне добиться, чтобы он достиг правого края для любой ширины экрана?






к диалогу применяется значение по умолчанию max-width.
document.addEventListener("DOMContentLoaded", function () {
const btn = document.querySelector("#btn");
const dia = document.querySelector("#dia");
btn.addEventListener("click", function() {
dia.showModal();
});
dia.addEventListener("click", function (e) {
if (e.target === dia) {
dia.close();
}
});
});#dia {
padding: 0;
border: 0;
margin: auto 0 0 0;
width: 100%;
max-width: 100%; /* add this */
}<dialog id = "dia">
<p>hello world!</p>
</dialog>
<button id = "btn">
toggle
</button>Некоторые браузеры автоматически добавляют стили к диалогам, как вы можете видеть на скриншоте,
Вам следует перезаписать максимальную ширину и сделать ее максимальной шириной: 100%; это должно сработать!
Удалите это свойство согласно вашему коду
заполнение: 0;
До :
#dia {
padding: 0;
border: 0;
margin: auto 0 0 0;
width: 100%;
}
После :
#dia {
border: 0;
margin: auto 0 0 0;
width: 100%;
}
#dia {
padding: 0;
border: 0;
margin: auto 0 0 0;
width: 100%;
max-width: 100%
}
зачем удалять прокладку? это ничего не меняет?