2013-04-18 21 views
5

Mam dziwny problem dzisiaj, w Chrome, kiedy skupiam się na elemencie, który jest absolutnie umieszczony poza ukrytym kontenerem, staje się widoczny w przeglądarce Chrome (Mac).Jak zapobiec wyświetlaniu ukrytego elementu po ustawieniu ostrości w przeglądarce Chrome?

Zrobiłem skrzypce do zilustrowania problemu: http://jsfiddle.net/GHgtc/

Html

<div id="container"> 
     <a id="inner-button" href="#">You can see me !</a> 
    </div> 

CSS

#container{ 
    display: block; 
    background: blue; 
    width: 200px; 
    height: 30px; 
    position: relative; 
    overflow: hidden; 
} 

#inner-button{ 
    display: block; 
    background: red; 
    width: 20px; 
    height: 20px; 
    position: absolute; 
    top: 5px; 
    right: -20px; 
} 

Dzięki za pomoc!

Pozdrawiam!

+1

OK, to jest przerażające ... – xpy

+1

Nawet jeśli użyjesz '# wewnętrznego przycisku: ostrość {w prawo: -40px;}' stanie się widoczny, gdy straci ostrość. – xpy

+0

Dla informacji, to samo dotyczy również FF. – xpy

Odpowiedz

2

Użyj tabindex = "- 1" na swoim "wewnętrznym przycisku". To uniemożliwi skupienie. http://jsfiddle.net/GHgtc/2/

<input placeholder="focus on me then press tab" type="text"> 
<div id="container"> 
    <a id="inner-button" tabindex="-1" href="#">You can see me !</a> 
</div> 

UPDATE:

zdałem sobie sprawę, nie ma innej możliwości rozwiązania problemu podczas pracy na jakiejś kwestii ostrości z moich własnych. Możesz użyć z-index: -1, jeśli fokus, którego potrzebujesz, ma zostać wywołany później przez zdarzenie javascript.

#inner-button{ 
    display: block; 
    background: red; 
    width: 20px; 
    height: 20px; 
    position: absolute; 
    top: 5px; 
    right: -20px; 
    z-index:-1; 
} 

http://jsfiddle.net/GHgtc/3/

że zachowa ona aktywowana ale ukryte. I możesz uczynić ją widoczną z powrotem z dynamicznym z-index: 0.

+0

Cześć, tak, doszedłem do pracy z tym rozwiązaniem, ale zapobiega to skupieniu się i to jest niechciane. Problem polega na tym, jak skupić się na fakcie bez tego dziwnego efektu ubocznego ... – Yukulelix

+2

Ah well. Link do zakotwiczenia zostanie skupiony, jeśli się do niego podłączysz, jest to zachowanie związane z dostępnością wymaganą dla czytników ekranu lub nawigacji "tylko na klawiaturze". To jest normalne. Wygląda na to, że Safari pokazuje go tylko z uniwersalną pomocą dostępu w ... Jeśli chcesz ukryć ten wewnętrzny przycisk, aż pojawi się inne zdarzenie, a może najpierw ukryć je pod widocznością: ukryte; ? Twoja pozycja: absolutna; Metoda technicznie nie ukrywa tego przycisku w tej chwili. Tylko widoczność: ukryta; lub wyświetlacz: brak; ukryje go, gdy się skupi. To znaczy, że link zogniskowany będzie zawsze widoczny z powodu dostępności. – hexalys

Powiązane problemy