CSS Konuları

CSS Hover

10/08/2025

:hover CSS’te bir pseudo-class (yarı sınıf) olup, fare imlecinin (mouse pointer) bir HTML elemanının üzerine gelmesi durumunda uygulanacak stilleri tanımlar.

Kullanıcı ile etkileşim eklemek, görsel geri bildirim sağlamak ve UX’i geliştirmek için kullanılır.

Genel Olarak :hover Özelliğinin Kullanım Alanları

  • Menülerde açılır (dropdown) tasarımlar
  • Link ve buton vurgulama
  • Görsellerde zoom / opaklık efekti
  • Arka plan veya border animasyonları
  • Form alanı etkileşimi

Basit :hover Kullanımı

Aşağıdaki örnekte fare imleci “Basit :hover Kullanımı” yazısının üzerine gelince linkin rengi değişiyor.

a {
  color: #333;
  text-decoration: none;
}
a:hover {
  color: #007bff;
  text-decoration: underline;
}

Önizleme

Basit :hover Kullanımı

Buton Üzerinde Arka Plan Geçisi

button {
  background-color: #ff5722;
  color: white;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
button:hover {
  background-color: #1362eb;
}

transition CSS özelliği kullanılarak renk geçiş süresi uzatılabilir, böylelikle daha yumuşak bir geçiş görünümü verilebilir.

Görselde Zoom Efekti

CSS kullanarak zoom efekti vermek için detaylı anlatım için: https://juniortoexpert.com/tr/css-ile-gorsel-yakinlastirma-efekti/

<style>
.card {
    padding: 20px;
    border: 1px solid #ccc;
    display: inline-block;
    transition: background-color 0.3s ease;
}

.card-text {
    color: #333;
    transition: color 0.3s ease;
}

.card:hover .card-text {
    color: #e91e63;
}

</style>

<div class="card">
    <h3>Kart Başlığı</h3>
    <p class="card-text">Bu yazının rengi hover ile değişecek.</p>
</div>

Kart Başlığı

Bu yazının rengi hover ile değişecek.

.card:hover .card-text seçici yapısıyla, kartın hover durumunda yalnızca içindeki .card-text öğesini etkileniyor. Bu yöntem arka plan, boyut, opaklık vb. tüm stillerde kullanılabilir.

:hover ile Açılır Menü

<style>
.hover-test-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hover-test-menu > li {
    position: relative;
    background: #3498db;
    color: white;
    padding: 10px;
    cursor: pointer;
    width: 150px;
}

/* Alt menü başlangıçta görünmez */
.hover-test-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    background: #2980b9;
    width: 150px;
}

.hover-test-submenu li {
    padding: 10px;
    color: white;
}

/* Hover ile alt menüyü göster */
.hover-test-menu > li:hover .hover-test-submenu {
    display: block;
}
</style>
<ul class="hover-test-menu">
    <li>
        Ana Menü
        <ul class="hover-test-submenu">
            <li>Alt Menü 1</li>
            <li>Alt Menü 2</li>
            <li>Alt Menü 3</li>
        </ul>
    </li>
</ul>
  • Ana Menü
    • Alt Menü 1
    • Alt Menü 2
    • Alt Menü 3

:hover Kullanımında Dikkat Edilmesi Gerekenler

  • Kullanıcı geri bildirimi: Hover efektleri, tıklanabilir öğelerde mutlaka olmalı.
  • Yumuşak geçişler: transition özelliği kullanarak geçişler yumuşatılabilir.
  • Performans: Aşırı karmaşık animasyonlar tarayıcı performansını etkileyebilir.
  • Farkedilebilirlik: Hover değişiklikleri görsel olarak fark edilir olmalı, örnek olarak renk geçişlerinde kontrasta dikkat edilmeli.

Mobil (Dokunmatik) Cihazlarda :hover Çalışır Mı?

Mobil cihazlarda :hover çalışmaz.