2013-05-22 11 views
11

próbuję umieścić animowane gif nad jpg, i wydaje się działać w większości przeglądarek (IE, Firefox, iPhone, iPad), ale nie jest dziwne pole wokół animowanego gif w chrome on windows, firefox dla mac i chrome dla mac.Odd pudełko w chromie

W końcu udało mi się rozwiązać problem za pomocą kilku dziwnych hacków, takich jak wymuszenie zmiany rozmiaru obrazu do 99,9%, używając maski, aby umożliwić wyświetlanie tylko części animowanego gifu, ale czy istnieje lepsze/czystsze rozwiązanie dla przeglądarki krzyżowej ?

Zasadniczo zacząłem od div i obrazu w środku, z których oba są responsywne.
HTML:

<div> 
    <img src="http://www.enjoyillinois.com/images/animations/Garden_of_Gods_anim_full.gif" /> 
</div> 

CSS:

div { 
    background-image: url("http://www.enjoyillinois.com/images/animations/Garden_of_Gods_bg.jpg"); 
    background-repeat: no-repeat; 
    background-size: cover; 
} 

img { 
    width:100%; 
    display:block; 
} 

Oto jsfiddle: http://jsfiddle.net/GyDCx/7/

+1

całkiem fajny gif tam masz. I plus 1 za prawidłową konstrukcję pytania – DextrousDave

+0

Zauważyłem, że w Win7 Chrome znika po zmianie rozmiaru okna. Wiem, że nie jest to rozwiązanie, ale być może prowadzi ... –

+0

Tak, znika, gdy zmieniasz rozmiar okna. Odejdzie również, jeśli połączysz z nim animację, która wyzwala jakąkolwiek zmianę rozmiaru, czyli dopóki nie przewiniesz jej z ekranu iz powrotem na ekranie, a następnie ponownie się pojawi. –

Odpowiedz

7

Jest to problem skalowania krawędź obrazu, rozwiązanie używam w takich przypadkach jest:

img{ image-rendering:-webkit-optimize-contrast; } 

To wyłącza rozmyte krawędzie podczas skalowania obrazów. http://jsfiddle.net/GyDCx/31/

+0

+1 Wygląda na to, że to naprawia. Przydatna sztuczka! –

+0

Wygląda na to, że naprawia go w przeglądarce Chrome na moim komputerze z systemem Windows. Muszę to powtórzyć, kiedy wrócę do biura we wtorek na komputery Mac. Właśnie tego szukałem! –

+0

To naprawdę naprawia problem na wszystkich platformach, które testowałem. Niezła odpowiedź! –

2

Można spróbować:

-webkit-transform: translateZ(0px); 

Będzie to naprawić w Chrome.

patrz: http://jsfiddle.net/PvnmK/7/

PS1: również przetestowane na Safari i Firefox.

+0

Nie widzę granicy, nawet jeśli zmieniam rozmiar na chrome 27.0.1453.93 lub nawet 17.0.963.66 w tej kwestii – JayMoretti

+0

masz na myśli część, w której się nie zgadza? o to właśnie chodzi. – JayMoretti

+0

Z @Jay Moretti Fiddle, jeśli sprawisz, że twoje 'div' będzie' inline-block; ', zakładam, że problem zniknął. Ale tak, gdy się rozciągasz, obrazy nie są skalowane równomiernie - @ user1846192 – Nitesh

Powiązane problemy