2016-04-06 23 views
0

Bu öğeleri yalnızca CSS ile birlikte oluştururken sorun yaşıyorum. Küçük, beyaz dolu bir daire oluşturdum. Ama ben bu çemberin :hover etkisi üzerinde beyaz bir yuvarlak sınır olmasını istiyorum. o :hover üzerinde böyle görünmeliCSS, daire ve kenarlık arasında boş boşluk bırakılarak, dolduktan çevrelerin çevresine kenarlık oluşturur

Thats:

enter image description here

Burada birkaç fikir buldum ama bunların hiçbiri çalışmıyor gibi görünüyor. outline'u kullanmayı denedim ama sonunda box-shadow ile yapılması gerekmiş gibi hissediyorum?

My Result (Fiddle)

alternatif bir çözüm görüntüleri yüklemek olacaktır: Şu anda

ben bu sonucu var. Bu resmi oluşturabilir ve :hover’da gösterebilirim. Ama bu en iyi uygulama değil, bu hedefin CSS ile nasıl başarılacağını bilmek isterim.

Teşekkürler.

cevap

2

Kullanım iki kutu gölgeleri bir yerine:

.navi-dots li { 
 
    width: 8px; 
 
    height: 8px; 
 
    margin: 25px 0 25px 0; 
 
    background-color: #ffffff; 
 
    -webkit-border-radius: 50px; 
 
    /* Safari, Chrome */ 
 
    -moz-border-radius: 50px; 
 
    /* Firefox */ 
 
    border-radius: 50px; 
 
    /* CSS3 */ 
 
} 
 

 
.navi-dots li:hover { 
 
    box-shadow: 0 0 0 6px #000, 0 0 0 7px #ffffff; 
 
} 
 

 
body { 
 
    background-color: black; 
 
}
<ul class="list-unstyled navi-dots"> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
</ul>

Ve sadece eğlence için ...

.navi-dots li { 
 
    width: 8px; 
 
    height: 8px; 
 
    margin: 25px 0 25px 0; 
 
    background-color: #ffffff; 
 
    -webkit-border-radius: 50px; 
 
    /* Safari, Chrome */ 
 
    -moz-border-radius: 50px; 
 
    /* Firefox */ 
 
    border-radius: 50px; 
 
    /* CSS3 */ 
 
    
 
    transition: all .2s ease; 
 
    box-shadow: 0 0 0 0 #000, 0 0 0 0 #ffffff; 
 
} 
 

 
.navi-dots li:hover { 
 
    box-shadow: 0 0 0 6px #000, 0 0 0 7px #ffffff; 
 
} 
 

 
body { 
 
    background-color: black; 
 
}
<ul class="list-unstyled navi-dots"> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
    <li></li> 
 
</ul>

+0

sayesinde bir sürü çalışma ile tamamlandı kodudur. 10 dakika içinde kabul eder. – Roman

+0

FWIW eşya kutusunu değiştirebilmeniz gerekir: 0 0 0 0 # 000, 0 0 0 0 #ffffff; kutu gölgeli: yok; ' – Danield

+0

Muhtemelen doğru. İlk CSS3 günlerinde soruna neden olmadığımı düşündüğüm geçiş için mantıklı bir başlangıç ​​değeri belirlemeye eğilimliyim. Alışkanlık ben – Turnip

1

Eğer css kullanabilirsiniz Bu burada için :before Özellik Örnek https://jsfiddle.net/qvjs66v5/1/ Yani basit

.navi-dots li { 
    width: 8px; 
    height: 8px; 
    margin: 25px 0 25px 0; 
    background-color: #ffffff; 
    -webkit-border-radius: 50px; 
    /* Safari, Chrome */ 
    -moz-border-radius: 50px; 
    /* Firefox */ 
    border-radius: 50px; 
    /* CSS3 */ 
    position:relative; 
} 
.navi-dots li:before { 
    position:absolute; 
    width:16px; 
    height:16px; 
    top:-6px; 
    left:-6px; 
    border-radius:100%; 
    border:2px solid #fff; 
    display:none; 
    content:""; 
} 
.navi-dots li:hover:before { 
    display:block 
} 

body { 
    background-color: black; 
} 
İlgili konular