FA-TOOLS — Header Component

حل مشکل پرش صفحه هنگام لود تصاویر با Aspect-ratio در CSS (مشخصه aspect-ratio در CSS)

رفیق برنامه‌نویس، اگه تا حالا با اون صحنه کلافه‌کننده مواجه شدی که یه صفحه وب رو باز می‌کنی و محتواش به خاطر لود شدن تصاویر یهو می‌پره بالا و پایین، بدون تنها نیستی! این مشکل که بهش Cumulative Layout Shift یا CLS می‌گیم، هم تجربه کاربری رو داغون می‌کنه و هم از نظر سئو بهت ضربه می‌زنه. اما خبر خوب اینه که CSS یه راه‌حل جادویی و ساده به نام `aspect-ratio` داره که مثل آب روی آتیش این مشکل رو خنثی می‌کنه. آماده‌ایم که عمیقاً شیرجه بزنیم توش و برای همیشه از شر پرش‌های آزاردهنده خلاص شیم؟ اگه دنبال ابزارهای خفن و کدهای آماده برای پروژه‌های دیگه‌ت هم هستی، یه سر به فروشگاه ابزارهای ما بزن؛ کلی چیز باحال پیدا می‌کنی! یه نگاهی هم به صفحه اصلی fa-tools.ir بنداز تا با کلی خدمات و ترفندهای دیگه آشنا بشی.

🗺️ نقشه راه حل مشکل پرش صفحه با Aspect-ratio

در یک نگاه، تمام آنچه که باید برای درک و حل این مشکل بدونی:

مرحله توضیح کوتاه
1. 💥 CLS رو بشناس چرا پرش محتوا بده و گوگل چطور باهاش برخورد می‌کنه.
2. 📏 `aspect-ratio` چیه؟ تعریف ساده و مفهوم نسبت ابعاد تصویر.
3. 🛠️ چطور ازش استفاده کنیم؟ سینتکس و پیاده‌سازی عملی در CSS.
4. 💡 مزایای استفاده بهبود UX، سئو و عملکرد کلی صفحه.
5. 🚀 کاربردهای پیشرفته برای ویدئوها، iframeها و المان‌های دیگه.
6. 🔍 عیب‌یابی سریع راهکارهای عملی برای مشکلات رایج.

💡 این راهنما برای هر برنامه‌نویسی، از تازه‌کار تا حرفه‌ای، که به دنبال راه حل پایدار برای ثبات بصری وب‌سایت است، مناسب است.

CLS چیه و چرا برای گوگل و کاربر مهمه؟

قبل از اینکه بریم سراغ قهرمان داستانمون، بذار کمی درباره دشمن اصلی یعنی CLS یا Cumulative Layout Shift صحبت کنیم. CLS یکی از فاکتورهای Core Web Vitals گوگله و به طور خلاصه، میزان “پرش” محتوای بصری یک صفحه وب رو اندازه‌گیری می‌کنه. وقتی مرورگر یه صفحه رو رندر می‌کنه، گاهی اوقات عناصر (مثل تصاویر، فونت‌ها، تبلیغات) بعد از لود اولیه، جای خودشون رو عوض می‌کنن. این جابجایی می‌تونه خیلی آزاردهنده باشه؛ مثلاً داری یه دکمه رو می‌زنی و درست قبل از کلیک، یهو دکمه می‌پره پایین و یه تبلیغ جایگزینش می‌شه، یا داری یه متن رو می‌خونی و خطوط قاطی می‌شن. این فقط تجربه کاربری رو بد نمی‌کنه، بلکه گوگل هم بهش حساسه و می‌تونه روی رتبه سئوی سایتت اثر بذاره.

**چرا این اتفاق می‌افته؟**

معمولاً به خاطر اینه که مرورگر وقتی برای اولین بار یه صفحه رو رندر می‌کنه، هنوز ابعاد دقیق بعضی عناصر (مثل تصاویر) رو نمی‌دونه. اگه توی HTML یا CSS ابعاد تصویر رو مشخص نکرده باشی، مرورگر یه فضای خالی براش در نظر نمی‌گیره. بعداً که تصویر لود می‌شه، یهو اون فضا رو اشغال می‌کنه و تمام محتوای پایین‌تر رو به سمت پایین هل می‌ده. اینجاست که `aspect-ratio` وارد عمل می‌شه.

