loading...
طراحی وب- برنامه نویسی
برنامه نویس بازدید : 47 پنجشنبه 27 تیر 1398 نظرات (0)

ترازبندی چیست؟

 

Align در لغت به معنی «تراز کردن» یا «ترازبندی» است. احتمالا با خودتان می گویید مگر چند تا از این خصوصیت ها داریم؟ در واقع زبان CSS پر است از خصوصیت هایی که مربوط به تعیین موقعیت و ترازبندی عناصر هستند و از آن جا که برخی از این روش ها برای برخی از موقعیت ها جواب نمیدهند، سعی کرده ام که چندین روش مختلف برای ترازبندی عمودی و افقی را به شما معرفی کنم.

هر کدام از این روش ها ممکن است در شرایط خاصی کار کند اما در شرایط دیگری جواب ندهد به همین دلیل آشنایی با آن ها می تواند کمک بسیار بزرگی به شما بکند.

استفاده از margin

اگر می خواهید عنصر خاصی را (مثلا یک عنصر <div>) در وسط صفحه قرار دهید باید از ;margin: auto استفاده کنید اما ممکن است عنصرتان به دو طرف صفحه کشیده شود. برای جلوگیری از این خطا باید عرض عنصرتان را دقیقا تعریف کنید.

در مثال زیر پس از تعیین عرض عنصر آن را در وسط صفحه قرار داده ایم:

مشاهده ی خروجی در JSBin

 

نکته: اگر مقدار width تعیین نشده باشد یا آن را روی 100 درصد گذاشته باشید، دستور ;margin: auto هیچ تاثیری نخواهد داشت.

سوال: اگر عنصر ما از نوع inline بود چطور؟

پاسخ: بله روی عناصر inline نمی توان عرض مشخصی تعیین کرد. برای این کار می توانید عنصرتان را تبدیل به Block کنید و یا از inline-block استفاده کنید!

display: inline-block چیست؟

تفاوت عناصری که inline هستند با عناصری که inline-block هستند در یک مسئله ی مهم است؛ عناصر inline-block ترکیبی از مزایای دو حالت block و inline هستند بنابراین می توانند در عین حالی که inline هستند، عرض نیز بگیرند! همچنین می دانید که در عناصر inline به margin ها و padding های مربوط به top و bottom اهمیت داده نمی شود چرا که هیچ تاثیری ندارند اما در عناصر inline-block کاملا فعال هستند.

از طرفی دیگر نیازی نیست نگران اشغال کل صفحه توسط عناصر block باشید چرا که inline-block ها مانند block ها تمام عرض صفحه را نمی گیرند و به خط بعدی نیز نمی روند. به مثال زیر توجه کنید:

مشاهده ی خروجی در JSBin

در این مثال تفاوت رفتار سه دسته ی inline، block و inline-block را مشاهده می کنید.

ترازبندی متون

سوال: اگر بخواهیم یک متن را به وسط صفحه بیاوریم چطور؟

پاسخ: برای متن ها از خصوصیت دیگری به نام ;text-align: center استفاده می کنیم:

مشاهده ی خروجی در JSBin

ترازبندی تصاویر

باید بدانید پروسه ی ترازبندی کمی برای عناصری مانند تصاویر متفاوت است. برای وسط قرار دادن تصاویر باید margin های راست و چپ را auto بگذارید و سپس خود تصویر را تبدیل به یک عنصر block کنید. به مثال زیر توجه کنید:

مشاهده ی خروجی در JSBin

اینها روش های مختلفی برای وسط قرار دادن عناصر بود اما برای موقعیت دهی عناصر مختلف راه های دیگری نیز وجود دارد!

ترازبندی به راست و چپ با position ها

یکی از راه های ترازبندی عناصر استفاده از ;position: absolute است. به این مثال دقت کنید:

مشاهده ی خروجی در JSBin

نکته: ممکن است این روش ساده تر به نظر برسد اما اگر از قسمت های قبل یادتان باشد، عناصر Absolute از جریان کلی صفحه جدا می شوند و میتوانند روی دیگر عناصر قرار بگیرند. اگر از چنین حالتی خوشتان نمی آید از موقعیت Absolute استفاده نکنید.

ترازبندی با استفاده از خاصیت float

راه دیگر برای ترازبندی به سمت چپ و راست استفاده از خاصیت float است. مثال:

مشاهده ی خروجی در JSBin

البته مشکل float نیز این است که برخی عناصر از نگه دارنده شان بیرون می زنند:

 

مشکل معروف clearfix - در این مثال عنصر پدر یا نگه دارنده کوچک تر از عنصر فرزند است بنابراین عنصر فرزند از نگه دارنده اش بیرون می زندمشکل معروف clearfix – در این مثال عنصر پدر یا نگه دارنده کوچک تر از عنصر فرزند است بنابراین عنصر فرزند از نگه دارنده اش بیرون می زند

 

در جلسه ی قبل در رابطه با این مشکل و راه حل آن صحبت کرده ایم بنابراین اگر هنوز جلسه ی قبل را مطالعه نکرده اید به آن مراجعه کنید.

ترازبندی عمودی با padding

یکی دیگر از راه های ترازبندی عناصر استفاده از padding می باشد. به طور مثال می توانیم بگوییم:

مشاهده ی خروجی در JSBin

با تعیین padding بالا و پایین به اندازه ی یکسان 70 پیکسل می توانیم آن را در وسط عنصر نگه دارنده اش قرار دهیم! به همین سادگی!

حالا اگر بخواهیم آن را هم از جهت عمودی و هم از جهت افقی به سمت وسط تراز بندی کنیم باید قابلیت ;text-align: center را نیز اضافه کنیم:

مشاهده ی خروجی در JSBin

ترازبندی با line-height

یکی دیگر از روش های ترازبندی استفاده از line-height است. به مثال زیر توجه کنید:

مشاهده ی خروجی در JSBin

شما می توانید با این کد ها بازی کنید تا متوجه تغییر آن ها بشوید.

استفاده از قابلیت transform

یکی دیگر از راه های ترازبندی استفاده از قابلیت transform است:

مشاهده ی خروجی در JSBin

transform خصوصیتی است که می تواند عناصر را از نظر ظاهری تغییر دهد. این تغییر ظاهری می تواند چرخاندن عنصر، بزرگ یا کوچک تر کردن عنصر، حرکت دادن عنصر و … باشد. حالت های مختلف کار با آن بسیار زیاد است بنابراین در این مقاله نمیگنجد اما یک مثال ساده از آن را برایتان آورده ام:

مشاهده ی خروجی در JSBin

با حرکت دادن slider می توانید مربع را rotate کنید، یعنی بچرخانید. در مورد این خاصیت در فصل های بعدی صحبت خواهیم کرد. به هر حال امیدوارم از این قسمت لذت برده باشید.

منبع: روکسو

 

 
 
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 16
  • آی پی دیروز : 17
  • بازدید امروز : 83
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 157
  • بازدید ماه : 522
  • بازدید سال : 7,031
  • بازدید کلی : 35,266