فهرست سرفصل‌های CSS
خانه (Home) CSS مقدمه CSS (Introduction) سینتکس CSS (Syntax) انتخاب گرهای CSS (Selectors) نحوه استفاده از CSS (How To) کامنت ها در CSS (Comments) ارورها در CSS (Errors) رنگ ها در CSS (Colors) رنگ ها - RGB و RGBA رنگ ها - هگز (HEX Colors) رنگ ها - HSL و HSLA پس زمینه (Backgrounds) پس زمینه - تصویر (Backgrounds Image) پس زمینه - تکرار تصویر (Backgrounds Image Repeat) پس زمینه - پیوست (Background Attachment) پس زمینه - کوتاه نویسی (Background Shorthand) کادرها (Borders) کادرها - عرض (Borders Width) کادرها - رنگ (Borders Color) کادرها - کناره ها (Borders Sides) کادرها - کوتاه نویسی (Shorthand Border Property) کادرها - گرد (Rounded Borders) لایه (Padding) ارتفاع، عرض و حداکثر عرض (Height, Width and Max-width) مدل جعبه ای (Box Model) خط پیرامونی (Outline) خط پیرامونی - ضخامت (Outline Width) خط پیرامونی - رنگ (Outline Color) خط پیرامونی - کوتاه نویسی (Outline Shorthand) خط پیرامونی - آفست (Outline Offset) متن - رنگ (Text Color) متن - چینش (Text Alignment) متن - تزئینات (Text Decoration) متن - تبدیل حروف (Text Transformation) متن - فاصله گذاری (Text Spacing) متن - سایه (Text Shadow) فونت ها (Fonts) فونت های وب سیف (Font Web Safe) فونت - جایگزین ها (Font Fallbacks) فونت - سبک (Font Style) فونت - اندازه (Font Size) فونت - گوگل (Font Google) فونت - کوتاه نویسی (Font Shorthand) آیکن ها در CSS (CSS Icons) لینک ها در CSS (CSS Links) فهرست ها در CSS (CSS Lists) جدول - کادرها (Table Borders) جدول - اندازه (Table Size) جدول - تراز (Table Alignment) جدول - استایل دهی (Table Styling) جدول - واکنش گرا (Table Responsive) نمایش/قابلیت دید (Display) حداکثر عرض (Max-width) موقعیت دهی (Position) شاخص Z (Z-index) سرریز (Overflow) شناوری (Float) شناوری - Float (Clear) شناوری - مثال ها (Float Examples) اینلاین-بلاک (Inline-block) تراز کردن (Align) ترکیب گرها (Combinators) کلاس های شبه (Pseudo-classes) عناصر شبه (Pseudo-elements) شفافیت/اپاسیتی (Opacity) نوار ناوبری - مقدمه (Navbar Intro) نوار ناوبری - عمودی (Vertical Navbar) نوار ناوبری - افقی (Horizontal Navbar) منوهای کشویی (Dropdowns) گالری تصاویر (Image Gallery) اسپرایت های تصویر (Image Sprites) انتخاب گرهای ویژگی (Attribute Selectors) فرم ها (Forms) شمارنده ها (Counters) واحدها (Units) اختصاصیت/اهمیت انتخاب گر (Specificity) !important (!important) توابع ریاضی (Math Functions) بهینه سازی/کارایی (Optimization) دسترس پذیری (Accessibility) چیدمان وب سایت (Website Layout) گوشه های گرد (Rounded Corners) تصاویر کادر (Border Images) پس زمینه - چندگانه (Multiple Backgrounds) پس زمینه - اندازه (Background Size) پس زمینه - مبدأ (Background Origin) پس زمینه - کلیپ (Background Clip) رنگ ها - پیشرفته (Colors - Advanced) کلیدواژه های رنگ (Color Keywords) گرادیان خطی (Linear Gradients) گرادیان شعاعی (Radial Gradients) گرادیان مخروطی (Conic Gradients) افکت های سایه (Shadow Effects) سایه جعبه (Box Shadow) افکت های متن (CSS Text Effects) فونت های سفارشی (CSS Custom Fonts) تبدیل های دو بعدی (CSS 2D Transforms) تبدیل های سه بعدی (CSS 3D Transforms) ترنزیشن ها (CSS Transitions) انیمیشن ها (CSS Animations) راهنما/تولتیپ (CSS Tooltips) استایل دهی تصویر (CSS Image Styling) مودال تصویر (CSS Image Modal) مرکزچین کردن تصویر (Image Centering) فیلترهای تصویر (Image Filters) اشکال تصویر (Image Shapes) object-fit (object-fit) object-position (object-position) ماسک گذاری - PNG (Masking - PNG) ماسک گذاری - گرادیان ها (Masking - Gradients) ماسک گذاری - SVG (Masking - SVG) دکمه ها (Buttons) صفحه بندی (Pagination) ستون های چندگانه (Multiple Columns) رابط کاربری (User Interface) تابع var() (The var() Function) بازنویسی متغیرها (Overriding Variables)
CSS

