تراز کردن در CSS (Align)
در این صفحه «تراز کردن (Align)» عناصر را بر پایه متن منبع مرور می کنیم. بسته به نوع عنصر، می توانید افقی، عمودی یا هر دو را تراز کنید. سپس با روش های مرسوم مانند margin، متن ترازی، فلکس باکس و گرید پیش می رویم.
تراز کردن بلوک ها با margin: auto
برای عناصر بلاکی، با تعیین عرض و استفاده از margin: auto;
می توانید آن ها را افقی در مرکز قرار دهید.
.center { margin: auto; width: 50%; border: 3px solid green; padding: 10px; }
نکته: اگر عرض تنظیم نشود، «تراز کردن» بلاک مؤثر نیست.
تراز کردن متن (text-align)
برای مرکز چین کردن متن درون یک بلاک، از text-align: center;
استفاده کنید.
p { text-align: center; }
تراز کردن تصویر در مرکز
برای مرکز چین کردن تصویر، آن را بلاک کنید و حاشیه های افقی را خودکار بگذارید.
img { display: block; margin-left: auto; margin-right: auto; width: 40%; }
تراز کردن با Flexbox
در «فلکس باکس»، با ترکیب justify-content
و align-items
روی مقدار center
، تراز کردن افقی و عمودی هم زمان می شود.
.center { display: flex; justify-content: center; align-items: center; height: 200px; border: 3px solid green; }
تراز کردن با Grid
در «گرید»، با place-items: center;
محتوا در هر دو محور در مرکز قرار می گیرد.
.center { display: grid; place-items: center; height: 200px; border: 3px solid green; }
تراز چپ/راست با position
روش دیگر، استفاده از position: absolute;
و چسباندن به سمت چپ/راست است.
.right { position: absolute; right: 0px; width: 300px; border: 3px solid green; padding: 10px; }
تراز چپ/راست با float
همچنین می توانید با float
عنصر را به یک سمت تراز کنید.
.right { float: right; width: 300px; border: 3px solid green; padding: 10px; }
تراز کردن با position و transform
برای ابعاد ناشناخته، ترکیب top: 50%
و left: 50%
با transform: translate(-50%, -50%)
مرکز دقیق را فراهم می کند.
.container p { margin: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
نکته: برای آشنایی با شناوری، صفحه شناوری (Float) و نمونه ها در نمونه های شناوری را ببینید. همچنین برای جای گذاری پیشرفته، به موقعیت دهی (Position) سر بزنید و برای منوهای افقی ساده، از اینلاین-بلاک کمک بگیرید.