راهنمایی برای چیدمان چند المان در اطراف یک المان خاص با HTML/CSS/JS

wrap elements around specific element html css js
20 آبان 1403

در دنیای طراحی وب، یکی از تکنیک‌های جذاب چیدمان المان‌ها در اطراف یک المان خاص است. برای این کار می‌توانیم از تکنیک‌های مختلفی در HTML، CSS، و گاهاً JavaScript استفاده کنیم. معمولاً این طرح‌بندی زمانی استفاده می‌شود که بخواهید یک المان مرکزی داشته باشید و دیگر المان‌ها را در اطراف آن قرار دهید، مثلاً در شرایطی که نیاز دارید یک تصویر مرکزی باشد و متون یا بخش‌های دیگر سایت در اطراف آن باشند.

با استفاده از ویژگی CSS Flexbox، می‌توانید طرح‌بندی‌های پیچیده و زیبا ایجاد کنید. از Flexbox برای مرکزیت‌بخشی استفاده کنید و دیگر المان‌ها را طبق نیازتان در اطراف المان خاص چیدمان دهید. همچنین، Flexbox به شما امکان تنظیمات بیشتری مانند فاصله‌گذاری یکسان بین المان‌ها، ترتیب‌دهی دلخواه، و سازگاری بهتر با مرورگرها را می‌دهد.

برای شروع، ابتدا یک ساختار HTML ساده ایجاد می‌کنیم که شامل یک div مرکزی و چند div دیگر است. این ساختار اصلی است که روی آن کار خواهیم کرد. سپس با استفاده از CSS ویژگی‌هایی مانند display: flex; و justify-content و align-items را اعمال می‌کنیم.

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

نمونه کد HTML و CSS


<div class="container">
<div class="central-element">Central Element</div>
<div class="side-element">Element 1</div>
<div class="side-element">Element 2</div>
<div class="side-element">Element 3</div>
</div> <style>
.container {
display: flex;
align-items: center;
justify-content: space-around;
height: 300px;
border: 1px solid blue;
}
.central-element {
flex: 0 0 200px;
text-align: center;
padding: 10px;
background-color: lightgray;
}
.side-element {
flex: 1;
text-align: center;
padding: 10px;
background-color: lightcoral;
}
</style>

توضیح کد:

<div class="container">
این المان به عنوان المان اصلی وظیفه چیدمان را برعهده دارد و محتویات داخلی آن را مدیریت می‌کند.
display: flex;
این ویژگی CSS وظیفه اجرای قابلیت‌های Flexbox را برای چیدمان به این المان اعمال می‌کند.
align-items: center;
با این ویژگی المان‌ها به صورت مرکزی در محور عمودی تراز می‌شوند.
justify-content: space-around;
ویژگی فاصله‌گذاری یکسان بین المان‌ها در محور افقی را فعال می‌کند.
.central-element
این کلاس به المان مرکزی اختصاص داده شده است که نسبت ثابتی در فضای Flexbox دارد.
.side-element
کلاس‌های جانبی با استفاده از Flexbox می‌توانند فضای مناسبی را از المان والد خود بگیرند تا چیدمان دلخواه حاصل شود.

سوالات متداول

؟

چطور می‌توانم المان‌های بیشتری اضافه کنم؟

؟

آیا Flexbox برای تمام مرورگرها پشتیبانی می‌شود؟

؟

چطور می‌توانم فاصله‌های بیشتری بین المان‌ها ایجاد کنم؟