CSS Box Sizing
- صفحه قبلی CSS @property
- صفحه بعدی CSS Flexbox
CSS Box Sizing
CSS box-sizing
پروپرٹی عناصر کی کل چوڑائی اور اونچائی میں کافی میٹر (padding) اور فریم (border) شامل کرانے کی اجازت دیتا ہے。
اگر آپ نے CSS box-sizing پروپرٹی طے نہ کیا تو
جب تک آپ نے CSS box-sizing پروپرٹی طے نہ کی تو عناصر کی چوڑائی اور اونچائی کا حساب این چا ہوتا ہے:
- width + padding + border = عناصر کی حقیقی چوڑائی
- height + padding + border = عناصر کی حقیقی اونچائی
یعنی: جب آپ عناصر کی چوڑائی/اونچائی کو طے کرتے ہیں تو عناصر عام طور پر آپ کے طے کردہ چوڑائی/اونچائی سے بڑا تر دیکھائی دیتے ہیں (چونکہ عناصر کا فریم اور کافی میٹر (padding) عناصر کی طے کردہ چوڑائی/اونچائی میں شامل کئے جاتے ہیں)۔
ایک دوسرے کے ساتھ ایک ساتھ چوڑائی اور اونچائی کا ذکر کئے گئے دونوں <div> عناصر کو درج کیا گیا ہے:
، چوڑائی 300px، اونچائی 100px)۔
، چوڑائی بھی 300px، اونچائی 100px)۔
علاوہ ازیں دونوں <div> عناصر نتیج میں مختلف انداز میں نمودار ہوتی ہیں (چونکہ div2 میں کافی میٹر (padding) کا ذکر کیا گیا ہے):
مثال
.div1 { width: 300px; height: 100px; border: 1px solid blue; } .div2 { width: 300px; height: 100px; padding: 50px; border: 1px solid red; }
box-sizing
پروپرٹی اس مسئلے کو حل کرتی ہے。
اگر آپ نے CSS box-sizing پروپرٹی استعمال کی تو
box-sizing
پروپرٹی کو سے استعمال کیا تو اس کی اجازت ہوتی ہے کہ آپ عناصر کی کل چوڑائی اور اونچائی میں کافی میٹر (padding) اور فریم (border) شامل کریں。
اگر آپ نے عناصر پر box-sizing: border-box;
، تو کوئی اضافی کافی میٹر (padding) اور فریم (border) شامل ہوگا:
یہ مثال پچھلے مثال کا ساتھ ساتھ ہے، دونوں <div> عناصر کو box-sizing: border-box;
:
مثال
.div1 { width: 300px; height: 100px; border: 1px solid blue; box-sizing: border-box; } .div2 { width: 300px; height: 100px; padding: 50px; border: 1px solid red; box-sizing: border-box; }
کوئی استعمال box-sizing: border-box;
به خوبی عمل میکند، بسیاری از توسعهدهندگان میخواهند که همه عناصر روی صفحه به این روش کار کنند.
کد زیر میتواند اطمینان حاصل کند که همه عناصر به این روش قابل تنظیم هستند. بسیاری از مرورگرها از این روش برای بسیاری از عناصر فرم استفاده میکنند box-sizing: border-box;
(اما نه همه - این دلیل است که input و textarea در width: 100%; به نظر میرسند که متفاوت هستند).
این کار را برای همه عناصر اعمال کردن امن و هوشمندانه است:
مثال
* { box-sizing: border-box; }
ویژگی Box Sizing CSS
ویژگی | توضیح |
---|---|
box-sizing | روش محاسبه عرض و ارتفاع عناصر تعریف شده: آیا باید پدینگ (padding) و لبهها (border) را شامل شوند یا خیر. |
- صفحه قبلی CSS @property
- صفحه بعدی CSS Flexbox