مشخصه `aspect-ratio` چطور کار می‌کنه و ناجی صفحات وب شماست؟

`aspect-ratio` یه ویژگی جدید و قدرتمند در CSSه که بهت اجازه می‌ده نسبت عرض به ارتفاع یک عنصر رو مشخص کنی. این ویژگی به مرورگر می‌گه که قبل از لود شدن کامل محتوا (مثلاً یک تصویر یا ویدئو)، چه فضایی رو براش رزرو کنه. به این ترتیب، دیگه لازم نیست نگران پرش‌های ناگهانی باشی.

**تاریخچه کوتاه:**

قبل از `aspect-ratio`، توسعه‌دهنده‌ها از ترفند “padding-bottom hack” برای حفظ نسبت ابعاد استفاده می‌کردن. یعنی یه `div` می‌ساختن و بهش `padding-bottom` با مقادیر درصدی می‌دادن (مثلاً برای نسبت 16:9، `padding-bottom: 56.25%` چون 9/16 = 0.5625). این روش کار می‌کرد، اما کمی پیچیده و نه چندان خوانا بود. با اومدن `aspect-ratio`، این کار به طرز شگفت‌انگیزی ساده و شفاف شد.

سینتکس `aspect-ratio`

استفاده از `aspect-ratio` خیلی ساده است. فقط کافیه نسبت عرض به ارتفاع رو بهش بدی. می‌تونی از اعداد صحیح، اعشاری یا عبارات ریاضی استفاده کنی:

* **اعداد صحیح یا اعشاری:** `aspect-ratio: 16 / 9;` یا `aspect-ratio: 1.77;`
* **عبارت `auto`:** این مقدار پیش‌فرض محسوب می‌شه و به عنصر اجازه می‌ده که نسبت ابعاد طبیعی خودشو (مثلاً از HTML تصویر) حفظ کنه یا اگه نسبتی مشخص نشده باشه، آزادانه تغییر ابعاد بده.

/* برای یک تصویر با نسبت ابعاد 16:9 */
img {
    width: 100%; /* یا هر عرض دلخواه دیگر */
    aspect-ratio: 16 / 9;
    object-fit: cover; /* برای اطمینان از پوشش کامل بدون کشیدگی */
}

/* برای یک تصویر مربع (1:1) */
.square-image {
    aspect-ratio: 1 / 1;
}

/* برای یک تصویر پرتره (3:4) */
.portrait-image {
    aspect-ratio: 3 / 4;
}

/* استفاده از اعشار */
.custom-ratio {
    aspect-ratio: 1.5; /* معادل 3 / 2 */
}

function copyCode(id) {
const codeBlock = document.getElementById(id).innerText;
navigator.clipboard.writeText(codeBlock).then(() => {
alert(‘کد با موفقیت کپی شد!’);
}).catch(err => {
console.error(‘خطا در کپی کردن کد: ‘, err);
});
}

چرا `aspect-ratio` بهتر از `padding-bottom`ه؟

1. **خوانایی بیشتر:** `aspect-ratio: 16 / 9;` خودش کاملاً واضحه که چه کاری می‌کنه. در حالی که `padding-bottom: 56.25%;` نیاز به محاسبه و توضیح داره.
2. **استفاده مستقیم روی المان:** `aspect-ratio` رو مستقیم به `img`، `iframe` یا هر عنصری که می‌خوای اعمال می‌کنی. `padding-bottom` نیاز به یک wrapper `div` و استفاده از `position: absolute` برای محتوای داخلی داشت.
3. **انعطاف‌پذیری:** `aspect-ratio` برای عناصر غیر تصویری هم کار می‌کنه، مثلاً برای `div`های خالی که قراره در آینده محتوایی با ابعاد مشخص داشته باشن.
4. **پشتیبانی مرورگر:** الان دیگه تمام مرورگرهای مدرن از این ویژگی پشتیبانی می‌کنن و خیال ما رو راحت کردن.

کاربرد `aspect-ratio` در عمل: نجات‌دهنده CLS

بریم سراغ سناریوی واقعی. فرض کن یه گالری تصویر داری که تصاویرش ابعاد مختلفی دارن. بدون `aspect-ratio` یا `width` و `height` مشخص در HTML، تا وقتی تصویر لود نشده، هیچ فضایی براش در نظر گرفته نمی‌شه و کل صفحه می‌پره.

