دسته : آموزش رایگان CSS
Viewport در طراحی وب به بخش قابل مشاهده یک صفحه در مرورگر یا دستگاه کاربر گفته میشود و بسته به اندازه صفحه نمایش، متغیر است. واحدهای Viewport مانند vw، vh، vmin و vmax در CSS، امکان استفاده از اندازههای وابسته به Viewport را فراهم میکنند. این واحدها به خصوص در طراحیهای واکنشگرا بسیار مفید هستند. در این مقاله، به معرفی Viewport و واحدهای مرتبط با آن میپردازیم و کاربردهای آنها در CSS را بررسی میکنیم.
Viewport به ناحیهای از صفحه اشاره دارد که کاربران میتوانند بدون نیاز به اسکرول، مشاهده کنند. اندازه Viewport در دستگاههای مختلف (مانند دسکتاپ، تبلت و موبایل) متفاوت است و CSS قابلیتهای مختلفی را برای تنظیم عناصر متناسب با اندازه Viewport فراهم میکند.
به عنوان مثال:
در دسکتاپ، Viewport معمولاً بزرگتر است.
در موبایل، Viewport کوچکتر است و ممکن است کاربر نیاز به اسکرول داشته باشد.
واحدهای Viewport به شما امکان میدهند که اندازه عناصر را بر اساس اندازه Viewport تعیین کنید. این واحدها بسیار واکنشپذیر هستند و به خصوص در طراحیهای پاسخگو مفید واقع میشوند.
vw (Viewport Width): یک واحد vw برابر با 1٪ از عرض Viewport است.
vh (Viewport Height): یک واحد vh برابر با 1٪ از ارتفاع Viewport است.
vmin: کوچکتر از عرض و ارتفاع Viewport را میگیرد و 1٪ آن را نشان میدهد.
vmax: بزرگتر از عرض و ارتفاع Viewport را میگیرد و 1٪ آن را نشان میدهد.
.full-width-box {
width: 100vw;
height: 50vh;
background-color: lightblue;
}
در اینجا:
width: 100vw عرض عنصر را برابر با 100٪ عرض Viewport تعیین میکند.
height: 50vh ارتفاع عنصر را برابر با 50٪ ارتفاع Viewport تنظیم میکند.
.square-box {
width: 50vmin;
height: 50vmin;
background-color: lightcoral;
}
در اینجا:
50vmin به عنوان اندازه هر ضلع مربع انتخاب شده که در دستگاههای مختلف نسبت ثابتی خواهد داشت.
.banner {
font-size: 5vmax;
}
در اینجا:
font-size: 5vmax اندازه فونت را بر اساس بزرگترین بعد Viewport تنظیم میکند، که برای حفظ وضوح متون در دستگاههای مختلف مناسب است.
واحدهای Viewport میتوانند برای ایجاد بخشهایی با اندازه تمام صفحه استفاده شوند.
.full-screen-section {
width: 100vw;
height: 100vh;
background: url('background.jpg') no-repeat center center;
background-size: cover;
}
در اینجا:
بخش full-screen-section کل صفحه را پوشش میدهد و برای طراحیهای تک صفحهای و اسلایدها بسیار مناسب است.
با استفاده از واحدهای Viewport، میتوانید فونتهایی بسازید که نسبت به اندازه صفحه واکنشگرا باشند.
.responsive-heading {
font-size: 3vw;
}
در اینجا:
font-size: 3vw باعث میشود که اندازه فونت متناسب با عرض Viewport تنظیم شود و در دستگاههای مختلف به صورت پویا تغییر کند.
واحدهای Viewport به شما این امکان را میدهند که بخشهایی با نسبت ابعاد ثابت در دستگاههای مختلف ایجاد کنید.
.aspect-ratio-box {
width: 100vw;
height: 56.25vw; /* برای نسبت 16:9 */
}
در اینجا:
height: 56.25vw ارتفاع با نسبت 16:9 تنظیم شده تا در نمایشگرهای مختلف نسبت تصویر ثابت بماند.
گاهی اوقات برای طراحیهای پیچیدهتر، میتوانید واحدهای Viewport را با سایر واحدهای CSS مانند پیکسل یا درصد ترکیب کنید.
مثال ترکیب vw با padding ثابت
.responsive-box {
width: calc(100vw - 20px);
height: 50vh;
padding: 10px;
background-color: lightgreen;
}
در اینجا:
calc(100vw - 20px) عرض عنصر را متناسب با عرض Viewport تعیین میکند، اما 20 پیکسل از هر دو طرف کسر میکند تا فضای مناسبی ایجاد شود.
توجه به تغییرات اندازه Viewport در دستگاههای مختلف: در موبایل و تبلتها، به خصوص در حالت افقی و عمودی، Viewport تغییر میکند. به این موضوع در هنگام طراحی توجه کنید.
ترکیب واحدهای Viewport با Media Queries: برای دستیابی به طراحیهای واکنشگرا، میتوانید واحدهای Viewport را همراه با Media Queries استفاده کنید.
استفاده از vmin و vmax در طراحیهای متناسب: برای عناصر مربعی یا دایرهای که باید در دستگاههای مختلف نسبت ثابت داشته باشند، از vmin یا vmax استفاده کنید.
واحدهای Viewport در CSS ابزارهای بسیار کاربردی برای ایجاد طراحیهای واکنشگرا هستند. این واحدها به شما امکان میدهند که عناصر خود را به صورت متناسب و پویا با اندازههای مختلف نمایش دهید و تجربه کاربری بهتری را ارائه کنید. با درک و استفاده صحیح از vw، vh، vmin و vmax میتوانید طراحیهای جذاب و منعطفی ایجاد کنید که به طور خودکار در انواع نمایشگرها بهینه باشند.
نظری یافت نشد
آموزش استایلدهی لیستها در CSS: طراحی و استایلدهی ul و ol
10م آبان 1403
مطالعه بیشتر
آموزش ترانزیشنها و انیمیشنهای نرم با CSS: ایجاد افکتهای پویا و واکنشگرا
10م شهریور 1402
مطالعه بیشتر
آموزش ارثبری (Inheritance) در جاوا اسکریپت: نحوه استفاده از پروتوتایپها و کلاسها
28م مهر 1403
مطالعه بیشتر
آموزش ایجاد فرم با استفاده از HTML: طراحی فرمهای ساده و کاربردی
21م مرداد 1402
مطالعه بیشتر
آموزش مفاهیم پایهای اشیاء در جاوا اسکریپت: تعریف، ویژگیها و متدها
2م شهریور 1403
مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثالها
30م مهر 1403
مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403
مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پسزمینه برای طراحی وب راهنمای جامع
5م شهریور 1402
مطالعه بیشتر
آموزش قالببندی متن در HTML: استفاده از تگها و CSS برای استایلدهی
23م مرداد 1402
مطالعه بیشتر
آموزش ارتباط با سرور و ارسال درخواستهای HTTP با Fetch API در جاوا اسکریپت: راهنمای جامع با مثالها
1م آبان 1403
مطالعه بیشتر
آموزش کامنتها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت
23م مرداد 1402
مطالعه بیشتر
آموزش طراحی و استایلدهی فرمها با CSS: ایجاد فرمهای کاربرپسند و واکنشگرا
18م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد