Присоединяйтесь к нашему каналу и погрузитесь в мир веб-разработки
Связь: @devmangx
Post #1500
582

WE @webdev_plus
Showing posts older than #1501 · Back to latest


const card = document.querySelector(".notification");
const shadow = document.querySelector(".shadow");
card.animate(
[
{ transform: "translateY(0)" },
{ transform: "translateY(-160px)" },
],
{
duration: 900,
easing: "cubic-bezier(.64,0,.78,0)"
}
);
shadow.animate(
[
{ opacity: 0.5, transform: "scaleX(1)" },
{ opacity: 0, transform: "scaleX(.35)" },
],
{
duration: 700,
easing: "ease-out"
}
);
.mcp.json:{
"mcpServers": {
"angular-cli": {
"command": "npx",
"args": [
"-y",
"@angular/cli",
"mcp",
"--experimental-tool",
"devserver"
]
}
}
}внести изменения
собрать проект
обнаружить ошибки
исправить ошибки
повторить цикл
bodyoverflow: hidden → центр страницы сместилсяscrollbar-gutter: stablepadding-inline-end, равный ширине скроллбараposition: absolute;
left: 100%;
transform: translateY(-50%);
измерить свободное место во viewport
выбрать placement
задать top/left
переместить стрелку
запустить анимацию из правильной точки origin

Bus::bulk(), который позволяет отправлять множество jobs одним вызовом.foreach и вызывали dispatch() для каждой задачи отдельно. Проблема в том, что каждый такой вызов создавал отдельную запись в базе данных или Redis.Bus::bulk() работает иначе. Вместо поштучной отправки Laravel сохраняет задачи пакетами, что заметно снижает количество операций записи и уменьшает нагрузку на очередь..item {
animation-name: cart-x, cart-y;
animation-timing-function:
var(--x-ease), var(--y-ease);
animation-composition: accumulate; /* 👈 */
}
@keyframes cart-x {
to {
translate: var(--x) 0;
}
}animation-composition: accumulate позволяет нескольким анимациям накапливать свои трансформации вместо того, чтобы перезаписывать друг друга.offset-path.
.localhost URL.
textarea, которая растёт вместе с контентом, вместо вложенного скролла внутри поля.textarea {
field-sizing: content;
}
