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

دکمه ها در حالت پیش فرض در HTML ظاهر خوبی ندارند و حتما باید استایل دهی شوند. بنابراین تنها بحثی که می توانیم در مورد دکمه ها انجام دهیم، روش و نوع استایل دادن به دکمه در css است که در واقع موضوع همین مقاله نیز می باشد.

استایل دهی دکمه ها

روش های متعددی برای استایل دادن به دکمه در css وجود دارد. در مثال زیر ما استایل پیش فرض دکمه ها در HTML را با استایل دلخواه خودمان مقایسه کرده ایم:

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

تعیین رنگ دکمه ها

برای تعیین رنگ دکمه ها باید از قابلیت background-color استفاده کنیم. به مثال زیر دقت کنید:

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

اندازه ی دکمه ها

برای تعیین سایز دکمه ها معمولا از خاصیت font-size در CSS استفاده می شود. در مثال زیر دکمه ها را از چپ به راست به ترتیب 10 پیکسل، 12 پیکسل، 16 پیکسل، 20 پیکسل و 24 پیکسل تعیین کرده ایم:

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

البته لازم به ذکر است که خاصیت padding نیز در سایز دکمه ها نقش تعیین کننده ای دارد. به اندازه ی دکمه های زیر دقت کنید:

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

دکمه های گرد و دایره ای

خاصیت border-radius به شما اجازه می دهد که گوشه های دکمه را گِرد کرده یا به طور کل دکمه را به شکل بیضی یا دایره در بیاورید:

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

دکمه های توخالی

اگر رنگ دکمه ها را با رنگ پس زمینه ‌شان یکی کنیم و یا آن را به طور کامل transparent قرار دهیم، دکمه ها نامرئی می شوند. در این حالت می توانیم با اضافه کردن border یک دکمه ی تو خالی ایجاد کنیم:

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

تاثیر hover بر زیبائی

یکی از بهترین افکت ها برای بالا بردن زیبایی دکمه ها اضافه کردن انیمیشن است، اما نه هر انیمیشنی! برخی از انیمیشن ها آن قدر طولانی هستند که باعث اذیت شدن کاربر می شوند اما انیمیشن های کوتاه مانند hover (با استفاده از hover:) به زیبایی آن اضافه می کنند. یادتان باشد که با استفاده از transition-duration  می توانید سرعت انیمیشن هایی مانند hover را تعیین کنید.

به چند مثال زیر که از ترکیب hover و دکمه های توخالی ایجاد شده اند، دقت کنید:

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

ایجاد سایه برای دکمه ها

شما می توانید با خاصیت box-shadow به دکمه های خود سایه بدهید:

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

دکمه های غیرفعال

با استفاده از خاصیت opacity می توانید یک دکمه را کاملا بی رنگ کنید، اما اگر مقدار مناسبی به آن بدهید می توانید شکل آن را طوری تغییر دهید که انگار غیرفعال شده است. همچنین اگر به خاصیت cursor مقدار not-allowed بدهید نیز علامت «ممنوع» نمایش داده می شود و ظاهر را کامل می کند:

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

عرض دکمه ها

در حالت پیش فرض، عرض یک دکمه به صورت خودکار و بر اساس محتویات متنی آن تعیین می شود اما ما می توانیم با استفاده از width آن را به صورت دلخواه خودمان تغییر دهیم:

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

مجموعه دکمه ها

اگر بخواهیم مجموعه ای از دکمه ها داشته باشیم (یعنی چندین دکمه را در کنار هم قرار دهیم) می توانیم از خاصیتfloat:left یا float:right استفاده کنیم:

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

در صورت نیاز می توانید به مثال بالا حاشیه (border) نیز اضافه کنید:

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

همچنین با تنظیم display روی حالت block و دستور float می توانید دکمه ها را روی هم (عمودی) قرار دهید:

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

ترکیب دکمه و تصویر

شما می توانید دکمه ی خود را روی یک تصویر قرار دهید! به طور مثال در کد زیر با استفاده از دستور position: relative توانسته ایم این کار را انجام دهیم:

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

انیمیشن های پیشرفته تر

با اینکه hover انیمیشن زیبایی است اما می توانیم از انیمیشن های پیشرفته تری استفاده کنیم.

مثال اول: در مثال زیر مشخص کرده ایم که در هنگام hover مقدار padding راست 25 پیکسل شود (افزایش یابد) و سپس با دستور after: علامت « را به دکمه اضافه کرده ایم. کد 00bb را که به content داده ایم، همان علامت « می باشد:

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

مثال دوم: در این مثال می خواهیم حالت فشرده شدن را ایجاد کنیم. برای این کار ابتدا با استفاده از box-shadow زیر دکمه ی خود سایه ای خاکستری اضافه می کنیم (به حالتی که پخش نشده باشد). سپس می گوییم در حالت active: مقدار box-shadow را کمتر کند. این مسئله باعث ایجاد یک انیمیشن جالب می شود:

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

مثال سوم: می خواهیم حالت ripple یا انعکاس را ایجاد کنیم. در این حالت زمانی که روی دکمه کلیک شود لایه ی دیگری روی دکمه پخش می شود (مانند افتادن سنگ در آب):

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

منبع: روکسو

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

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 27
  • آی پی دیروز : 17
  • بازدید امروز : 185
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 259
  • بازدید ماه : 624
  • بازدید سال : 7,133
  • بازدید کلی : 35,368