Как сделать box-shadow и анимацию под родительский блок?

Рейтинг: 0Ответов: 1Опубликовано: 12.04.2023

Использовать z-index не помогает, пробовал разными способами, на это свойство реакции совсем нет

.header {
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: #fff;
    min-height: 40px;
    border-bottom: 1px solid #dcdcdc;
}
.header-logotype {
    display: flex;
    color: #000;
}
.header-menu {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 0 40px;
}
.header-menu ul {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity .15s, visibility .2s, transform .1s;
    position: absolute;
    z-index: 10;
}
.header-menu li {
    position: relative;
}
.header-menu li > a,
.header-menu li > span {
    color: #000;
    cursor: pointer;
    display: block;
    white-space: nowrap;
    padding: 10px 10px 12px;
    transition: color .15s;
}
.header-menu ul a,
.header-menu ul span {
    padding: 3px 12px;
}
.header-menu a:hover,
.header-menu span:hover {
    color: #3ca4e2;
}
.header-menu li:hover > ul {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    top: 100%;
    left: -2px;
    background: #fff;
    min-width: 100px;
    border: 1px solid #dcdcdc;
    border-top: 0;
    padding-bottom: 6px;
    border-radius: 0 0 3px 3px;
    box-shadow: 0px 1px 100px #afafaf;
}
<header class="header">
    <a href="/" class="header-logotype">LOGO</a>
    <ul class="header-menu">
        <li>
            <a href="/catalog">Catalog</a>
            <ul>
                <li><a href="/catalog/category">Category</a></li>
                <li><a href="/catalog/category">Category</a></li>
            </ul>
        </li>
    </ul>
</header>

введите сюда описание изображения

Ответы

▲ 0Принят

Если заменить на z-index: -1, то все сработает. Но не думаю, что это хорошее решение.

.header {
    display: flex;
    align-items: center;
    padding: 0 12px;
    background: #fff;
    min-height: 40px;
    border-bottom: 1px solid #dcdcdc;
}
.header-logotype {
    display: flex;
    color: #000;
}
.header-menu {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 0 40px;
}
.header-menu ul {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity .15s, visibility .2s, transform .1s;
    position: absolute;
    z-index: -1; /* changed */
}
.header-menu li {
    position: relative;
}
.header-menu li > a,
.header-menu li > span {
    color: #000;
    cursor: pointer;
    display: block;
    white-space: nowrap;
    padding: 10px 10px 12px;
    transition: color .15s;
}
.header-menu ul a,
.header-menu ul span {
    padding: 3px 12px;
}
.header-menu a:hover,
.header-menu span:hover {
    color: #3ca4e2;
}
.header-menu li:hover > ul {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    top: 100%;
    left: -2px;
    background: #fff;
    min-width: 100px;
    border: 1px solid #dcdcdc;
    border-top: 0;
    padding-bottom: 6px;
    border-radius: 0 0 3px 3px;
    /* box-shadow: 0px 1px 100px #afafaf; */
    box-shadow: 0px 1px 5px 10px #afafaf;
}
<header class="header">
    <a href="/" class="header-logotype">LOGO</a>
    <ul class="header-menu">
        <li>
            <a href="/catalog">Catalog</a>
            <ul>
                <li><a href="/catalog/category">Category</a></li>
                <li><a href="/catalog/category">Category</a></li>
            </ul>
        </li>
    </ul>
</header>