2009-11-17 2 views
7

Pracowałem z Modernizr i jest to wspaniały zasób, po prostu świetny projekt. Jednak sposób Używam go jest:Dlaczego warto używać Modernizr, jeśli przeglądarki ignorują CSS, których nie rozumieją?

  • Projekt z bazowym (IE) CSS
  • Enhance z efektów CSS3 dla zaawansowanych przeglądarek

ile miałem zamiar całkowicie zastąpić style na podstawie zachowania, dlaczego nie powinienem po prostu dodawać do arkusza stylów takich stylów jak cienie, gradienty i krawędzie? Jeśli przeglądarka nie zrozumie reguły, po prostu ją zignoruje, prawda? A jeśli JavaScript jest wyłączony, i tak nie mogę go użyć.

Czy powinienem używać powyższej metody w typowym przypadku i Modernizr dla przypadków zaawansowanych? Czy jest coś złego w poleganiu na przeglądarkach, aby ignorować to, czego nie rozumieją?

Odpowiedz

6

Możesz używać elementów (html 5), których niektóre przeglądarki jeszcze nie obsługują. Możesz także określić styl zastępczy.

Wiele przeglądarek tworzy własne reguły CSS dla takich rzeczy jak transformacja tekstu. Za pomocą Modernizr możesz napisać jedną regułę, a Modernizr umożliwia to wielu przeglądarkom.

Myślę, że to po prostu wygoda.

+2

To świetny punkt - nie trzeba zadzierać z rozszerzeniami -webkit, -moz i -khtml i trzeba pomyśleć o tym, które przeglądarki obsługują funkcje CSS3. Nie wiem, dlaczego mi się to nie przydarzyło. – Don

+0

Dlaczego nie używać https://github.com/codler/jQuery-Css3-Finalize, aby dodać prefiks, jeśli w ogóle używasz JS? – JKirchartz

+0

Problem z rozwiązaniami JavaScript, takimi jak ta, ma miejsce wtedy, gdy użytkownik wyłącza javascript. Lepszy sposób na przeglądanie określonych rzeczy po stronie serwera, jest szybszy, cachable i bardziej niezawodny. Zrobiłem to i działa idealnie. Po prostu napisz swój CSS na przykład w Firefoksie i nie przejmuj się innymi przeglądarkami, ponieważ CSS zostanie automatycznie przetłumaczony! – Codebeat

16

Masz całkowitą rację, że starsze przeglądarki całkowicie ignorują to, co jest w CSS3.

powodu, że robię moje CSS3 w moich podstawowych selektorów .. ale często korzystają z zajęć bez posiadają modernizr do obsługi starszego sprawę Przeglądarka:

div.box { 
     height:50px; 
     -moz-box-shadow: 3px 3px 5px #555; 
     -webkit-box-shadow: 3px 3px 5px #555; } 

div.box span.fakeshadow { 
     display:none; 
} 

.no-boxshadow div.box span.fakeshadow { 
     display:block; background: url('fakeshadowbg.png'); 
} 

Mam nadzieję, że czyni go bardziej jasne .

+3

Pochodząc od jednego z twórców Modernizatora, musiałbym powiedzieć "tak", co czyni go bardziej zrozumiałym. Doskonały przykład. Wszystkie 3 przypadki, o które się martwiłem (przeglądarka obsługująca, starsza przeglądarka, starsza przeglądarka z wyłączonym JavaScriptem) są obsługiwane, a strona poniża się z gracją. – Don