<!-- HTML -->
<div class="gallery">
    <img src="image1.jpg" alt="Description 1" width="1280" height="720">
    <img src="image2.jpg" alt="Description 2" width="800" height="600">
    <img src="image3.jpg" alt="Description 3" width="1080" height="1920">
</div>

<!-- CSS -->
.gallery img {
    max-width: 100%;
    height: auto; /* برای حفظ نسبت ابعاد اصلی */
    display: block;
    /* اینجاست که aspect-ratio وارد عمل می‌شود */
    /* بهترین راه این است که از width و height در HTML استفاده کنید */
    /* اما اگر نیاز به override یا استفاده پویا دارید: */
    aspect-ratio: attr(width) / attr(height); /* از ابعاد HTML برای aspect-ratio استفاده می‌کند */
    object-fit: cover; /* برای پوشش کامل فضای رزرو شده */
}

/* اگر تصاویر یک نسبت ابعاد ثابت دارند، می‌توانید مستقیماً اعمال کنید */
.gallery-fixed-ratio img {
    max-width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 9; /* مثال برای نسبت 16:9 */
    object-fit: cover;
}

**توضیح کد:**

* **`width` و `height` در HTML:** بهترین و اولین قدم همیشه اینه که ابعاد تصاویر رو در خود تگ `` در HTML مشخص کنی. این کار باعث می‌شه مرورگر قبل از لود شدن CSS هم فضای مناسب رو رزرو کنه.
* **`aspect-ratio: attr(width) / attr(height);`:** این ویژگی که به تازگی در CSS معرفی شده، بهت اجازه می‌ده که مقادیر `width` و `height` رو مستقیماً از اریبیوت‌های HTML بخونی و به عنوان `aspect-ratio` استفاده کنی. این یه راه حل فوق‌العاده پویا و قوی محسوب می‌شه.
* **`object-fit: cover;`:** وقتی فضای تصویر رو با `aspect-ratio` رزرو کردی، ممکنه ابعاد واقعی تصویر دقیقاً با اون نسبت نخونه. `object-fit: cover;` باعث می‌شه تصویر کل فضای رزرو شده رو پر کنه، بدون اینکه کشیده بشه. اگر نسبت تصویر با فضای رزرو شده فرق داشته باشد، بخشی از تصویر کراپ می‌شود. اگر نمی‌خواهی کراپ شود، از `object-fit: contain;` استفاده کن که تصویر را داخل فضا نگه می‌دارد و ممکن است فضای خالی ایجاد کند.

مزایای استفاده از `aspect-ratio`

استفاده از این ویژگی کوچولو اما قدرتمند، کلی مزیت داره که شامل این موارد می‌شه:

1. **بهبود تجربه کاربری (UX):** مهم‌ترین فایده، حذف پرش‌های آزاردهنده است. کاربر با آرامش خاطر صفحه رو می‌بینه و محتواش جابجا نمی‌شه. این یعنی کاربر راضی‌تر و احتمال ماندن بیشتر در سایت.
2. **بهبود سئو (SEO) و Core Web Vitals:** گوگل به CLS امتیاز می‌ده. با کاهش CLS، سایتت از نظر معیارهای حیاتی وب (Core Web Vitals) امتیاز بهتری می‌گیره و این به رتبه سئوی سایتت کمک می‌کنه.
3. **سادگی کد و نگهداری آسان‌تر:** همونطور که دیدی، سینتکس `aspect-ratio` خیلی ساده و خواناست. دیگه نیازی به ترفندهای پیچیده `padding-bottom` نیست و کدها تمیزتر و قابل نگهداری‌تر می‌شن.
4. **تطابق با ابعاد مختلف صفحه (Responsive Design):** وقتی `width` رو ۱۰۰% می‌ذاری و `aspect-ratio` رو تنظیم می‌کنی، تصویر به طور خودکار ارتفاعش رو متناسب با عرض تغییر می‌ده و همیشه نسبت ابعاد خودش رو حفظ می‌کنه. این برای طراحی رسپانسیو که محتوا باید در موبایل، تبلت، لپ‌تاپ و حتی تلویزیون به خوبی نمایش داده بشه، بی‌نظیره.

کاربردهای پیشرفته‌تر و خلاقانه `aspect-ratio`

