вписать изображения большего размера, что бы разметка не ломалась
.inv-cell {
position: relative;
}
img {
position: absolute;
width: 100%;
height: 100%;
object-fit: cover;
}
svg
на css такое сделать
Если хранить все в одном css/js то пока js загрузиться будет мелькать html сайта а после уже загрузочный экран будет
красивый загрузочный экран, стоит задача создать такой-же... стили и скрипты...
А нельзя ли как-то упростить?
<svg width="200" height="300">
<mask id="my-mask">
<g stroke="gray" stroke-width="12" fill="white">
<circle cx="33%" cy="30%" r="20%" />
<circle cx="52%" cy="62%" r="32%" />
</g>
</mask>
</svg>
<!-- 1 -->
<svg width="200" height="300">
<image href="https://picsum.photos/id/1/200/300" width="200" height="300" mask="url(#my-mask)"/>
</svg>
<!-- 2 -->
<svg width="200" height="300">
<image href="https://picsum.photos/id/2/200/300" width="200" height="300" mask="url(#my-mask)"/>
</svg>
<!-- ...100500 -->
<svg width="200" height="300">
<image href="https://picsum.photos/id/3/200/300" width="200" height="300" mask="url(#my-mask)"/>
</svg>
display
- не анимируемое. С ним ничего не сделать. Можно плавно менять opacity
от 1 до 0 и добавлять pointer-events: none
, чтобы элементы уходили из под мыши и с ними нельзя было взаимодействовать. Ну и, раз у вас скрипты используются для этого - в конце анимации, когда уже элементы не видны, можно добавить display: none
, если на это свойство что-то еще завязано. При появлении - все в обратную сторону - pointer-events: auto
и возвращаем opacity
.Но я как-то уже делал такое не прибегая к псевдо. Забыл(((
.menu-item {
border-image: linear-gradient(to bottom, transparent 0%, #fff 50%, transparent 100%) 1;
border-width: 0 0 0 1px;
border-style: solid;
}
.menu-item:last-child {
border-width: 0 1px 0 1px;
}
@keyframes custom-fade-in {
0% {
stroke-dasharray: 0 300;
fill: transparent;
animation-timing-function: ease-in;
}
50% {
stroke-dasharray: 150 150;
fill: transparent;
animation-timing-function: ease-out;
}
100% {
stroke-dasharray: 300 0;
fill: #000;
}
}
path {
stroke: #000;
fill: none;
stroke-dasharray: 0 300;
animation: custom-fade-in 2s ease-in-out infinite;
animation-fill-mode: forwards;
}