CSS — دکمه ها (Buttons)

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

استایل دکمه ها در CSS (CSS Buttons)

در این راهنما «استایل دکمه ها (Buttons)» را با CSS مرور می کنیم. سپس با ویژگی های پایه، اندازه، رنگ، گوشه های گرد، سایه، حالت غیرفعال، گروه های افقی/عمودی و افکت های هاور آشنا می شوید.

استایل دکمه ها در CSS: ویژگی های پایه

با CSS می توانید دکمه های HTML را به روش های مختلف استایل دهی کنید. پراپرتی های متداول شامل background-color، color، border، padding، border-radius، box-shadow، text-align، font-size، text-decoration و cursor هستند.

دکمه ها معمولاً با عناصر <button>، <input type="button"> یا یک <a> که شبیه دکمه استایل دهی شده ساخته می شوند.

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

نمونه ساده استایل دهی دکمه برای عناصر مختلف:

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

رنگ دکمه ها

برای پس زمینه از background-color و برای متن از color استفاده کنید.

.button1 {background-color: #04AA6D;} /* Green */ .button2 {background-color: #008CBA;} /* Blue */ .button3 {background-color: #f44336;} /* Red */ .button4 {background-color: #e7e7e7; color: black;} /* Gray */ .button5 {background-color: #555555;} /* Black */

اندازه و فاصله داخلی

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

.button1 {font-size: 10px;} .button2 {font-size: 12px;} .button3 {font-size: 16px;} .button4 {font-size: 20px;} .button5 {font-size: 24px;} .p1 {padding: 10px 24px;} .p2 {padding: 12px 28px;} .p3 {padding: 14px 40px;} .p4 {padding: 32px 16px;} .p5 {padding: 16px;}

گوشه های گرد (border-radius)

با border-radius می توانید گوشه ها را از 2px تا 50٪ گرد کنید.

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

کادر دکمه (border)

انواع کادر مثل solid، dotted و dashed را می توانید اعمال کنید.

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

افکت هاور (:hover)

با شبه کلاس :hover استایل دکمه هنگام قرارگیری ماوس تغییر می کند.

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

نکته: با transition-duration سرعت افکت هاور را مشخص کنید.

سایه دکمه (box-shadow)

با box-shadow می توانید سایه ثابت یا فقط در حالت هاور اضافه کنید.

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

دکمه غیرفعال (opacity)

برای ظاهر غیرفعال از opacity استفاده کنید و با cursor: not-allowed رفتار نشانگر را تغییر دهید.

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

عرض دکمه (width)

به صورت پیش فرض عرض با متن تعیین می شود؛ با width می توانید مقدار ثابت یا درصدی بدهید.

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

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

برای گروه بندی افقی از display: flex و برای شکست به خط بعد از flex-wrap: wrap استفاده کنید.

.btn-group {display: flex;  flex-wrap: wrap;} .btn-group .button:hover {background-color: dodgerblue;}

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

با border گروه حاشیه دار بسازید و روی همه دکمه ها اعمال کنید. برای جلوگیری از دوبل شدن کادر، :not(:last-child) را بدون border-right تنظیم کنید.

.btn-group {display: flex;  flex-wrap: wrap;} .button {border: 1px solid green;} .btn-group .button:not(:last-child) {border-right: none;}

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

برای چینش عمودی از flex-direction: column استفاده کنید.

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

دکمه روی تصویر و دکمه های انیمیشنی

می توانید دکمه را روی تصویر قرار دهید یا افکت هایی مانند پیکان در هاور، حالت فشرده روی کلیک، فید و افکت موجی اضافه کنید.

نکته: برای کنترل تناسب محتوا روی تصویر، به صفحات object-fit و object-position مراجعه کنید.

منابع و خواندن بیشتر درباره استایل دکمه ها

ماسک گذاری SVG و صفحه بندی CSS تکمیل کننده این مبحث هستند.

MDN: :hover و MDN: background-color توضیحات مرجع و مثال های بیشتر ارائه می کنند.