users
roles
permissions
role_user
permission_role
<div class="portfolio"><button class="btn-more">подробнее</button>...</div>
<div class="portfolio"><button class="btn-more">подробнее</button>...</div>
<div class="portfolio"><button class="btn-more">подробнее</button>...</div>
// Это не нужно. К body можно обратиться напрямую document.body
//const bodyPortfolio = document.querySelector('body');
[...document.querySelectorAll('.portfolio')].forEach(function(item){
const caseBtn = item.querySelector('.btn-more');
const caseCloseBtn = item.querySelector('.close__content');
const caseContent = item.querySelector('.portfolio__content');
caseBtn.addEventListener('click', (event) => {
event.stopPropagation();
caseContent.classList.add('case__active');
document.body.classList.add('overflowhidden');
});
caseCloseBtn.addEventListener('click', (event) => {
event.stopPropagation();
caseContent.classList.remove('case__active');
document.body.classList.remove('overflowhidden');
});
});
:first-child
почему не подходит?.my-button {
--bs-btn-color: ...;
--bs-btn-bg: ...;
--bs-btn-border-color: ...;
--bs-btn-hover-color: ...;
--bs-btn-hover-bg: ...;
--bs-btn-hover-border-color: ...;
--bs-btn-focus-shadow-rgb: ...;
--bs-btn-active-color: ...;
--bs-btn-active-bg: ...;
--bs-btn-active-border-color: ...;
--bs-btn-active-shadow: ...;
--bs-btn-disabled-color: ...;
--bs-btn-disabled-bg: ...;
--bs-btn-disabled-border-color: ...;
}
<button class="btn my-button">
</button>
div {
display: flex;
align-items: center;
}
Cannot read properties of null (reading 'addEventListener')
=>
Невозможно обратиться к свойству у null (обращение к 'addEventListener')
burger.addEventListener
null
const burger = document.querySelector('.burger');
querySelector
null
?Возникает, однако, и проблема: поскольку наше приложение — одностраничное, не сконфигурировав соответствующим образом сервер мы заставим пользователей получать ошибку 404, если они перейдут поhttp://oursite.com/user/id
напрямую. Вот это уже прекрасным не назвать.
Не спешите расстраиваться: всё, что нужно — единственная "резервная" запись в конфигурации сервера. Если URL не совпадает ни с одним статическим файлом, сервер должен просто отдать index.html, в котором и живёт наше приложение. И снова, прекрасно!