استایل لینکها
استایلدهی به لینکها در CSS: hover، active، visited، حذف زیرخط و طراحی دکمهای
استایل لینک در CSS
لینکها (<a>) تعاملیترین عناصر وب هستند. CSS چهار حالت مختلف برای لینکها ارائه میدهد که هرکدام باید بهدرستی استایل شوند.
چهار حالت لینک (Pseudo-classes)
| شبهکلاس | توضیح | ترتیب |
|---|---|---|
:link | لینک بازدیدنشده | ۱ |
:visited | لینک بازدیدشده | ۲ |
:hover | ماوس روی لینک | ۳ |
:active | در حال کلیک | ۴ |
قانون LVHA — ترتیب مهم است!
اگر ترتیب را رعایت نکنید، استایلها بازنویسی میشوند:
/* ترتیب صحیح: L → V → H → A */
a:link { color: blue; }
a:visited { color: purple; }
a:hover { color: red; }
a:active { color: orange; }
استایل پایه لینک
a {
color: #3498db;
text-decoration: none; /* حذف زیرخط */
transition: color 0.3s; /* انیمیشن نرم */
}
۱. استایل Hover
a:hover {
color: #e74c3c;
text-decoration: underline;
}
/* افکت زیرخط انیمیشنی */
a {
position: relative;
}
a::after {
content: "";
position: absolute;
bottom: 0; left: 0;
width: 0; height: 2px;
background: #3498db;
transition: width 0.3s;
}
a:hover::after {
width: 100%;
}
۲. لینک دکمهای (Button Link)
.btn-link {
display: inline-block;
padding: 10px 30px;
background: #3498db;
color: white;
border-radius: 25px;
text-decoration: none;
transition: all 0.3s;
}
.btn-link:hover {
background: #2980b9;
color: white;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(52, 152, 219, 0.4);
}
۳. لینک ناوبری (Navigation Links)
nav a {
color: #333;
padding: 10px 15px;
border-radius: 4px;
transition: background 0.3s;
}
nav a:hover {
background: #f0f0f0;
}
nav a.active {
background: #3498db;
color: white;
}
۴. استایل Lunk External (خارجی)
برای لینکهای خارجی میتوان آیکون اضافه کرد:
/* آیکون لینک خارجی */
a[href^="http"]::after {
content: " ↗";
font-size: 0.8em;
opacity: 0.7;
}
۵. استایل لینک ایمیل و تلفن
a[href^="mailto:"] {
color: #e74c3c;
}
a[href^="tel:"] {
color: #2ecc71;
}
۶. لینک Breadcrumb (مسیر سایت)
.breadcrumb a {
color: #3498db;
text-decoration: none;
}
.breadcrumb a:hover {
text-decoration: underline;
}
.breadcrumb .separator {
margin: 0 8px;
color: #999;
}
دسترسپذیری لینک
- کنتراست رنگ متن و پسزمینه حداقل ۴.۵:۱
- اندازه کلیک حداقل ۴۴×۴۴ پیکسل
- متن لینک باید معنادار باشد — «اینجا کلیک کنید» نه!
- لینکهای بازدیدشده باید قابل تشخیص باشند
:focus-visibleبرای کاربران کیبورد
بهترین شیوهها
- زیرخط پیشفرض را فقط برای لینکهای متن حذف کنید، نه منوها و دکمهها
- همیشه
:hoverو:focusرا استایل دهید - از
transitionبرای تغییر نرم رنگ و افکت استفاده کنید - برای لینکهای مهم از استایل دکمهای استفاده کنید
- رنگ لینک باید با رنگ برند هماهنگ باشد
- کنتراست رنگ را برای دسترسپذیری رعایت کنید
نکات مهم
- ترتیب LVHA (
:link :visited :hover :active) حیاتی است :visitedفقط برخی ویژگیها را تغییر میدهد (امنیت)cursor: pointerروی لینکها پیشفرض است — نیازی به تنظیم نیست- برای لینکهای دکمهای،
display: inline-blockیاinline-flexلازم است - استایل
:focusرا هرگز بدون جایگزین حذف نکنید
این مبحث بخشی از دوره آموزش کامل CSS است.