فهرست سرفصل‌های CSS
خانه (HOME) معرفی (Introduction) نحو نگارش (Syntax) انتخاب گرها (Selectors) نحوه استفاده (How To) توضیحات (Comments) خطاها (Errors) رنگ ها (Colors) رنگ های RGB (RGB Colors) رنگ های HEX (HEX Colors) رنگ های HSL (HSL Colors) پس زمینه (Backgrounds) تصویر پس زمینه (Background Image) تکرار پس زمینه (Background Repeat) پیوست پس زمینه (Background Attachment) کوتاه نویسی پس زمینه (Background Shorthand) حاشیه ها (Borders) عرض حاشیه (Border Width) رنگ حاشیه (Border Color) طرف های حاشیه (Border Sides) کوتاه نویسی حاشیه (Border Shorthand) حاشیه های گرد (Rounded Borders) حاشیه بیرونی (Outline) عرض حاشیه بیرونی (Outline Width) رنگ حاشیه بیرونی (Outline Color) کوتاه نویسی حاشیه بیرونی (Outline Shorthand) فاصله حاشیه بیرونی (Outline Offset) حاشیه داخلی (Padding) ارتفاع و عرض (Height/Width) مدل جعبه ای (Box Model) متن (Text) تراز متن (Text Alignment) تزئین متن (Text Decoration) تبدیل متن (Text Transformation) فاصله متن (Text Spacing) سایه متن (Text Shadow) فونت ها (Fonts) فونت های وب سیف (Web Safe Fonts) جایگزین های فونت (Font Fallbacks) سبک فونت (Font Style) اندازه فونت (Font Size) فونت گوگل (Google Fonts) ترکیب فونت ها (Font Pairings) کوتاه نویسی فونت (Font Shorthand) آیکون ها (Icons) لینک ها (Links) فهرست ها (Lists) جداول (Tables) اندازه جدول (Table Size) تراز جدول (Table Alignment) استایل جدول (Table Styling) جدول واکنش گرا (Responsive Table) نمایش (Display) حداکثر عرض (Max-width) موقعیت دهی (Position) شاخص Z (Z-index) سرریز (Overflow) شناور (Float) پاک سازی (Clear) نمونه های شناور (Float Examples) نمایش خطی-بلوک (Inline-block) تراز کردن (Align) ترکیب کننده ها (Combinators) شبه کلاس ها (Pseudo-classes) شفافیت (Opacity) نوار ناوبری (Navigation Bars) ناوبری عمودی (Vertical Navbar) ناوبری افقی (Horizontal Navbar) منوهای کشویی (Dropdowns) گالری تصاویر (Image Gallery) تصاویر اسپریت (Image Sprites) انتخاب گرهای ویژگی (Attribute Selectors) فرم ها (Forms) شمارنده ها (Counters) واحدها (Units) ویژگی اختصاصی سازی (Specificity) ویژگی !important توابع ریاضی (Math Functions) بهینه سازی (Optimization) دسترس پذیری (Accessibility) چیدمان وب سایت (Website Layout) گوشه های گرد (Rounded Corners) تصاویر حاشیه (Border Images) پس زمینه های چندگانه (Multiple Backgrounds) اندازه پس زمینه (Background Size) مبدأ پس زمینه (Background Origin) برش پس زمینه (Background Clip) رنگ ها (Colors) کلیدواژه های رنگ (Color Keywords) گرادیان ها (Gradients) گرادیان شعاعی (Radial Gradients) گرادیان مخروطی (Conic Gradients) سایه ها (Shadows) سایه جعبه (Box Shadow) افکت های متن (Text Effects) فونت های سفارشی (Custom Fonts) تبدیل های دو بعدی (2D Transforms) تبدیل های سه بعدی (3D Transforms) انتقال ها (Transitions) انیمیشن ها (Animations) توضیحات راهنما (Tooltips) استایل دهی تصاویر (Image Styling) مودال تصویر (Image Modal) تراز مرکز تصویر (Image Centering) فیلترهای تصویر (Image Filters) اشکال تصویر (Image Shapes) ویژگی object-fit ویژگی object-position ماسک گذاری (Masking) ماسک گرادیان (Masking-Gradients) ماسک SVG (Masking-SVG) دکمه ها (Buttons) صفحه بندی (Pagination) چند ستونه (Multiple Columns) رابط کاربری (User Interface) متغیرها (Variables) بازنویسی متغیرها (Overriding Variables) متغیرها و جاوااسکریپت (Variables and JavaScript) متغیرها در Media Query (Variables in MQ) ویژگی @property اندازه جعبه (Box Sizing) پرس وجوهای رسانه ای (Media Queries) نمونه های MQ (MQ Examples) فلکس باکس (Flexbox Intro) ظرف فلکس (Flex Container) آیتم های فلکس (Flex Items) فلکس واکنش گرا (Flex Responsive) شبکه (Grid Intro) ظرف شبکه (Grid Container) ردیف و ستون شبکه (Grid Tracks) فاصله شبکه (Grid Gaps) تراز شبکه (Grid Align) آیتم شبکه (Grid Items) نام گذاری آیتم (Grid Item Named) تراز آیتم شبکه (Grid Item Align) ترتیب آیتم شبکه (Grid Item Order) چیدمان 12 ستونه (Grid 12-column Layout) قانون @supports واکنش گرا (RWD Intro) نما (Viewport) چیدمان شبکه واکنش گرا (RWD Grid View) پرس وجوهای رسانه ای (RWD Media Queries) تصاویر واکنش گرا (RWD Images) ویدیوهای واکنش گرا (RWD Videos) چارچوب های واکنش گرا (RWD Frameworks) قالب های واکنش گرا (RWD Templates)
CSS

