اُپن تگ | منابع و محتوای آموزشی برای طراحان وب
بدون نتیجه
نمایش همه نتایج
  • ثبت نام / ورود
  • خانه
  • مقالات
  • مرجع HTML
  • مرجع CSS
اپن تگ
  • خانه
  • مقالات
  • مرجع HTML
  • مرجع CSS
بدون نتیجه
نمایش همه نتایج
بدون نتیجه
نمایش همه نتایج
اپن تگ

خانه › مقالات › آموزش ریسپانسیو کردن تصاویر در صفحات وب

آموزش ریسپانسیو کردن تصاویر در صفحات وب

در این مقاله قصد داریم در مورد مفهوم تصاویر ریسپانسیو و نحوه پیاده سازی آنها صحبت کنیم. تصاویری که در اندازه ها و رزولوشن‌های مختلف، بدرستی نمایش داده می‌شوند. یادگیری این بحث به ما کمک می‌کند تا بتوانیم میزان عملکرد وبسایتمان را در ارائه محتوا -خصوصا توسط تصاویر-  به مخاطبان افزایش دهیم و در نهایت تجربه کاربری بهتری را در اختیار آنها قرار دهیم.

آنچه در ادامه می‌خوانید:
1. تصاویر ریسپانسیو
2. استفاده از ویژگی max-width در CSS
3. استفاده از مدیا کوئری
4. استفاده از ویژگی object-fit در CSS
5. استفاده از صفت srcset در تگ img

تصاویر ریسپانسیو

تصاویر یکی از مهمترین ابزارهای انتقال اطلاعات و مفاهیم در صفحات وب هستند. اما تقریبا در ۲۵ سال گذشته تغییر چندانی در نحوه عملکرد آنها پیدا نشده است. طراحان و توسعه دهندگان فرانت‌اند بخوبی با محدودیتهای استفاده از تصاویر باخبر هستند خصوصا وقتی که پای نمایش آنها در دستگاهها با رزولوشن‌های مختلف در میان باشد. تصاویر در حالت پیشفرض با تغییر اندازه‌ی محدوده دید (viewport) یا اندازه مرورگر تغییری در اندازه نمی‌کنند. اما تصاویر ریسپانسیو نسبت به تغییر اندازه مرورگر واکنش نشان داده و با حفظ نسبت طول و عرض، تغییر اندازه می‌دهد.

تصاویر اولین موانع ایجاد صفحات ریسپانسیو (صفحاتی که در طول و عرض مقیاس پذیر باشند و در همه حال محتوای آنها بخوبی نمایش داده شوند) هستند.

اما راههایی برای این موضوع وجود دارد که در ادامه به آنها می‌پردازیم:

استفاده از ویژگی max-width در CSS

یک راه ساده اما بسیار کاربردی برای اینکه تصاویر با کوچک شدن پنجره کوچکتر شوند و همزمان تناسب خود را نیز حفظ کنند، اینست که به تصویر مقدار max-width: 100% بدهیم. در اینحالت تصویر در جایی که امکانش را دارد در اندازه کامل خود به نمایش در خواهد آمد و با کوچکتر شدن مرورگر عرض تصویر هم به همان مقدار کوچکتر خواهد شد و چون مقدار پیشفرض ویژگی height در عناصر برابر با auto است، بنابراین ارتفاع تصویر هم به همان نسبت کوچکتر می‌شود و تناسب تصویر حفظ می‌شود. البته در خیلی جاها این ویژگی را هم (height: auto) به عنصر اضافه می‌کنند تا بصورت ناخواسته از جای دیگری ارث نپذیرد.

img {
   max-width: 100%;
}

استفاده از مدیا کوئری

بی‌شک یکی از اصلی‌ترین ابزارهای توسعه وب برای طراحی صفحات ریسپانسیو مدیا کوئری است. البته استفاده از این روش هم یک روش قطعی نیست اما اگر بخواهید که مرورگر در اندازه‌های مختلف، سایزهای متفاوتی از تصویر را نمایش دهد، استفاده از مدیا کوئری می‌تواند یک روش مؤثر باشد. در مثال زیر می‌بینید که در مقدار مشخص شده در مدیا کوئری عرض تصویر تغییر می‌کند.

img {
    max-width: 50%;
}
@media (max-width: 530px) {
    img {
         max-width: 100%;
    }
}

در این مثال میبینیم که در اندازه‌های کمتر از 530px تصویر بصورت تمام عرض در صفحه به نمایش در میاید.

استفاده از ویژگی object-fit در CSS

