דילוג לתוכן
uiify

Aspect Ratio

מסגרת למדיה ששומרת על היחס בין הרוחב לגובה.

דפדפנים
Chrome 123+Firefox 121+Safari 17.5+
שכבה
0
גודל חבילה דחוסה
280 B
מגבלת פריסה כפויה
0 ms
מגבלת Axe
0
תואם SSR
כן
חוזה מפורסם
סביבת בדיקות

מגרש ניסויים

שמש ענברית מעל רכסי הרים כחולים החופפים זה לזה
שמש ענברית מעל רכסי הרים כחולים החופפים זה לזה
שמש ענברית מעל רכסי הרים כחולים החופפים זה לזה
An amber sun above overlapping blue mountain ridges
import { AspectRatio } from "@gunkin/uiify";

export default function Example() {
  return (
    <AspectRatio ratio={16 / 9} className="" slotProps={{ content: { className: "" } }}>
      <img className="" src="/mountains.svg" width="640" height="400" alt="An amber sun above blue mountain ridges" />
    </AspectRatio>
  );
}
@layer components {
  [data-uiify-aspect-ratio] {
    border-radius: var(--radius-md);
    background: var(--muted);
  }

  [data-uiify-aspect-ratio] > [data-part="content"] {
    border-radius: inherit;
  }

  [data-uiify-aspect-ratio] > [data-part="content"] > img {
    display: block;
    inline-size: 100%;
    block-size: 100%;
    border-radius: inherit;
    object-fit: cover;
  }
}
import { AspectRatio } from "@gunkin/uiify";

export default function Example() {
  return (
    <AspectRatio
      ratio={16 / 9}
      className="rounded-md bg-muted"
      slotProps={{ content: { className: "[border-radius:inherit]" } }}
    >
      <img
        className="
          block [inline-size:100%] [block-size:100%] [border-radius:inherit] object-cover
          data-[fit=contain]:object-contain
        "
        src="/mountains.svg"
        width="640"
        height="400"
        alt="An amber sun above blue mountain ridges"
      />
    </AspectRatio>
  );
}

API

AspectRatio

מאפייןטיפוסברירת מחדלתיאור
rationumber1רוחב חלקי גובה, כמספר חיובי וסופי. מספרים לא תקינים מוחלפים ב-1. כשהערך מושמט, ניתן לקבוע את היחס באמצעות המאפיין המותאם של CSS.
childrenReactNode—התוכן המוצב בתוך המסגרת. הממדים הטבעיים של התוכן אינם יכולים להגדיל את המסגרת.
slotPropsAspectRatioSlotProps—מאפיינים מובנים למעטפת התוכן שנוצרת.
classNamestring—המחלקה המוחלת על שורש המסגרת.
styleCSSProperties—סגנונות אלמנט השורש המובנה, לרבות --uiify-aspect-ratio כאשר ratio מושמט.
refRef<HTMLElement>—ה-ref המועבר לאלמנט השורש המוצג.
asElementType"div"האלמנט המובנה או הרכיב המשמש כשורש.
renderReactElement | ((props, state) => ReactElement)—החלפת השורש המוצג תוך שימור המאפיינים, ה-ref וסמן הזהות שלו.

מקלדת

מקשפעולה

נגישות

פריסה סטטית שאינה מוסיפה תפקיד, יעד מיקוד או התנהגות מקלדת. תנו לתמונות משמעותיות טקסט alt; השאירו כיתובים מחוץ למסגרת. ה-CSS ההתנהגותי הנדרש שומר על היחס גם כשהילדים בעלי ממדים פנימיים. העיצוב האופציונלי ממלא תמונות באמצעות object-fit: cover; השתמשו ב-contain להצגת התמונה בשלמותה.

נקודות חיבור לעיצוב

data-uiify-aspect-ratiodata-part="content"--uiify-aspect-ratio
דף זה תורגם אוטומטית וטרם נבדק.