CSS — دکمه ها (Buttons)

آخرین بروزرسانی: 1404/08/08

دکمه ها (Buttons)

اینجا با «دکمه های CSS» آشنا می شویم. «دکمه (Button)» یک عنصر برای کلیک است. با CSS می توانیم رنگ، اندازه، گوشه گرد، سایه و رفتار هاور را کنترل کنیم.

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

چند ویژگی مهم: رنگ پس زمینه، رنگ متن، حاشیه، فاصله داخلی، تراز متن، اندازه فونت و نشانگر ماوس.

.button {\n  background-color: red;\n  border: none;\n  color: white;\n  padding: 15px 32px;\n  text-align: center;\n  text-decoration: none;\n  display: inline-block;\n  font-size: 16px;\n  cursor: pointer;\n}\n

مشاهده در ادیتور

رنگ دکمه

با background-color رنگ پس زمینه را می گذاریم. با color رنگ متن را تعیین می کنیم.

.button1 {\n  background-color: #04AA6D;\n}\n.button2 {\n  background-color: #008CBA;\n}\n.button3 {\n  background-color: #f44336;\n}\n.button4 {\n  background-color: #e7e7e7;\n  color: black;\n}\n.button5 {\n  background-color: #555555;\n}\n

مشاهده در ادیتور

اندازه فونت و پدینگ

font-size اندازه متن را عوض می کند. padding فاصله متن تا لبه است.

.button1 {\n  font-size: 10px;\n}\n.button2 {\n  font-size: 12px;\n}\n.button3 {\n  font-size: 16px;\n}\n.button4 {\n  font-size: 20px;\n}\n.button5 {\n  font-size: 24px;\n}\n.button6 {\n  padding: 10px 24px;\n}\n.button7 {\n  padding: 12px 28px;\n}\n.button8 {\n  padding: 14px 40px;\n}\n.button9 {\n  padding: 32px 16px;\n}\n.button10 {\n  padding: 16px;\n}\n

مشاهده در ادیتور

مشاهده در ادیتور

گوشه گرد با border-radius

border-radius گوشه ها را گرد می کند. مقدار 50% دایره می سازد.

.button1 {\n  border-radius: 2px;\n}\n.button2 {\n  border-radius: 4px;\n}\n.button3 {\n  border-radius: 8px;\n}\n.button4 {\n  border-radius: 12px;\n}\n.button5 {\n  border-radius: 50%;\n}\n

مشاهده در ادیتور

حاشیه دکمه

با border می توانیم خط دور دکمه بسازیم. نوع خط هم قابل تغییر است.

.button1 {\n  border: 2px solid #04AA6D;\n}\n.button2 {\n  border: 2px dotted #008CBA;\n}\n.button3 {\n  border: 2px dashed #f44336;\n}\n.button4 {\n  border: 1px solid #e7e7e7;\n}\n.button5 {\n  border: 1px solid #555555;\n}\n

مشاهده در ادیتور

افکت هاور (Hover)

با :hover هنگام عبور ماوس، استایل عوض می شود. با transition-duration سرعت تغییر را مشخص کن.

.button1 {\n  transition-duration: 0.2s;\n}\n.button1:hover {\n  background-color: #04AA6D;\n  color: white;\n}\n.button2:hover {\n  background-color: #008CBA;\n  color: white;\n}\n.button3:hover {\n  background-color: #f44336;\n  color: white;\n}\n.button4:hover {\n  background-color: #e7e7e7;\n  color: black;\n}\n.button5:hover {\n  background-color: #555555;\n  color: white;\n}\n

مشاهده در ادیتور

سایه دکمه

با box-shadow عمق می دهیم. می توانیم فقط در هاور سایه بدهیم.

.button1 {\n  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.6);\n}\n.button2:hover {\n  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.6);\n}\n

مشاهده در ادیتور

نمای «غیرفعال»

opacity شفافیت می سازد. با cursor: not-allowed حس غیرفعال می دهیم.

.disabledbtn {\n  opacity: 0.6;\n  cursor: not-allowed;\n}\n

مشاهده در ادیتور

عرض دکمه

با width می توانیم عرض ثابت یا درصدی بدهیم. درصد واکنش گراست.

.button1 {\n  width: 250px;\n}\n.button2 {\n  width: 50%;\n}\n.button3 {\n  width: 100%;\n}\n

مشاهده در ادیتور

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

با flex دکمه ها کنار هم می آیند. با flex-wrap در موبایل بشکنند.

.btn-group {\n  display: flex;\n  flex-wrap: wrap;\n}\n.button {\n  background-color: #04AA6D;\n  border: none;\n  color: white;\n  padding: 15px 32px;\n  text-align: center;\n  text-decoration: none;\n  font-size: 16px;\n  cursor: pointer;\n}\n.btn-group .button:hover {\n  background-color: dodgerblue;\n}\n

مشاهده در ادیتور

گروه با حاشیه

برای جلوگیری از دوبرابری مرز، مرز آخرین دکمه را نگه داریم.

.btn-group {\n  display: flex;\n  flex-wrap: wrap;\n}\n.button {\n  background-color: #04AA6D;\n  border: 1px solid green;\n  color: white;\n  padding: 15px 32px;\n  text-align: center;\n  text-decoration: none;\n  font-size: 16px;\n  cursor: pointer;\n}\n.btn-group .button:hover {\n  background-color: dodgerblue;\n}\n.btn-group .button:not(:last-child) {\n  border-right: none;\n}\n

مشاهده در ادیتور

گروه عمودی

با flex-direction: column دکمه ها ستونی می شوند.

.btn-group {\n  display: flex;\n  flex-direction: column;\n}\n

مشاهده در ادیتور

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

می توانیم روی تصویر دکمه بگذاریم و با کلاس های موقعیت گذاری وسط چین کنیم.

<div class="container">\n  <img src="img_lights.jpg" alt="Image">\n  <button class="button">Button</button>\n</div>\n

مشاهده در ادیتور

انیمیشن های ساده دکمه

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

/* نمونه: فید در هاور */\n.btnfade {\n  opacity: 0.7;\n  transition-duration: 0.2s;\n}\n.btnfade:hover {\n  opacity: 1;\n}\n

مشاهده در ادیتور

گام های عملی سریع

  1. ساخت یک کلاس .button برای استایل پایه.
  2. افزودن رنگ، اندازه و پدینگ مناسب.
  3. اضافه کردن هاور، سایه و گوشه گرد.

جمع بندی سریع

  • background-color برای پس زمینه است.
  • padding فاصله متن تا لبه است.
  • border-radius گوشه ها را نرم می کند.
  • :hover افکت تعاملی می دهد.
  • flex گروه دکمه ها را می چیند.

برای مطالعه مرتبط: دکمه های CSS، طراحی واکنش گرا و انواع ورودی.