2012-11-17 22 views
10

rozważyć to warunki dla mojej stronie internetowej:Jakie są wady korzystania z danych URI zamiast obrazów ikonek?

  • Nie popieram IE8 i poniżej tak Wsparcie przeglądarka nie jest problemem.

  • Używam również gzip, który pozwoliłby uniknąć przeciążenia danych w CSS w przypadkach, w których I kopiuje i wkleja obrazy URI danych w moim pliku CSS.

  • Mam tylko jeden plik CSS wygenerowany przez LESS.

  • Aby było to łatwiejsze, używam zmiennej LESS dla każdego identyfikatora URI danych obrazu.

  • kładę obrazy zmienne w oddzielnym pliku LESS aby moje codebase czysty

Z tym wszystkim ja wciąż nie jestem pewien, czy jest to najlepsze podejście do ładowania obrazów. Ładowanie małych obrazów za pomocą tego podejścia zmniejsza liczbę żądań HTTP, a także nie musimy utrzymywać obrazu sprite.

Czy w tym podejściu są jakieś wady?

+0

Hmm, sprytnie. Lubię to. – tjameson

+1

Niektóre urządzenia przenośne/przeglądarki nie buforują plików, których rozmiar przekracza pewien rozmiar (chyba iPhone to 24kb?). Jeśli masz bardzo duży plik CSS w wyniku URI danych, możesz strzelać sobie w tym miejscu. – cimmanon

+0

@cimmanon Uważam, że tak nie jest w roku 2012. Sprawdź [to] (http://www.yuiblog.com/blog/2010/07/12/mobile-browser-cache-limits-revisited/) – Mohsen

Odpowiedz

2

Jeśli jakikolwiek obraz się zmienia, cały plik css musi się zmienić. Powoduje to przerwanie pamięci podręcznej HTTP. W przypadku obrazu sprite sam plik css byłby obsługiwany z pamięci podręcznej, a tylko zmieniony obraz musiałby zostać pobrany ponownie.

Może być lepiej wygenerować plik CSS tylko dla danych: obrazy URI, a inny dla zwykłych rzeczy CSS. W ten sposób regularne aktualizacje css nie wymagają ponownego pobierania danych: obrazów uri.

Drugi problem dotyczy obrazów na pierwszym planie, które są podawane z tagiem <img> w html. Jeśli jest to często używany obraz, niepotrzebnie zwiększy rozmiar HTML.

+0

+1 za wskazanie zmiany pliku CSS. Nie używam tych danych URI do tworzenia elementów "img" – Mohsen

Powiązane problemy