Как расположить элемент HTML-диалога внизу страницы на всю ширину?

Я пытаюсь разместить элемент HTML <dialog> внизу страницы и хочу, чтобы он растягивался по всей ширине области просмотра.

Вот CSS, который я пробовал до сих пор.

#dia {
  padding: 0;
  border: 0;
  margin: auto 0 0 0;
  width: 100%;
}

В основном это работает. Он перемещает диалоговое окно в левый нижний угол страницы.

Однако диалоговое окно не достигает правой части области просмотра.

JSFiddle: https://jsfiddle.net/b078wk6m/

Есть идеи, почему он не доходит до правого края? И как мне добиться, чтобы он достиг правого края для любой ширины экрана?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
0
80
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

к диалогу применяется значение по умолчанию 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%; это должно сработать!

  1. Удалите это свойство согласно вашему коду

    заполнение: 0;

До :

#dia {
  padding: 0;
  border: 0;
  margin: auto 0 0 0;
  width: 100%;
}

После :

#dia {
  border: 0;
  margin: auto 0 0 0;
  width: 100%;
}
  1. Добавьте максимальную ширину:
 #dia {
         padding: 0;
         border: 0;
         margin: auto 0 0 0;
         width: 100%;
         max-width: 100%
       }

зачем удалять прокладку? это ничего не меняет?

henrikhannewijk 29.05.2024 11:14

Другие вопросы по теме