این ویژگی یکی از دستورات کمتر شناخته شده اما بسیار مؤثر در کار با تصاویر در CSS  است. در اینجا می‌توانید در مورد این ویژگی بیشتر بخوانید. در مثال زیر با استفاده از ویژگی object-fit مشخص می کنیم که تصویر در عین داشتن ارتفاع ثابت در تمام اندازه‌ها بصورت تمام عرض و با حفظ تناسب تصویر نمایش داده شود. اگر قصد داشته باشیم که ناحیه خاصی از تصویر نمایش داده شود، می‌توانیم از ویژگی object-position هم استفاده کنیم.

img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center;
}

استفاده از صفت srcset در تگ img

 صفت srcset در تگ img به شما این امکان را می‌دهد تا با مشخص کردن تصاویر مختلف به مرورگر این امکان را بدهید تا بر اساس عرض مرورگر یا دستگاه نمایش صفحه وب ( مانیتور، تبلت، گوشی همراه و …) از آنها استفاده کند. در این روش مرورگر تنها منابعی که نیاز دارد را استفاده می‌کند و از دانلود تصاویر بزرگتر برای دستگاههای کوچک مانند موبایل خودداری می‌کند.

در اینجا مثالی داریم که در آن ۴ تصویر برای ۴ اندازه (در اینجا عرض) نمایشگر مشخص می‌کنیم.

<img src="dog.png"
  alt="A picture of a dog"
  srcset="dog-500.png 500w,
          dog-800.png 800w,
          dog-1000.png 1000w,
          dog-1400.png 1400w">

در صفت srcset ما از حرف w برای مشخص کردن عرض مرورگر استفاده می‌کنیم. همچنین ما به صفت sizes هم نیاز داریم:

<img src="dog.png"
  alt="A picture of a dog"
  sizes="(max-width: 500px) 100vw, (max-width: 900px) 50vw, 800px"
  srcset="dog-500.png 500w,
          dog-800.png 800w,
          dog-1000.png 1000w,
          dog-1400.png 1400w">

در این مثال قطعه کد در صفت sizes اندازه تصویر را به نسبت عرض محدوده دید (viewport) مرورگر مشخص می‌کند که شرایط مختلف نیز با کاما از یکدیگر جدا شده‌اند.

شرط max-width: 500px اندازه تصویر را در ارتباط با عرض محدوده دید (viewport) مشخص می‌کند. بطور خلاصه اگر عرض تصویر کوچکتر از 500px باشد، مرورگر تصویر را تمام عرض نشان خواهد داد. اگر اندازه مرورگر بیشتر از 500px  ولی کمتر از 900px باشد، مرورگر تصویر را به اندازه نصف عرض مرورگر نشان خواهد داد. و اگر تصویر بیشتر از این مقدار باشد بیشتر از این هم باشد، مرورگر تصویر را با عرض 800px نشان خواهد داد.

واحد vw ممکن است برای شما تازگی داشته باشد که در این مقاله در باره آن صحبت کرده‌ایم، اما بطور خلاصه 1vw برابر است با %1 از عرض پنجره مرورگر بنابر این 100vw هم برابر با %100 خواهد بود.

پست قبلی

آموزش سریع ساخت جدول (table) در HTML و استفاده بهینه از آن

پست بعدی

کد رنگ RGB و Hex در CSS

پست بعدی

کد رنگ RGB و Hex در CSS

دیدگاه ها 2

  1. T می‌گوید:
    7 ماه قبل

    عالی بود

    پاسخ
    • سهیل اصلی فرد می‌گوید:
      7 ماه قبل

      ممنونم

      پاسخ

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code

بنر مرجع html
بنر مرجع css

اُپن تگ

اپن تگ در تلاش است با گردآوری منابع و ارائه محتوای آموزشی در حوزه طراحی وب، راه را برای دسترسی طراحان وب و علاقه‌مندان به آخرین روش‌ها و تکنولوژی‌های این بخش از صنعت توسعه وب هموارتر سازد.

با خبر باشید!

برای اطلاع از مطالب ويژه و دوره های آموزشی جدید در خبرنامه اُپن‌تگ عضو شوید.

  • درباره
  • ارتباط با ما

تمامی حقوق برای اپن تگ محفوظ است. استفاده از مطالب تنها با ذکر منبع مجاز است.

  • ورود
  • ثبت نام
  • سبد خرید
  • خانه
  • مقالات
  • مرجع HTML
  • مرجع CSS

خوش آمدید!

به حساب خود وارد شوید

فراموشی رمز عبور ؟ ثبت نام

ساخت حساب کاربری!

فرم زیر را برای ثبت نام تکمیل نمایید

همه فیلد ها ضروری اند وارد شدن

رمز عبور خود را بازیابی کنید

لطفاً ایمیل یا نام کاربری خود را جهت بازیابی رمز عبور وارد نمایید

وارد شدن