כפתור שקופץ למצב ה-hover שלו בלי מעבר. נסו: העבירו עכבר על שני הכפתורים.
מתי משתמשים: כל property שמשתנה ב-hover.
שני חלונות, אותו בלוק בדיוק: מימין הטעות, משמאל התיקון. התוכן ניטרלי בכוונה. הכלל שנשבר, הסיבה, התיקון ואיך מזהים אותו בעין נמצאים בכפתור ההעתקה למטה, והם מה שנכנס לצ'קליסט לפני מסירה.
העבירו עכבר
כפתור שקופץאין transition. הכפתור מופיע במצב החדש בלי לעבור אליו, ובעזיבה חוזר בקפיצה.
העבירו עכבר
כפתור שעוברtransition .2s על הבסיס, לא על :hover. גם הכניסה וגם היציאה חלקות.
הקוד כאן עומד בפני עצמו. כל טוקן עיצוב נושא ברירת מחדל, מחלקות העזר של המאגר מוטמעות בו, ותגי הסקריפט מסודרים לפי הסדר הנכון. פרויקט שמגדיר --accent או --line משלו יורש אותם אוטומטית. הרכיב הזה מסתמך על dir="rtl".
/* A11 · hover בלי transition */
.cwrap{container-type:inline-size}
.ap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.5cqi,28px);padding:clamp(24px,4cqi,56px) clamp(20px,4cqi,64px)}
.pane{position:relative;border-radius:16px;border:1px solid var(--line,#e4e4ee);background:#fff;padding:56px clamp(18px,3cqi,36px) clamp(18px,3cqi,32px);overflow:hidden;display:flex;flex-direction:column;gap:14px}
.pane .lbl{position:absolute;top:14px;inset-inline-start:14px;font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;z-index:5;line-height:1.3}
.bad .lbl{background:#ffe3e3;color:#a11414}
.good .lbl{background:#e3f7e8;color:#176b2c}
.pane .cap{margin:auto 0 0;padding-top:12px;border-top:1px dashed var(--line,#e4e4ee);font-size:13px;color:var(--muted,#6a6d85);line-height:1.45}
.demo{flex:1;display:flex;flex-direction:column;gap:10px;position:relative}
.tx{height:10px;border-radius:6px;background:#dfe0ea;margin:0}
.tx.s{width:38%}.tx.m{width:62%}.tx.l{width:86%}
.ttl{font-weight:700;font-size:clamp(18px,2cqi,24px);line-height:1.15;margin:0}
.ph{background:#dfe0ea;border-radius:10px;display:grid;place-items:center;color:#6a6d85;font-size:13px;font-weight:600;min-height:90px}
.btn{display:inline-block;padding:10px 18px;border-radius:10px;background:var(--ink,#16182b);color:#fff;font-weight:600;font-size:14px;line-height:1.2;width:max-content}
@container (max-width:767px){.ap{grid-template-columns:1fr}}
.a11 .demo{align-items:flex-start;justify-content:center}
.a11 .btn{cursor:pointer;box-shadow:0 0 0 rgba(74,58,255,0)}
.a11 .btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(74,58,255,.35);background:#4a3aff}
.a11 .good .btn{transition:transform .2s cubic-bezier(.2,.6,.2,1),box-shadow .2s,background .2s}
<div class="cwrap a11"><div class="ap"><div class="pane bad"><span class="lbl">ככה לא</span><div class="demo"><p class="ttl">העבירו עכבר</p><span class="btn">כפתור שקופץ</span></div><p class="cap">אין transition. הכפתור מופיע במצב החדש בלי לעבור אליו, ובעזיבה חוזר בקפיצה.</p></div><div class="pane good"><span class="lbl">ככה כן</span><div class="demo"><p class="ttl">העבירו עכבר</p><span class="btn">כפתור שעובר</span></div><p class="cap">transition .2s על הבסיס, לא על :hover. גם הכניסה וגם היציאה חלקות.</p></div></div></div>