position: absolute
), скрываете (opacity: 0; visibility: hidden;
). При (:focus
, :focus-within
и :hover
) показываете (opacity: 1; visibility: visible;
). .blur
, если пользователь сфокусирован). let headerMain = document.getElementById('header__main');
let headerLogo = document.getElementById('header__logo-img');
let headerMenu = document.getElementById('header__menu');
function applySmallHeader() {
headerMain.style.height = '80px';
headerLogo.style.height = '140px';
headerMenu.style.paddingTop = '0px';
}
function applyNormalHeader() {
headerMain.style.height = '136px';
headerLogo.style.height = '170px';
headerMenu.style.paddingTop = '7px';
}
function onPageScroll() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
applySmallHeader();
} else {
applyNormalHeader();
}
}
window.addEventListener('scroll', function () {
if (window.innerWidth > 992) {
onPageScroll();
}
});
window.addEventListener('resize', function () {
if (window.innerWidth <= 992) {
applyNormalHeader();
} else {
onPageScroll();
}
});
mix-blend-mode: overlay
. Возможно существует более простое/красивое/элегантное решение, но я сейчас не придумаю такое. Можно сделать намного проще, если не будет следующего условия:чтобы линии начинались с конца второй строки и примыкали ко второй строке