CSS کے ساتھ Div کے اندر متن کو عمودی طور پر مرکز کریں۔
متن کو عمودی طور پر div کے اندر سیدھ کرنا ویب ڈیزائن میں ایک عام چیلنج ہوسکتا ہے۔ اس بات کو یقینی بنانا کہ متن بالکل مرکز میں ہے آپ کے مواد کی جمالیات اور پڑھنے کی اہلیت کو بہتر بنا سکتا ہے۔
اس مضمون میں، ہم سی ایس ایس کا استعمال کرتے ہوئے ایک div کے اندر متن کی عمودی سینٹرنگ حاصل کرنے کے لیے مختلف طریقے تلاش کریں گے۔ ہم ایک سادہ مثال کے ساتھ شروع کریں گے اور پھر مختلف براؤزرز اور آلات میں مطابقت کو یقینی بنانے کے لیے مزید جدید تکنیکوں کا جائزہ لیں گے۔
کمانڈ | تفصیل |
---|---|
display: flex; | فلیکس کنٹینر کی وضاحت کرتا ہے، فلیکس باکس لے آؤٹ کے استعمال کو فعال کرتا ہے۔ |
justify-content: center; | فلیکس کنٹینر کے اندر فلیکس اشیاء کو افقی طور پر مرکز کرتا ہے۔ |
align-items: center; | عمودی طور پر فلیکس کنٹینر کے اندر فلیکس اشیاء کو مرکز کرتا ہے۔ |
display: grid; | گرڈ کنٹینر کی وضاحت کرتا ہے، گرڈ لے آؤٹ کے استعمال کو فعال کرتا ہے۔ |
place-items: center; | ایک گرڈ کنٹینر کے اندر اشیاء کو افقی اور عمودی طور پر مرکز کرتا ہے۔ |
display: table; | ٹیبل لے آؤٹ کی خصوصیات کو لاگو کرنے کی اجازت دیتے ہوئے، ایک عنصر کو ٹیبل کے طور پر بیان کرتا ہے۔ |
display: table-cell; | عمودی سیدھ کی خصوصیات کو فعال کرتے ہوئے، ایک عنصر کو ٹیبل سیل کے طور پر بیان کرتا ہے۔ |
vertical-align: middle; | عمودی طور پر ٹیبل سیل عنصر کے اندر مواد کو مرکز کرتا ہے۔ |
line-height: 170px; | لکیر کی اونچائی کو کنٹینر کی اونچائی کے برابر متن کے درمیان عمودی سیٹ کرتا ہے۔ |
CSS کے ساتھ متن کو عمودی طور پر سینٹر کرنے کی تکنیک
پہلی اسکرپٹ کی مثال میں، ہم استعمال کرتے ہیں۔ display: flex; ایک فلیکس کنٹینر کی وضاحت کرنے کے لئے. یہ Flexbox لے آؤٹ خصوصیات کے استعمال کو قابل بناتا ہے۔ ترتیب سے justify-content: center; اور align-items: center;، ہم متن کو افقی اور عمودی طور پر درمیان میں رکھ سکتے ہیں۔
دوسری اسکرپٹ کی مثال CSS گرڈ لے آؤٹ کو استعمال کرکے استعمال کرتی ہے۔ display: grid;. ترتیب سے place-items: center;، متن گرڈ کنٹینر کے اندر افقی اور عمودی طور پر مرکز میں ہے۔ CSS گرڈ روایتی طریقوں کے مقابلے ویب لے آؤٹ ڈیزائن کرنے کے لیے زیادہ طاقتور اور لچکدار نظام پیش کرتا ہے۔ یہ آسانی کے ساتھ پیچیدہ، ذمہ دار ڈیزائن بنانے کی صلاحیت فراہم کرتا ہے۔ دی place-items: center; کمانڈ عمودی اور افقی سینٹرنگ حاصل کرنے، کوڈ کو آسان بنانے اور پڑھنے کی اہلیت کو بہتر بنانے کا ایک مختصر طریقہ ہے۔
عمودی سینٹرنگ کے لیے اعلی درجے کی CSS تکنیک
تیسرے اسکرپٹ میں، ہم ٹیبل ڈسپلے کا طریقہ استعمال کرتے ہیں۔ ترتیب display: table; کنٹینر پر اور display: table-cell; کے ساتھ تخلیق کردہ ایک چھدم عنصر پر ::before ہمیں استعمال کرنے کی اجازت دیتا ہے۔ vertical-align: middle; جائیداد یہ طریقہ ٹیبل سیلز کے رویے کی نقل کرتا ہے، جس سے مواد کو عمودی طور پر مرکز بنانا ممکن ہوتا ہے۔ اگرچہ یہ نقطہ نظر جدید ویب ڈیزائن میں کم استعمال ہوتا ہے، لیکن یہ پرانے براؤزرز کے ساتھ مطابقت کو برقرار رکھنے یا میراثی کوڈ سے نمٹنے کے لیے مفید ہو سکتا ہے۔ یہ نئے لے آؤٹ سسٹمز پر انحصار کیے بغیر مواد کو سینٹر کرنے کا ایک قابل اعتماد طریقہ فراہم کرتا ہے۔
چوتھی اسکرپٹ کی مثال استعمال کرتی ہے۔ line-height جائیداد ترتیب دے کر line-height کنٹینر کی اونچائی کے برابر، متن عمودی طور پر مرکز میں ہے. یہ تکنیک سنگل لائن ٹیکسٹ کے لیے سیدھی اور موثر ہے۔ تاہم، یہ ملٹی لائن ٹیکسٹ یا ڈائنامک مواد کے لیے موزوں نہیں ہو سکتا جہاں کنٹینر کی اونچائی تبدیل ہو سکتی ہے۔ اپنی حدود کے باوجود، line-height سادہ منظرناموں میں متن کو عمودی طور پر مرکز کرنے کا طریقہ ایک تیز اور آسان حل ہے۔
عمودی سینٹرنگ کے لیے فلیکس باکس کا استعمال
سی ایس ایس فلیکس باکس
#box {
height: 170px;
width: 270px;
background: #000;
font-size: 48px;
color: #FFF;
display: flex;
justify-content: center;
align-items: center;
}
<div id="box">Lorem ipsum dolor sit</div>
عمودی سینٹرنگ کے لیے گرڈ کا استعمال
سی ایس ایس گرڈ
#box {
height: 170px;
width: 270px;
background: #000;
font-size: 48px;
color: #FFF;
display: grid;
place-items: center;
}
<div id="box">Lorem ipsum dolor sit</div>
عمودی سینٹرنگ کے لیے ٹیبل ڈسپلے کا استعمال
سی ایس ایس ٹیبل ڈسپلے
#box {
height: 170px;
width: 270px;
background: #000;
font-size: 48px;
color: #FFF;
display: table;
}
#box::before {
content: "";
display: table-cell;
vertical-align: middle;
}
#box > div {
display: inline-block;
vertical-align: middle;
}
<div id="box"><div>Lorem ipsum dolor sit</div></div>
عمودی مرکز کے لیے لائن کی اونچائی کا استعمال
سی ایس ایس لائن کی اونچائی
#box {
height: 170px;
width: 270px;
background: #000;
font-size: 48px;
color: #FFF;
line-height: 170px;
text-align: center;
}
<div id="box">Lorem ipsum dolor sit</div>
عمودی سینٹرنگ کے لیے سی ایس ایس ٹرانسفارم کی تلاش
a کے اندر متن کو عمودی طور پر مرکز کرنے کا ایک اور موثر طریقہ div CSS استعمال کر رہا ہے۔ transform جائیداد ملا کر position: absolute; کے ساتھ transform: translateY(-50%);، ہم عین مطابق عمودی سیدھ حاصل کر سکتے ہیں۔ سب سے پہلے، div پر مقرر ہے position: relative; ایک حوالہ نقطہ کے طور پر کام کرنا۔ پھر، ایک بچہ عنصر کے ساتھ position: absolute; پیرنٹ کنٹینر کے سب سے اوپر 50% پر واقع ہے۔ آخر میں، درخواست دینا transform: translateY(-50%); عنصر کو اس کی اپنی اونچائی کے نصف تک اوپر لے جاتا ہے، بالکل عمودی طور پر مرکز میں۔
یہ طریقہ بہت زیادہ لچک فراہم کرتا ہے اور متن اور تصاویر سمیت مختلف قسم کے مواد کے لیے اچھا کام کرتا ہے۔ متحرک مواد سے نمٹتے وقت یہ خاص طور پر مفید ہے، کیونکہ مرکزی اثر مواد کی اونچائی سے قطع نظر مستقل رہتا ہے۔ مزید برآں، امتزاج transform دیگر سی ایس ایس خصوصیات کے ساتھ زیادہ پیچیدہ اور تخلیقی ترتیب ڈیزائن کی اجازت دیتا ہے۔ اگرچہ یہ نقطہ نظر Flexbox یا Grid کے مقابلے میں تھوڑا زیادہ کوڈ کی ضرورت ہے، یہ عناصر کی پوزیشننگ پر قطعی کنٹرول پیش کرتا ہے۔
سی ایس ایس میں عمودی مرکز کے بارے میں عام سوالات
- div میں متن کو عمودی طور پر مرکز کرنے کا آسان ترین طریقہ کیا ہے؟
- استعمال کرنا display: flex; کے ساتھ justify-content: center; اور align-items: center; اکثر سب سے آسان اور سب سے مؤثر طریقہ ہے.
- آپ پرانے براؤزرز میں متن کو عمودی طور پر کیسے مرکوز کرتے ہیں؟
- کے ساتھ ٹیبل ڈسپلے کا طریقہ استعمال کرنا display: table; اور vertical-align: middle; پرانے براؤزرز میں عمودی سینٹرنگ حاصل کرنے میں مدد مل سکتی ہے۔
- کیا سی ایس ایس گرڈ کو متن کو عمودی طور پر سینٹر کرنے کے لیے استعمال کیا جا سکتا ہے؟
- جی ہاں، CSS گرڈ کا استعمال کرتے ہوئے متن کو عمودی طور پر سینٹر کر سکتا ہے۔ display: grid; اور place-items: center;.
- کیا عمودی طور پر کثیر لائن متن کو مرکز کرنا ممکن ہے؟
- جی ہاں، Flexbox یا CSS گرڈ کا استعمال آسانی سے ایک کنٹینر کے اندر کثیر لائن متن کو عمودی طور پر مرکز کر سکتا ہے۔
- آپ معلوم کنٹینر کی اونچائی کے ساتھ متن کو عمودی طور پر کیسے مرکز کرتے ہیں؟
- آپ سیٹ کر سکتے ہیں۔ line-height متن کو مؤثر طریقے سے مرکز کرتے ہوئے کنٹینر کی اونچائی سے مماثل جائیداد۔
- اگر کنٹینر کی اونچائی متحرک ہے تو کیا ہوگا؟
- فلیکس باکس، گرڈ، یا کا استعمال کرتے ہوئے transform پراپرٹی مستقل عمودی مرکز کو یقینی بناتی ہے، یہاں تک کہ متحرک کنٹینر کی بلندیوں کے ساتھ۔
- کیا استعمال کرنے میں کوئی خرابیاں ہیں؟ transform: translateY(-50%);?
- مؤثر ہونے کے باوجود، یہ والدین کے پاس ہونا ضروری ہے۔ position: relative; اور Flexbox یا Grid کے مقابلے میں لاگو کرنے کے لیے قدرے پیچیدہ ہو سکتا ہے۔
- آپ جوابی ڈیزائن میں متن کو عمودی طور پر کیسے مرکوز کرتے ہیں؟
- Flexbox یا CSS گرڈ کا استعمال ریسپانسیو ڈیزائنز کے لیے بہت زیادہ تجویز کیا جاتا ہے، کیونکہ وہ مختلف اسکرین کے سائز اور واقفیت کے مطابق ہوتے ہیں۔
عمودی مرکز کے بارے میں حتمی خیالات
ایک div کے اندر متن کے عمودی مرکز کو حاصل کرنا کئی موثر طریقوں سے پورا کیا جا سکتا ہے۔ Flexbox اور Grid جیسی جدید تکنیک سب سے زیادہ لچک اور نفاذ میں آسانی فراہم کرتی ہے۔ پرانے طریقے، جیسے ٹیبل ڈسپلے اور لائن کی اونچائی، اب بھی مخصوص معاملات میں کارآمد ثابت ہو سکتے ہیں۔ ان مختلف طریقوں کو سمجھنے اور لاگو کرنے سے، ڈویلپرز اس بات کو یقینی بنا سکتے ہیں کہ ان کا مواد مختلف آلات اور براؤزرز میں بصری طور پر دلکش اور مناسب طریقے سے منسلک ہے۔