• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy możliwe jest ustandaryzowanie HTML i CSS?

Object Storage Arubacloud
0 głosów
351 wizyt
pytanie zadane 9 listopada 2016 w HTML i CSS przez Benek Szeryf (91,050 p.)

Obecnie piszę na swoje potrzeby stronę internetową. Staram się trzymać standardów, sięgam do dokumentacji MDN. Zdaję sobie sprawę, że większość (bo znam takie co nie) języków programowania stale wprowadza nowe standardy. Zastanawiam się jednak, czy HTML i CSS nie robią tego za wolno. Podam kilka przykładów.

Pierwszy niepokojący problem, to uspokojenie pływających divów. Oczywiście pusty, czyszczący div jest zbędny, więc warto zastosować pseudo-element :after. Według mnie to nadal taki półśrodek, ponieważ w ogóle nie powinniśmy się martwić czyszczeniem. Na szczęście twórcy zaimplementowali elastyczny układ elementów, jednak nie widzę, by polecano go na tym forum użytkownikom.

Kolejną sprawą jest wykonanie poziomego menu, dokładnie podążając za opisem na http://webkod.pl, wykonałem podobne menu na swojej stronie. Okazało się, że jest problem z płynną animacją, opisaną w tym dziale: http://webkod.pl/kurs-css/lekcje/dzial-3/animowanie-rozwijanej-czesci-menu-css. Na podanej podstronie ten aspekt jest nawet opisany, chodzi o właściwość visibility. W wielkim skrócie mówiąc, pomimo zastosowania tej sztuczki, czasem zdarzało się tak, że tło nierozwiniętego menu nadal było widoczne, gdy kursor opuścił menu (lista podrzędna się zwijała, tło pozostawało). Uporałem się z tym, dodając właściwość opacity: 0, gdy lista była zwinięta. Na tym przykładzie chcę pokazać, że część przeglądarek, a nawet indywidualnych komputerów, zachowuje się nieprzewidywalnie.

Trzecia sprawa dotyczy przeglądarek. Czy nie powinno być tak, że to ich twórcy przystosowują się do standardów? OK, pewnie standardy tworzą osoby, które piszą przeglądarki... Ale dlaczego by się nie dogadać i to wszystko usystematyzować? Co więcej, dlaczego przyjęło się dbać o kompatybilność wsteczną? Ja wiem, lepiej jak strona ma szersze grono odbiorców, ale czy naprawdę nie powinno się wymusić instalowania nowszych przeglądarek? Tak się dzieje z systemami operacyjnymi czy choćby grami. Nikt się nie przejmuje, że na wolnym komputerze te programy nie zadziałają, a czemu webmasterzy mają być gorsi? Zresztą nowe przeglądarki nie są aż tak wymagające jak gry, w dodatku są darmowe. Przez takie podejście nikt nie będzie używał elastycznych elementów, bo dla < IE11 one nie zadziałają.

Kiedyś tworzyłem proste strony, nie oglądając się na standardy, teraz staram się do tego przyłożyć i niepokoi mnie ten chaos. Praca webmastera jest naprawdę wymagająca. Czy ktoś z Was miał podobne przemyślenia albo potrafi uzasadnić skąd się bierze taki bałagan:

background: -webkit-linear-gradient(top left, red, red 60%, blue);
background: -moz-linear-gradient(top left, red, red 60%, blue);
background: -o-linear-gradient(top left, red, red 60%, blue);
background: linear-gradient(to bottom right, red, red 60%, blue);

skoro gradient wprowadzono przed 2010 rokiem? Gdzie tu logika w tym wszystkim? Szczerze mam nadzieję, że gdzieś jest błąd w moim rozumowaniu.

1 odpowiedź

+2 głosów
odpowiedź 9 listopada 2016 przez Comandeer Guru (601,590 p.)

Zastanawiam się jednak, czy HTML i CSS nie robią tego za wolno. 

W chwili, gdy pisałeś te słowa, co najmniej kilkanaście różnych rzeczy zmieniono w HTML Living Standard. Nie, w HTML-u i CSS-ie rzeczy zmieniają się za szybko

Pierwszy niepokojący problem, to uspokojenie pływających divów. Oczywiście pusty, czyszczący div jest zbędny, więc warto zastosować pseudo-element :after. Według mnie to nadal taki półśrodek, ponieważ w ogóle nie powinniśmy się martwić czyszczeniem.

Ale pływające divy nigdy nie miały służyć do tworzenia layoutu, więc ten problem nigdy w standardzie nie istniał. A teraz się go nie ruszy, bo nie można psuć Sieci.

