Это маленький, но хороший.
Я хотел показать небольшое сообщение в своем веб-приложении, точно по центру, с динамическим содержанием. Мне потребовалось некоторое время, чтобы понять это, прочитав множество правил CSS, но решение, в конце концов, довольно простое.
Подвох в том, что он находится поверх всего остального, и казалось, что фиксированное положение для этого хорошо, поэтому обычные display: flex
трюки у меня не сработали. Хуже того, каждый раз, когда я меняла содержимое, чтобы показать новое сообщение, правая сторона прыгала и исчезала.
Я нашел различные предложения в Интернете, но все они основывались на фиксированной ширине, которую я не хотел, потому что мои сообщения довольно сильно различаются по длине.
CSS:
.message { text-align: center; position: fixed; z-index: 1; }
JavaScript:
function showMessage(text) { document.getElementById("id-of-your-p-element").innerText = text; const messageContainer = document.getElementById("id-of-your-outer-div"); messageContainer.style.left = `${(window.screen.width - messageContainer.offsetWidth) / 2}px`; }
Очень маленький, в конце концов.