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

 

ظاهر پیش فرض جدول ها در HTML مانند بقیه ی عناصر چندان جذاب نیست و برای وب سایت های مدرن دیگر جواب نمی دهد. خبر خوش آنجاست که شما می توانید با تنها چند خط CSS ظاهر این جداول را کاملا قابل قبول کنید.

به مثال زیر نگاهی بیندازید:

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

همانطور که می بینید تنها با چند خط کوچک CSS ظاهر کاملا قابل قبولی به جدول خود داده ایم. اگر همان چند خط CSS را حذف کنیم جدول ما به این شکل تبدیل می شود که برای کاربر امروزی فاجعه ای بیش نیست.

در جلسه ی امروز می خواهیم با انواع روش های تزئین و استایل دهی جدول ها آشنا شویم. باید ابتدا به سراغ حاشیه ها برویم.

border در جدول ها

برای تعیین حاشیه و خط های یک جدول از خاصیت border در زبان CSS استفاده می کنیم.

به مثال زیر توجه کنید:

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

شکل جدول خروجی ما:

 

جدول خروجی 1جدول خروجی 1

 

سوال: چرا در مثال بالا جدول ما خط های دو تایی دارد؟ برای رفع آن چه کاری می توانیم انجام دهیم؟

پاسخ: اگر به قسمت CSS کد بالا نگاه کنید متوجه می شوید که ما برای هر سه قسمت جدول (یعنی table, th, td) حاشیه تعریف کرده ایم! بنابراین هر کدام جداگانه حاشیه ی خود را می گیرد و شکل بالا ایجاد می شود. تصور کنید کد CSS بالا را به این شکل بنویسیم:

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

شما می توانید با این کدها بازی کنید تا شکل های مختلف آن را ببینید. اما اگر می خواهید این حالت به طور کلی از بین برود می توانید از دستور border-collapse  استفاده کنید:

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

 

نکته: اگر مقدار DOCTYPE! مشخص نشده باشد این دستور می تواند نتایج ناخواسته ای را در مرورگر اینترنت اکسپلورر 8 و پایین تر ایجاد کند.

طول و عرض جدول

اگر دوست داشته باشید که جدول شما طول یا عرض مشخصی داشته باشد می توانید با استفاده از خصوصیات width و height آن را مشخص کنید. به طور مثال در کد زیر گفته ایم که جدول ما باید عرض %100 داشته باشد (یعنی تمام عرض صفحه را بگیرد) و همچنین به <th> ها نیز ارتفاع 50 پیکسلی داده ایم:

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

اگر به کد بالا دقت کنید متوجه می شوید که نوشته های داخل جدول با یکدیگر هماهنگ نیستند و در یک موقعیت مکانی قرار ندارند. اگر بخواهیم آن ها را ترازبندی کنیم چه کاری میتوان کرد؟

هم ترازی داده های جدول

برای هم تراز کردن نوشته های یک جدول به صورت افقی می توانیم از دستور text-align استفاده کنیم. حالت پیش فرض جدول ها برای <th> مقدار center (به معنی «وسط») و برای <td> ها مقدار left (به معنی «چپ») است اما ما می توانیم به راحتی آن را تغییر دهیم:

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

در این مثال به راحتی <th> ها را نیز چپ چین کرده ایم.

اما برای هم تراز کردن این داده ها به صورت عمودی باید از دستور vertical-align استفاده کنیم. مقادیر قابل قبول برای این دستور top به معنی «بالا» و bottom به معنی «پایین» و middle به معنی «میانه» یا «وسط» هستند.

حالت پیش فرض جدول ها هم برای <th> و هم برای <td> ها مقدار middle (به معنی «میانه») است. ما در مثال زیر می خواهیم  <td> را به صورت bottom قرار دهیم:

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

توجه داشته باشید که این تمرینات جهت یادگیری و آموزش است و هیچکدام از نظر ظاهری برای وب سایت واقعی جذاب نیست. در آخر این مقاله یک یا چند مثال از جدول های بسیار زیبای CSS را برایتان می آوریم.

سوال: داده های جدول ما به حاشیه اش چسبیده اند. آیا راهی برای فاصله انداختن بین آن ها وجود دارد؟

پاسخ: بله! می توانیم از ویژگی padding استفاده کنیم و فاصله ی بین آن ها را افزایش دهیم. به این کد توجه کنید:

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

همانطور که میبینید ظاهر جدول ما بسیار زیبا تر شده است.

جدول های مدرن تر

جدول های ساده کم کم دارند بساط خود را از دنیای امروزی وب جمع می کنند و طراحان مطرح دنیا از شیوه های جدیدی برای استایل دهی به جدول ها استفاده می کنند. به طور مثال می توانیم برای ردیف های جدول فقط حاشیه ی زیرین (یعنی border-bottom) قرار دهیم:

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

همانطور که می بینید طرح جدول ما بسیار زیباتر شده است. اما هنوز هم می توانیم آن را جذاب تر کنیم. نوبت استفاده از خصوصیت hover: است!

به کد زیر نگاه کنید:

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

اگر موس خود را روی ردیف های این جدول ببرید، این ردیف ها تیره تر می شوند و علاوه بر خوانا تر شدن جدول، کاربر احساس می کند که با جدول و عناصر صفحه ی ما تعامل دارد! به هر حال اگر برای شما تنها خوانایی جدول مهم است اما دوست نداربد از این حالت استفاده کنید می توانید از دستور ()nth-child بهره ببرید:

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

ما در این مثال با استفاده از background-color و ترکیب آن با دستور ()nth-child جدول خود را شبیه جداول اداری کرده ایم تا خوانایی آن بیشتر شود. حالا اگر کمی رنگ نیز به این جدول بدهیم، بهتر می شود:

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

حالا ظاهر بسیار بهتری پیدا کرد.

جدول های واکنش گرا

این نوع جداول با کم و زیاد شدن عرض صفحه (نمایش در موبایل های هوشمند یا کامپویتر و ….) به هم نمیریزند و از کادر هم خارج نمی شوند. برای ساخت این جدول ها باید به عنصر نگه دارنده ی جدول خصوصیت overflow-x:auto را بدهیم:

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

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

نکته: اسکرول ها در OS X (سیستم های مک) مخفی هستند حتی اگر overflow:scroll نیز تعیین شده باشد اما از نظر کارکرد مشکلی ندارند و به خوبی کار می کنند.

اگر خلاقیت بیشتری به خرج دهید می توانید جداولی مانند این جدول نیز بسازید. به هر حال امیدوارم از این قسمت لذت برده باشید.

منبع: روکسو
 
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 2
  • تعداد اعضا : 0
  • آی پی امروز : 25
  • آی پی دیروز : 17
  • بازدید امروز : 167
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 241
  • بازدید ماه : 606
  • بازدید سال : 7,115
  • بازدید کلی : 35,350