Na szczęście twórcy zaimplementowali elastyczny układ elementów, jednak nie widzę, by polecano go na tym forum użytkownikom.

Bo nikt tutaj nie słyszał o czymś takim. Chyba że mówisz o flexboxie – wówczas tak, polecam go bardzo często. Niemniej gdy trzeba wspierać IE, to jest problem. 

Na tym przykładzie chcę pokazać, że część przeglądarek, a nawet indywidualnych komputerów, zachowuje się nieprzewidywalnie.

No i co zrobisz? Wiesz dlaczego istnieje standaryzacja? Bo przeglądarki i komputery zachowują się nieprzewidywalnie. Gdyby tak nie było, standardy by nie istniały ;)

Trzecia sprawa dotyczy przeglądarek. Czy nie powinno być tak, że to ich twórcy przystosowują się do standardów? OK, pewnie standardy tworzą osoby, które piszą przeglądarki... Ale dlaczego by się nie dogadać i to wszystko usystematyzować?

Zmartwię Cię: standardy przystosowuje się do przeglądarek, żeby nie wprowadzać do nich fikcji. Z tego też powodu np. algorytm nagłówków oparty na sekcjach stał się nienormatywny, bo nikt go nie zaimplementował. Z drugiej strony: pokaż mi jakiś standard, którego przeglądarki nie przestrzegają umyślnie a nie jest to bug.

Co więcej, dlaczego przyjęło się dbać o kompatybilność wsteczną? Ja wiem, lepiej jak strona ma szersze grono odbiorców, ale czy naprawdę nie powinno się wymusić instalowania nowszych przeglądarek?

No to zmuś usera, powodzenia życzę ;)

Przez takie podejście nikt nie będzie używał elastycznych elementów, bo dla < IE11 one nie zadziałają.

PE się kłania. Można z powodzeniem napisać CSS, który będzie działał wszędzie I użyć flexboxa.

Co do gradientu: chyba nikt już nie używa prefiksów do tego, bo przeglądarki, które ich wymagają, są bardziej martwe od IE 6.

komentarz 9 listopada 2016 przez Pietrak Pasjonat (18,850 p.)
Jak to jest z tym flexboxem? Wpychać go wszędzie, gdzie się da czy też stosować jako ostateczność, gdy za pomocą float nie da się tego wykonać?
komentarz 9 listopada 2016 przez kubaapk Nałogowiec (44,270 p.)
Ja osobiście jestem zdania, że wpychać go wszędzie o ile nie trzeba wspierać IE.
komentarz 9 listopada 2016 przez HaKIM Szeryf (87,590 p.)
A ja jestem zdania, że powinieneś go wpychać tam... gdzie jest Ci potrzebny. Jak ze wszystkim w programowaniu.
komentarz 9 listopada 2016 przez Pietrak Pasjonat (18,850 p.)
@HaKIM tyle, że w programowaniu(i kodowaniu) jedną rzecz można wykonać na wiele sposobów - lepszych lub gorszych.

Ja osobiście stosuję go tam, gdzie nie mogę wykonać tego na inny sposób np. gdy chce ustalać kolejność w css lub potrzebuję mieć 2 równe wiersze.
komentarz 9 listopada 2016 przez HaKIM Szeryf (87,590 p.)

 @HaKIM tyle, że w programowaniu(i kodowaniu) jedną rzecz można wykonać na wiele sposobów - lepszych lub gorszych.  

Nie sądzę, aby to kolidowało z moim stwierdzeniem.

Ja osobiście stosuję go tam, gdzie nie mogę wykonać tego na inny sposób np. gdy chce ustalać kolejność w css lub potrzebuję mieć 2 równe wiersze.

Dokładnie, czyli był Ci potrzebny. :)

1
komentarz 9 listopada 2016 przez Comandeer Guru (601,590 p.)

A ja rzeknę tak: dla starych browserów można serwować uproszczony układ strony, a dla lepszych z flexboxem – i to z jednego pliku CSS. Wszystko dzięki at-rule supports.

Podobne pytania

0 głosów
1 odpowiedź 231 wizyt
pytanie zadane 16 marca 2017 w Sprzęt komputerowy przez Promcio Użytkownik (690 p.)
0 głosów
2 odpowiedzi 521 wizyt
pytanie zadane 4 grudnia 2017 w HTML i CSS przez R.orlinski Mądrala (5,490 p.)
0 głosów
1 odpowiedź 523 wizyt

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...