فکر نکن `aspect-ratio` فقط برای تصاویر خوبه! این ویژگی رو می‌تونی برای انواع و اقسام عناصر دیگه هم به کار ببری تا ثبات بصری رو در کل سایتت تضمین کنی.

ویدئوها و iFrameها

یکی از رایج‌ترین موارد استفاده از `aspect-ratio`، برای Embed کردن ویدئوهای یوتیوب یا Vimeo و iFrameهاست. این عناصر هم تا زمانی که لود نشن، ابعاد مشخصی ندارن و می‌تونن باعث CLS بشن.

<!-- HTML -->
<div class="video-container">
    <iframe src="https://www.youtube.com/embed/your-video-id" frameborder="0" allowfullscreen></iframe>
</div>

<!-- CSS -->
.video-container {
    width: 100%;
    /* نسبت ابعاد استاندارد ویدئو (16:9) */
    aspect-ratio: 16 / 9; 
    background-color: #000; /* برای اینکه قبل از لود ویدئو یک رنگ ثابت داشته باشد */
}

.video-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

اینجا به جای اینکه `aspect-ratio` رو به خود `iframe` بدی (که ممکنه رفتار متفاوتی در مرورگرهای مختلف داشته باشه)، به یک `div` والد می‌دیم که فضا رو رزرو کنه و `iframe` رو با `width: 100%; height: 100%;` داخلش قرار می‌دیم.

المان‌های placeholder و Skeleton Loaderها

برای بهبود تجربه کاربری هنگام لود محتوای پویا یا تصاویر با تأخیر (Lazy Load)، می‌تونی از `aspect-ratio` در کنار Placeholderها یا Skeleton Loaderها استفاده کنی.

<!-- HTML (قبل از لود تصویر) -->
<div class="image-placeholder"></div>

<!-- CSS -->
.image-placeholder {
    width: 100%;
    aspect-ratio: 4 / 3; /* نسبت ابعاد مورد انتظار برای تصویر */
    background-color: #E0E0E0; /* رنگ خاکستری برای placeholder */
    display: flex;
    align-items: center;
    justify-content: center;
    color: #616161;
    font-size: 1.2em;
    border-radius: 8px;
}
.image-placeholder::after {
    content: "در حال بارگذاری...";
}

/* بعد از لود تصویر، این placeholder با تگ img واقعی جایگزین می‌شود */

با این کار، حتی قبل از اینکه محتوای واقعی (مثلاً تصویر) لود بشه، یه فضای با ابعاد صحیح رزرو شده و کاربر یه اسکلت بصری ثابت می‌بینه که باعث می‌شه صفحه متلاشی نشه. این روش بخصوص برای سایت‌هایی که از Lazy Loading یا بارگذاری تنبل استفاده می‌کنند، فوق‌العاده کاربردی است و بهبود CLS قابل توجهی به همراه دارد. با این ترفند، حتی در صورت وجود چندین تصویر در صفحه، به هنگام لود شدن آنها، محتوای دیگر صفحه دچار تقییر اندازه نمی‌شود.

جدول مقایسه‌ای: قبل و بعد از `aspect-ratio`

این جدول بهت کمک می‌کنه تا تفاوت رو بهتر درک کنی.

ویژگی بدون `aspect-ratio` (یا `width`/`height` در HTML)
ثبات بصری (CLS) پایین، پرش محتوا رخ می‌دهد.
تجربه کاربر (UX) متوسط تا ضعیف، کاربر آزرده خاطر می‌شود.
پیچیدگی کد ساده (در ابتدا) اما برای حل CLS نیاز به ترفند `padding-bottom` (پیچیده) است.
پشتیبانی مرورگر همه‌جا (اما مشکل CLS پابرجاست).
ویژگی با `aspect-ratio` (یا `width`/`height` در HTML)
ثبات بصری (CLS) بالا، پرش محتوا حذف می‌شود.
تجربه کاربر (UX) عالی، کاربر حس روانی و رضایت دارد.
پیچیدگی کد ساده و خوانا، مستقیم روی المان اعمال می‌شود.
پشتیبانی مرورگر تمام مرورگرهای مدرن.

عیب‌یابی سریع (Troubleshooting)

بعضی وقت‌ها ممکنه با اینکه `aspect-ratio` رو اعمال کردی، باز هم به مشکلاتی بربخوری. نگران نباش، اینا چند تا از سناریوهای رایج و راه‌حل‌هاشون هستن:

