→ לכל המאגר

A08 · דקורציה מעל התוכן

אנטי-פטרנים אנטי-פטרן · ככה לא / ככה כן ניווט ומבנהכרטיסיםטקסט וכותרות ממתין

כתם רקע אבסולוטי שנוסף אחרי התוכן ב-DOM, בלי z-index מפורש, ומכסה את הטקסט.

מתי משתמשים: כל תכשיט מוזרק: בלובים, קווים, צורות, אורורה.

שני חלונות, אותו בלוק בדיוק: מימין הטעות, משמאל התיקון. התוכן ניטרלי בכוונה. הכלל שנשבר, הסיבה, התיקון ואיך מזהים אותו בעין נמצאים בכפתור ההעתקה למטה, והם מה שנכנס לצ'קליסט לפני מסירה.

הדמו

רוחב תצוגה:
ככה לא

כותרת של כרטיס

פסקה של שתי שורות שמסבירה משהו על השירות, ואז השורה האחרונה שלה נשארת קצרה.

העיגול נוסף אחרון ב-DOM ואין לו z-index. הוא יושב על הכותרת.

ככה כן

כותרת של כרטיס

פסקה של שתי שורות שמסבירה משהו על השירות, ואז השורה האחרונה שלה נשארת קצרה.

z-index:0 לדקורציה, position:relative + z-index:1 לתוכן, isolation על הקופסה.

קוד להדבקה

הקוד כאן עומד בפני עצמו. כל טוקן עיצוב נושא ברירת מחדל, מחלקות העזר של המאגר מוטמעות בו, ותגי הסקריפט מסודרים לפי הסדר הנכון. פרויקט שמגדיר --accent או --line משלו יורש אותם אוטומטית. הרכיב הזה מסתמך על dir="rtl".

פתח קובץ עצמאי ↗
הצג את הקוד כאן

CSS

/* A08 · דקורציה מעל התוכן */
.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}}
.a08 .box{position:relative;isolation:isolate;padding:22px;border-radius:12px;border:1px solid var(--line,#e4e4ee);min-height:170px;display:flex;flex-direction:column;gap:8px}
.a08 .box p{margin:0;font-size:14px;line-height:1.5;color:#3c3f57;max-width:34ch}
.a08 .deco{position:absolute;width:150px;height:150px;border-radius:50%;background:#ffb4a0;inset-inline-end:-20px;top:-20px}
.a08 .good .deco{z-index:0;opacity:.7}
.a08 .good .box .ttl,.a08 .good .box p{position:relative;z-index:1}

HTML

<div class="cwrap a08"><div class="ap"><div class="pane bad"><span class="lbl">ככה לא</span><div class="demo"><div class="box"><p class="ttl">כותרת של כרטיס</p><p>פסקה של שתי שורות שמסבירה משהו על השירות, ואז השורה האחרונה שלה נשארת קצרה.</p><span class="deco"></span></div></div><p class="cap">העיגול נוסף אחרון ב-DOM ואין לו z-index. הוא יושב על הכותרת.</p></div><div class="pane good"><span class="lbl">ככה כן</span><div class="demo"><div class="box"><p class="ttl">כותרת של כרטיס</p><p>פסקה של שתי שורות שמסבירה משהו על השירות, ואז השורה האחרונה שלה נשארת קצרה.</p><span class="deco"></span></div></div><p class="cap">z-index:0 לדקורציה, position:relative + z-index:1 לתוכן, isolation על הקופסה.</p></div></div></div>