Tworzenie CSS dla jednej strony internetowej do obsługi wszystkich przeglądarek w innej wersji jest naprawdę trudne. W szczególności musi mieć skonfigurowane różne przeglądarki. Zastanawiam się, czy można przetestować CSS i upewnić się, że działa on we wszystkich przeglądarkach bez otwierania każdej przeglądarki i ręcznie sprawdzać układ? lub Czy istnieje sposób szybkiego lub standardowego to zrobić?Jak upewnić się, że CSS działa dobrze we wszystkich przeglądarkach bez testu wzroku w każdej przeglądarce?
Odpowiedz
- Use a CSS Reset stylesheet
- Use good CSS frameworks (plan, boilerplate itp)
- This is not possible.
Tam naprawdę nie jest to standardowy sposób to zrobić - to jest po prostu natura bestii; jednak Adobe pracuje obecnie nad BrowserLabs, które powinno pomóc rozwiązać ten dokładny problem.
kilka ważnych rzeczy, aby zacząć grę na swojej drodze:
- Use a DOCTYPE lub będziesz rzucać przeglądarek w trybie quirks.
- Reset your CSS dzięki czemu można zastosować style ty chcesz elementów.
- Use a Javascript library - popularny wśród tych części jest jQuery i jest tym, który osobiście polecam. Jednak nie ma znaczenia, z którym z nich korzystasz tak długo, jak go używasz. Wielu inteligentnych facetów poświęciło wiele godzin na zajmowanie się wszystkimi niezgodnościami między przeglądarkami. Próba zrobienia wielu dynamicznych rzeczy na twojej stronie z czystym JavaScriptem graniczy z masochistycznymi.
Gdy zacząłem robić te rzeczy, moja strona działa tak samo w różnych przeglądarkach. Niezależnie od tego, czy chcesz je wszystkie sprawdzić, musisz mieć . Po prostu nie da się tego obejść.
+1 Dobra uwaga na doctype i bibliotekach JS. –
Byłoby miło, gdyby było zautomatyzowane narzędzie do tego. Niestety, jedynym sposobem na stwierdzenie, czy coś jest poprawne wizualnie, jest patrzenie na to.
Istnieją usługi (takie jak BrowserShots), które odwiedzą Twoją witrynę w różnych przeglądarkach i wykonają zrzut ekranu, a następnie pozwolą Ci pobrać plik zawierający wszystkie wizualizacje Twojej witryny, ale wciąż musisz zweryfikować je ręcznie.
Komputery nie bardzo dobrze mówią, czy coś wygląda "ładnie" automatycznie, czy też wszystkie przeglądarki zawsze robią dokładnie to, co masz na myśli (sprawiają, że rzeczy są ładne).
Jeśli chcesz przetestować JavaScript, możesz wypróbować pakiet testowy o nazwie Selenium.
W przyszłości można zajrzeć do projektu rozpoczętego przez twórcę jQuery pod nazwą Test Swarm, który wygląda obiecująco, ale wciąż jest w fazie testowania i może nie zostać wydany z powodu kosztów związanych z przepustowością. Umożliwiłoby to przetestowanie kodu JavaScript w każdej głównej przeglądarce na każdej dużej platformie przy użyciu systemu rozproszonego. Nadal jest to jednak marzeniem ze względu na pewne komplikacje związane z takim systemem.
Nie możesz naprawdę zaokrąglić ludzkich testów interfejsu użytkownika.Zgadzam się z innymi, że powinieneś być zgodny ze standardami i zresetować css.
Rzadko otrzymujesz HTML + CSS, aby renderować dokładnie to samo we wszystkich przeglądarkach i na wszystkich platformach, wyłącznie ze względu na specyfikę poszczególnych przeglądarek. Ale tylko dlatego, że występują niewielkie różnice w renderowaniu, nie musi oznaczać, że coś jest nie tak, jest to dobry powód dla ludzkich testów interfejsu użytkownika.
- Upewnij się, że zadeklarowałeś typ dokumentu.
- Użyj resetowania css.
- Unikaj używania szerokości i wypełnienia (lewej i prawej) na tym samym elemencie, gdzie możesz.
- oczyścić kod w HTML i css.
- Nie używaj marginesu w lewo i w prawo w przypadku elementów pływających i używaj nadrzędnego przelewu: ukryty, wyświetlacz: wbudowany i wzrost: 1%, jeśli rodzic nie ma już wzrostu.
- Nie podawaj elementu z marginesem na górze ani z marginesem, ale tylko margines-górny lub
margin-bottom. Ponieważ marginesy sąsiednich elementów zapadają się jeden na drugi, co sprawia, że pozycjonowanie jest nieco nieprzewidywalne dla nowicjuszy. - Nie należy polegać na indeksie Z, chyba że wymaga tego skrypt.
<!--[if lt IE 9]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script> <![endif]--> <script type="text/javascript" src="js/html5shiv.js" ></script> <script type="text/javascript" src="js/html5.js" ></script>
można pobrać shiv.js tworzą to browser compact
przeglądarki narzędzia do testowania Kompatybilność:
Proponuję za pomocą jednego z gotowym do użytku Front-End ramami rozwoju jak Twitter Bootstrap lub Foundation. Oba są dobrze udokumentowane i przetestowane, więc zmniejszy to ból testowania.
Zawierają one:
CSS Reset/Normalizacja
Gotowy do użycia składników (przyciski, Formularz Elementy dietetyczne ... itd).
Układ siatki (który jest idealnym sposobem na uporządkowanie rzeczy na twojej stronie internetowej).
JavaScript.
Oczywiście trzeba będzie zrobić własne badania, jak dostosować te ramy, w uzupełnieniu do wszystkich narzędzi wymienionych powyżej, proponuję IE-Tester, naprawdę niesamowite narzędzie do debugowania dla IE (co jest źródłem bólu) .
Wreszcie, w trosce o perfekcję, lepiej przetestować swoją stronę internetową (jeśli to możliwe, jak to tylko możliwe), krzyżując się ze wszystkimi przeglądarkami i urządzeniami, szczególnie jeśli wykonujesz responsywny projekt.
Nie masz wyboru, musisz to zrobić! Właśnie dlatego wynagrodzenie projektantów stron internetowych jest zwykle wysokie x-)
- 1. Tworzenie efektów przejść CSS działa we wszystkich przeglądarkach
- 2. CSS: Wyłącz ligatury czcionek we wszystkich przeglądarkach
- 3. Przerwanie strony CSS nie działa we wszystkich przeglądarkach.
- 4. zastępczy nie działa poprawnie we wszystkich przeglądarkach
- 5. Co może spowodować, że CSS nie będzie ładowany sporadycznie we wszystkich przeglądarkach?
- 6. Jquery $ get/$ ajax nie działa we wszystkich przeglądarkach
- 7. Czy łączysz się z CSS lub JavaScript bez protokołu obsługiwanego we wszystkich przeglądarkach?
- 8. Jak sprawić, by pudełko wypełniło całą stronę we wszystkich przeglądarkach?
- 9. Czy ustawienie document.domain działa we wszystkich (większości) przeglądarkach?
- 10. jQuery .focus() działa inaczej w każdej przeglądarce. Jak temu zapobiec?
- 11. Jak wyświetlać niestandardowe paski przewijania we wszystkich przeglądarkach?
- 12. Niestandardowe menu rozwijane CSS Wybierz, które działa we wszystkich przeglądarkach IE7 + FF Webkit
- 13. Jak upewnić się, że zmienna jest obiektem?
- 14. toLocaleString() nie jest obsługiwany we wszystkich przeglądarkach?
- 15. Ukrywanie paska adresu we wszystkich przeglądarkach
- 16. Jak się upewnić, że przesyłają określone pliki?
- 17. Jak upewnić się, że funkcja re.findall() zatrzymuje się we właściwym miejscu?
- 18. Czy to prawda, że animacja GIF działa w tym samym wątku, co javascript we wszystkich popularnych przeglądarkach?
- 19. Czy można uzyskać spójność wysokości linii we wszystkich przeglądarkach?
- 20. urllib2 zwraca 404 stronę, która wyświetla się dobrze w przeglądarkach.
- 21. Jak mogę się upewnić, że funkcja strtol() powiodła się?
- 22. Jak mogę się upewnić, że główny wątek kończy się po zakończeniu wszystkich pozostałych wątków?
- 23. Jak upewnić się, że monit uruchamia się podczas uruchamiania systemu?
- 24. Jak upewnić się, że zaznaczony tekst opcji wyrównuje się w środku w IE?
- 25. Czy element markizy jest już obsługiwany we wszystkich przeglądarkach?
- 26. W jaki sposób dynamicznie tworzysz przycisk opcji w Javascript, który działa we wszystkich przeglądarkach?
- 27. Jak upewnić się, że Rails API jest zabezpieczony przed CSRF?
- 28. Krzyżyk tekstu CSS 3 w przeglądarce krzyżowej
- 29. Jak mogę się upewnić, że usunę obiekt w swoim singletonie przed zamknięciem aplikacji?
- 30. Jak zrobić, aby tekst-shadow i box-shadow używały koloru tekstu we wszystkich przeglądarkach?
Wznowienie dla # 3! – Tom
Wszystkie przeglądarki mają wszystkie własne dziwactwa. Nie jestem pewien, czy kiedykolwiek zobaczymy dzień, w którym wszystkie przeglądarki renderują HTML dokładnie tak samo. –
Mam ochotę na -1 dla # 2 ... Struktury CSS są, z braku lepszego słowa, głupie. –