1. تصویر کوچیک یا بزرگ‌تر از فضای رزرو شده است

* **مشکل:** تصویر یا خیلی کوچیکه و فضای رزرو شده رو پر نمی‌کنه، یا خیلی بزرگه و ازش بیرون می‌زنه.
* **راه‌حل:** از ویژگی `object-fit` در CSS استفاده کن.
* **`object-fit: cover;`:** تصویر رو طوری مقیاس‌بندی می‌کنه که فضای رزرو شده رو کاملاً بپوشونه، حتی اگه بخشی از تصویر کراپ بشه.
* **`object-fit: contain;`:** تصویر رو طوری مقیاس‌بندی می‌کنه که کاملاً داخل فضای رزرو شده جا بگیره، بدون اینکه کراپ بشه. ممکنه اطراف تصویر فضای خالی (Letterboxing/Pillarboxing) ایجاد بشه.
* **`object-fit: fill;`:** تصویر رو کش می‌آره تا تمام فضای رزرو شده رو پر کنه. (معمولاً توصیه نمی‌شه چون تصویر دفرمه می‌شه).
* **`object-fit: scale-down;`:** تصویر رو با توجه به ابعاد خودش یا فضای رزرو شده، کوچیک می‌کنه (مثل `contain` یا `none`).
* **`object-fit: none;`:** تصویر ابعاد واقعی خودش رو حفظ می‌کنه و اگه بزرگتر از فضای رزرو شده باشه، از کادر بیرون می‌زنه.

2. هنوز پرش محتوا اتفاق می‌افتد!

* **مشکل:** `aspect-ratio` رو اعمال کردی، `width` و `height` رو هم تو HTML گذاشتی، اما باز هم CLS می‌بینی.
* **راه‌حل:**
* **کشف منابع CLS:** از ابزارهایی مثل Lighthouse در Chrome DevTools استفاده کن. Lighthouse دقیقا بهت می‌گه کدوم عناصر باعث CLS شدن.
* **تبلیغات:** تبلیغات یکی از بزرگ‌ترین عوامل CLS هستن. مطمئن شو که برای جایگاه تبلیغات هم یه فضای ثابت با `aspect-ratio` یا `min-height` و `min-width` رزرو کردی.
* **فونت‌ها:** بارگذاری فونت‌های سفارشی (Web Fonts) هم می‌تونه باعث پرش محتوا بشه (FOIT/FOUT). از `font-display: swap;` یا بهتر، `font-display: optional;` استفاده کن و قبل از لود شدن فونت سفارشی، یک فونت سیستمی مناسب رو به عنوان fallback تعریف کن.
* **JS پویا:** اگه جاوااسکریپتت محتوایی رو بعد از لود اولیه به DOM اضافه می‌کنه یا ابعاد عناصر رو تغییر می‌ده، این هم می‌تونه عامل CLS باشه. مطمئن شو که فضاهای لازم رو از قبل رزرو کردی.

3. `aspect-ratio: auto;` کار نمی‌کند

* **مشکل:** انتظار داری `auto` نسبت ابعاد تصویر رو از HTML بگیره، اما این اتفاق نمی‌افته.
* **راه‌حل:**
* مطمئن شو که هم `width` و هم `height` رو در تگ `` در HTML مشخص کردی. `aspect-ratio: auto;` برای کار کردن نیاز به این اریبیوت‌ها داره.
* اگر `width` یا `height` مشخص نیست، `auto` به معنی “هیچ نسبت ابعادی” است و عنصر آزادانه تغییر ابعاد می‌دهد. در این حالت باید نسبت دلخواه خودت رو مثل `aspect-ratio: 16 / 9;` دستی اعمال کنی.
* برای موارد پیچیده‌تر که ابعاد همیشه ثابت نیست، از `aspect-ratio: attr(width) / attr(height);` (که کمی جدیدتر است) استفاده کن. این به مرورگر می‌گه مستقیماً اریبیوت‌ها رو بخونه.

4. مشکلات در مرورگرهای قدیمی

* **مشکل:** `aspect-ratio` در مرورگرهای خیلی قدیمی پشتیبانی نمی‌شه.
* **راه‌حل:** برای مرورگرهای قدیمی که این ویژگی رو نمی‌شناسن، می‌تونی از Fallback استفاده کنی.
* **`@supports`:** از این قابلیت CSS برای اعمال استایل‌های جایگزین استفاده کن:

