Вот несколько способов добиться центрального положения фиксированного элемента:
-
CSS Flexbox: используйте модель макета flexbox для центрирования фиксированного элемента по горизонтали и вертикали внутри его контейнера. Примените следующие свойства CSS к контейнеру фиксированного элемента:
по центру;
align-items: по центру; -
Сетка CSS: используйте макет сетки CSS для центрирования фиксированного элемента. Установите контейнер фиксированного элемента в качестве контейнера сетки и используйте свойство
place-items, чтобы центрировать элемент:.container { display: grid; place-items: center; } -
Абсолютное позиционирование: расположите фиксированный элемент абсолютно и используйте
сверху,слева,справаиснизу<свойства /code>в сочетании сmargin: auto;для центрирования: -
CSS-преобразование: примените
преобразование, чтобы центрировать его как по горизонтали, так и по вертикали: -
Подход JavaScript: используйте JavaScript для динамического расчета и установки положения фиксированного элемента на основе размеров области просмотра. Вот пример использования jQuery:
$(window).on('resize', function() { var element = $('.fixed-element'); var windowHeight = $(window).height(); var windowWidth = $(window).width(); element.css({ 'position': 'fixed', 'top': (windowHeight / 2) - (element.height() / 2), 'left': (windowWidth / 2) - (element.width() / 2) }); });