img {
    max-width: 100%;
    height: auto; /* مهم برای رسپانسیو بودن */
}

/* Fallback برای مرورگرهای قدیمی‌تر */
@supports not (aspect-ratio: 1 / 1) {
    .image-wrapper { /* نیاز به یک wrapper div */
        position: relative;
        width: 100%;
        padding-bottom: 56.25%; /* مثلاً برای 16:9 */
        height: 0;
        overflow: hidden;
    }
    .image-wrapper img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

/* استایل اصلی برای مرورگرهای مدرن */
@supports (aspect-ratio: 1 / 1) {
    img {
        aspect-ratio: 16 / 9; /* یا از attr استفاده کن */
        object-fit: cover;
    }
}

این راه حل بهت اطمینان می‌ده که حتی در مرورگرهای قدیمی هم یه تجربه قابل قبول داری، هرچند که پیچیدگی کدش بیشتره. اما برای اکثریت کاربران که از مرورگرهای مدرن استفاده می‌کنن، `aspect-ratio` به تنهایی کافیه.

**اگه بازم سوالی داشتی یا نیاز به راهنمایی بیشتری داری، یا حتی برای توسعه ابزارهای حرفه‌ای و کدهای آماده‌ت به کمک احتیاج داری، حتماً با تیم فنی ما تماس بگیر. ما همیشه آماده کمک هستیم! می‌تونی با شماره 09202232789 هم باهامون در ارتباط باشی.**

سوالات متداول (FAQ)

سوال: `aspect-ratio` دقیقا چیه و چه کاری انجام می‌ده؟

**پاسخ:** `aspect-ratio` یه مشخصه CSSیه که به شما اجازه می‌ده نسبت عرض به ارتفاع یک عنصر رو مشخص کنید. این باعث می‌شه مرورگر قبل از اینکه محتوای واقعی (مثل تصویر یا ویدئو) لود بشه، فضای مناسبی رو برای اون عنصر رزرو کنه و از پرش محتوا (CLS) جلوگیری می‌کنه.

سوال: چرا باید از `aspect-ratio` استفاده کنم؟

**پاسخ:** استفاده از `aspect-ratio` سه مزیت اصلی داره: بهبود تجربه کاربری با جلوگیری از پرش‌های ناگهانی صفحه، بهبود امتیاز سئوی سایت شما در Core Web Vitals گوگل (به خصوص CLS)، و سادگی و خوانایی بیشتر کدها نسبت به روش‌های قدیمی.

سوال: آیا `aspect-ratio` فقط برای تصاویر کاربرد داره؟

**پاسخ:** نه، به هیچ وجه! `aspect-ratio` رو می‌تونی برای ویدئوها (Embed شده از یوتیوب یا Vimeo)، iframeها، یا حتی placeholderها (باکس‌های خالی که قبل از لود محتوا نمایش داده می‌شن) هم استفاده کنی تا در تمام این موارد، ثبات بصری صفحه رو حفظ کنی.

سوال: آیا استفاده از `width` و `height` در تگ HTML `` کافی نیست؟

**پاسخ:** بله، استفاده از `width` و `height` در تگ `` در HTML بهترین و اولین گام برای جلوگیری از CLS برای تصاویر است. `aspect-ratio` در CSS مکمل این روش است و در سناریوهایی که نیاز به کنترل بیشتر یا پویایی (مثل استفاده از `aspect-ratio: attr(width) / attr(height);`) داری، کاربرد پیدا می‌کنه. در واقع، ترکیب هر دو بهترین نتیجه را می‌دهد.

سوال: اگر `object-fit: cover;` استفاده کنم، آیا بخشی از تصویر از بین می‌رود؟

**پاسخ:** بله، اگر نسبت ابعاد واقعی تصویر با نسبت ابعادی که شما با `aspect-ratio` مشخص کرده‌اید، متفاوت باشد، `object-fit: cover;` باعث می‌شود تصویر فضای رزرو شده را کاملا بپوشاند. در این فرآیند، بخش‌هایی از تصویر ممکن است از بالا، پایین یا طرفین کراپ شوند تا نسبت ابعاد حفظ شود و فضا پر شود.


**کلمات کلیدی مرتبط:** کدهای آماده و اسنیپت، سایر دسته‌بندی‌های مربوطه.

Table of Contents

آخرین نوشته‌ها