Skocz do zawartości

Ot, ciekawostka taka


papieros

Rekomendowane odpowiedzi

Właśnie ze zdziwieniem zaobserwowałem zachowanie IE8, wcześniej tego nie zauważyłem

<div id="head">
 <img src="../img/logo.jpg" style="border:0px;margin:0px;padding:0px" />
</div>

<div id="head">
 <img src="../img/logo.jpg" style="border:0px;margin:0px;padding:0px" /></div>

Zagadka 1. Jaka jest różnica między powyższymi kodami?

Odpowiedź: W pierwszym przypadku zamykający div jest poprzedzony znakiem końca linii

Zagadka 2. Jak zachowuje się mój IE8?

Odpowiedz: Wstawia odstęp (kilka pikselowa linia) pod obrazkiem, WTF??? inne przeglądarki działają OK

Więcej nawet jeśli kod kończy się tak <img ...><br></div> nie ma odstępu (kod tożsamy z 2)

Ktoś coś takiego zaobserwował u siebie?

Odnośnik do komentarza
Udostępnij na innych stronach

@Ktoś coś takiego zaobserwował u siebie?

Tak, dawno temu ...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zapomniałeś, że strony WWW się pisze w HTML-u. XHTMLa IE8 nawet nie obsługuje (żadnej wersji), poza tym W3C nie jest zainteresowane jego rozwojem (bo nikt go nie używa). W HTML - to błąd.

Co z tego, że w XHTML-u jest wymagany. To tak samo jakbyś w języku polskim pisał nazwy miesięcy dużą literą bo plemie Ugabuga mieszkające w puszczy amazońskiej tak robi. Niby każdy będzie wiedział o co chodzi, ale do publikacji taki tekst będzie się średnio nadawał :) Mylisz po prostu 2 zupełnie różne technologie.

Dla ciebie XHTML to HTML z dodatkowym slashem po IMG :) Co prawda HTML ten dodatkowy slash toleruje. Tak samo wielu ludzi toleruje błędy ortograficzne ;)

Odnośnik do komentarza
Udostępnij na innych stronach

@slawek22 widzisz nie masz do końca racji. Co prawda obecny xhtml to przeważnie html, ale nie zmienia to faktu, że dzięki odpowiedniemu DTD tj. XHTML 1.0 pozbywamy się błędów pod IE6 w interpretacji modelu pudełka.

To że IE8 nie obsługuje XHTML nie oznacza, że nie możemy używać slasha do pustych znaczników <img /> <br /> <hr /> itp. jeżeli tylko nasze DTD jest zgodne z XHTML lub uwaga uwaga HTML 5, w którym to specyfikacja dopuszcza możliwość pisania kodu zarówno z slashami na końcu jak i bez nich.

Odnośnik do komentarza
Udostępnij na innych stronach

Tak samo jak DTD HTML4.01 Strict. Więc jaki jest sens używania niepoprawnego DTD? Jeśli można je deklarować poprawnie?

https://css.maxdesign.com.au/listamatic/about-boxmodel.htm

Co prawda obecny xhtml to przeważnie html

To tak samo jakbyś stwierdził, że "dziś język angielski to przeważnie język polski". Jak mówisz po polsku i nazywasz to angielskim to po prostu gadasz bzdury i tyle :P

XHTML nie może "być htmlem" bo to zupełnie inna technologia. Wszystko tam się robi INACZEJ, od skryptów po zestaw znaków. Po prostu powielasz obiegowo krążącą bzdurę. Ludzie sobie zmieniają nagłówek z HTML4.01 na XHTML (jakikolwiek) i mówią - "patrz robię stronki w XHTML-u". Tylko, że browser ma gdzieś to co sobie umieścisz w nagłówku dla content-type: text/html. Jedyne co tym zmienisz to HTML Quirks na HTML Strict.

DTD HTML4.01 czy XHTML nie ma znaczenie w interpretacji kodu. Jedyne co to bierze pod uwagę to validator. IE się zachowuje tak samo dla obu powyższych.

To że IE8 nie obsługuje XHTML nie oznacza, że nie możemy używać slasha do pustych znaczników

Ja jakoś nie mam dobrego zdania o takim kodzie, oznacza to jedynie, że:

* jesteś webmasterem i to tak dobrym, że nie znasz nawet nazwy technologii której używasz (to tak samo, jakby pracownik ekipy remontowej mówił na wiertarkę "młotek" bo używa jej do wbijania gwoździ) :)

* piszesz kod z błędami

* w html5 ... mówisz, że to już nie błąd. Wierzę na słowo (nie czytałem SPEC, bo nikt przy zdrowych zmysłach w tym dzisiaj nie pisze). Więc jak już wejdzie HTML5 to zamiast kodu z błędami będziesz tylko dodawał niepotrzebne slashe gdzie popadnie (nie są wymagane, więc się skończy na tym, że część tagów będzie je miała, część nie) => robił śmietnik z kodu.

To, że ktoś wymyślił specyfikacje dla HTML i XHTML a ktoś inny opracował dobre praktyki programistyczne też nie znaczy, że musimy je stosować :) Możesz sobie nawet zamykać tagi IMG tak <IMG SRC='x.jpg' &> efekt i sens jest taki sam :)

Odnośnik do komentarza
Udostępnij na innych stronach

Mam wrażenie, że chyba pozjadałeś wszystkie rozumy...

Jakbyś czytał uważnie to może domyśliłbyś się że pisząc wcześniej "obecny xhtml to przeważnie html", miałem na myśli, że taki kod (w xhtmlu) musi być odpowiednio zapodany przez serwer.

Skoro Ty nie masz dobrego zdania o kodzie pisanym ze slashami to wyłącznie Twój problem, a to że ja używam slashy to moja sprawa i rozważania na temat ich użycia są bezcelowe. Decydując się na używanie slashy robie to konsekwentnie dla wszystkich znaczników, lub przeciwnie, jeżeli nie używam slashy, to też wszędzie, ale widze, że dla Ciebie to nie jest takie oczywiste.

Jeżeli Ty nie piszesz niczego w HTML5 to także wyłącznie Twój problem, ale nie mów "nikt przy zdrowych zmysłach w tym dzisiaj nie pisze" bo obrażasz nie tylko mnie, ale i wielu innych pasjonatów nowych technologii. Wiadomo, że klientowi nie sprzedam HTML 5, ale pisząc wewnętrzne rozwiązania (panele administracyjne) mogę z powodzeniem korzystać z HTML 5.

Swoją drogą co za idioci pracują w tym Google skoro stworzyli player na youtube z wykorzystaniem html 5...

Gdybyś miał troszeczkę więcej doświadczenia w składaniu stron, oprócz wiedzy czysto teoretycznej, nie negowałbyś użycia DTD XHTML 1.0 a wręcz zalecał, ponieważ niweluje on wiele błędów w interpretacji kodu nie tylko pod IE, ale i pod INNYMI przeglądarkami.

Do tego dochodzą inne narzędzia używane przy tworzeniu stron jak różnego rodzaju edytory WYSIWYG po stronie administracji, które wypluwają kod z slashami /

Odnośnik do komentarza
Udostępnij na innych stronach

To się temat rozwinął ;). Co prawda OT ale niech tam.

Jeszcze jeden sposób na poprawne wyświetlenie ... uwaga, sposób bardzo dziwny ale działa:

<div id="head">
 <img src="../img/logo.jpg" style="border:0px;margin:0px;padding:0px" /><br>
</div>

po dodaniu <br> zaraz przed nową linią, odstęp znika ??? a właśnie wtedy powinien się pojawić :)

Odnośnik do komentarza
Udostępnij na innych stronach

miałem na myśli, że taki kod (w xhtmlu) musi być odpowiednio zapodany przez serwer

Nie musi a nawet nie może. Bo jak sobie taki kod "zapodasz" jako XHTML to parser nie pokaże nic tylko błędy (z resztą spróbuj sam).

Celowo tego nie nazwałem ani HTML-em ani XHTML-em bo to takie nie wiadomo co. Ani to jedno, ani to drugie. Parser HTML-a jest bardzo tolerancyjny na błędy, więc takie coś łyknie. Parser XHTML-a wysypie tylko parę błędów i nic nie zobaczysz, bo tutaj dokumenty muszą być uberpoprawne.

Skoro Ty nie masz dobrego zdania o kodzie pisanym ze slashami to wyłącznie Twój problem

Może jestem przewrażliwiony na tym punkcie ale H** po prostu mnie bierze jak dostaję kod HTML z którym mam pracować od typowego gościa "co tnie layouty" i pierwsze co muszę robić to tłumaczyć mu, żeby nie definiował 1500 klas tylko korzystał z selektorów, wywalił wszystkie CDATA, nadmiarowe slashe i inny śmietnik bo takie g**o to można skopiować i wstawiać jako szablon w WP czy innym gotowcu a nie z tym pracować.

Dajmy na to

15 linijek błędnie zdefiniowanych nagłówków i meta
<!-- jestem zajebiaszym mastachem xhtml-a -->
<table class='ramka'><tr><td>
<ul class='lista'>
<li class='czerwony'></li>
<li class='czerwony'></li>
<li class='czerwony'><p class='paragraf'><img src='x.jpg' alt='xxx' /></p></li>
</ul>
</td>/tr>
</table>

Nie lepiej tak

1 linijka HTML4.01 Strict + 4 linijki meta
<ul class='domeny'>
<li></li>
<li></li>
<li><p><img src='x.jpg' alt='xxx'></p></li>
</ul>

Przecież wystarczy 10 sekund pomyśleć, żeby mieć poprawny kod, beż śmiecenia, który w dodatku prościej napisać. To zwykły HTLM a nie operacja na otwartym mózgu. Jak ostatnio dostałem coś takiego jak w przykładzie 1 a potem ktoś powiedział, że elementy listy "lepiej jednak byłyby niebieskie" i .czerwony miało mieć niebieski kolor to myślałem, że na miejscu kogoś zastrzelę :/ Oczywiście kod do przepisania. Szefowi powiedziałem, że jak chce żeby projekty były robione w terminie to gość może co najwyżej pisać kod wizytówek a nie dynamicznych layoutów do których będzie dodawany ajax.

Skoro Ty nie masz dobrego zdania o kodzie pisanym ze slashami to wyłącznie Twój problem

Dobrze, że nie pracujesz tam gdzie ja bo mój problem z niechlujnym kodem stałby się twoim problemem i musiałbyś albo zacząć pisać porządnie albo ciąć wizytówki. Bo to nie ma sensu. Jeśli kod jest krótki i wystarczająco skopany to projekt szybciej się wykona, jeśli taki kod napisze od nowa ktoś kto ma o tym pojęcie. Z resztą ja dużo nie wymagam, jak nie ma śmietnika z klasami i slashy na końcu a koder zna nie tylko selektor .klasa / #id to poprawny doctype mogę wstawić sobie sam ;)

Jeżeli Ty nie piszesz niczego w HTML5 to także wyłącznie Twój problem, ale nie mów "nikt przy zdrowych zmysłach w tym dzisiaj nie pisze" bo obrażasz nie tylko mnie, ale i wielu innych pasjonatów nowych technologii.
Aha sorry, tutaj użyłem skrótu myślowego - "nikt przy zdrowych zmysłach nie posyła kodu HTML5 na produkcję" (bo działa dobrze u 15% użytkowników internetu).
Swoją drogą co za idioci pracują w tym Google skoro stworzyli player na youtube z wykorzystaniem html 5...
Można by tak pomyśleć. Na desktopowych browserach ten player wywala przeglądarki, nie obsługuje napisów, prewijania, etc. Jednak nie tacy idioci... bo to tylko test :) Za 10 lat pewnie będzie działać prawie tak samo dobrze jak playery w flashu :)
Gdybyś miał troszeczkę więcej doświadczenia w składaniu stron, oprócz wiedzy czysto teoretycznej, nie negowałbyś użycia DTD XHTML 1.0 a wręcz zalecał, ponieważ niweluje on wiele błędów w interpretacji kodu nie tylko pod IE, ale i pod INNYMI przeglądarkami.
Konkrety. Skoro tych błędów jest tak wiele podaj jakie + przykładowy kod.
Do tego dochodzą inne narzędzia używane przy tworzeniu stron jak różnego rodzaju edytory WYSIWYG
Nie obraź się ale kod wypluwany przez te edytory graficzne jest takiej jakości, że pod "stronkę domową zenka" co najwyżej się nadaje. Tak się nie "robi" HTML-a. WYSIWYG to zabawki dla dzieci. Miało to sens 20 lat temu. Teraz dzieci robią se blog na onecie i nie potrzebują "edytora" WYSIWYG.

Może mamy dalej pisać HTML na tabelach? Przecież photoshop-owy WYSIWYG tworzy HTML jako zbiór 150 zagnieżdżonych tabel?

nie negowałbyś użycia DTD XHTML 1.0 a wręcz zalecał, ponieważ niweluje on wiele błędów

Tak samo jak HTML4.01 Strict? Więc po co używać tego niepoprawnego? Może przykład.

Odnośnik do komentarza
Udostępnij na innych stronach

Uważasz, że skoro ktoś ułatwia sobie życie używając DTD XHTML 1.0 to jest kompletnym idiotą i nie wie, że taki kod z błędami w "normalnych warunkach" nie przejdzie przez przeglądarkę tylko wypluje błędy? Cóż, może zweryfikuj lepiej swoje skróty myślowe.

A co to za przykłady z tabelkami, czy ktoś tu wspominał o tabelkach i użyciu odpowiednich klas, id, selektorów w CSS? Nie? Więc można sobie darować rozpisywanie się na te tematy po to tylko, żeby próbować udowodnić swoje bzdurne tezy.

Z Twojego toku rozumowania wynika, że każdy klient powinien znać HTML no bo jakby on zły mógł edytować treść na stronie przez edytor WYSIWYG. Na marginesie jakość kodu wypluwanego przez niektóre tego typu edytory jest bardzo przyzwoita.

Wiesz nie chce mi się z Tobą dłużej dyskutować bo zwyczajnie nie mam na to czasu ani chęci. Żyj sobie dalej w swoim urojonym świecie, gdzie każda nadmiarowa klasa bądź slash powoduje u Ciebie wprost niewyobrażalną frustrację. Radze Ci zejdź z nieba na ziemie i przestań się wymądrzać, nie jesteś alfą i omegą, a co niektórzy mogliby Cie "położyć" ciężarem swojego doświadczenia w składaniu stron.

Odnośnik do komentarza
Udostępnij na innych stronach

Uważasz, że skoro ktoś ułatwia sobie życie używając DTD XHTML 1.0 to jest kompletnym idiotą

Nie. Ten kto tak twierdzi po prostu naczytał się głupot w "gazetach komputerowych". Idiotą to może być osoba, która widzi specyfikacje, typ dokumentu raportowany przez browser, rozpiskę Q/S i dalej się upiera przy DTD XHTML i short tagach :)

A co to za przykłady z tabelkami, czy ktoś tu wspominał o tabelkach i użyciu odpowiednich klas, id, selektorów w CSS?
Po prostu chciałem pokazać, że niedbalstwo często idzie z tym w parze a dodatkowo to poważny problem w projektach. Jak ktoś nie dba o tak proste szczegóły - to tym bardziej oleje design klas, albo nie będzie wiedział jak to zrobić. Nie wiem może reszta ma inne doświadczenia. Ja albo dostaję czyste dokumenty (bez shorttagów, CDAT i innych śmieci), albo totalny XHTML-owy źle zaprojektowany śmietnik.
Z Twojego toku rozumowania wynika, że każdy klient powinien znać HTML
Nie każdy klient, ale każda osoba pracująca jako programista HTML... lub taka która twierdzi, że się na tym zna. Klient może produkować kiepski kod, nie jest on zintegrowany z większym systemem - więc jest bez znaczenia, może sobie nawet tagi FONT stosować a layout generować photoshopem :)
Na marginesie jakość kodu wypluwanego przez niektóre tego typu edytory jest bardzo przyzwoita.
Które na przykład?
Radze Ci zejdź z nieba na ziemie i przestań się wymądrzać, nie jesteś alfą i omegą, a co niektórzy mogliby Cie "położyć" ciężarem swojego doświadczenia w składaniu stron.
Zawsze można się nauczyć czegoś nowego :) Na przykład jakie błędy eliminuje DTD XHTML w porównaniu z DTD HTML4.01 S? Cały czas się o to spierasz. Według mnie żadne, ale taka informacja byłaby bardzo ciekawa i może sam bym zaczął stosować (oczywiście bez shorttagów, kod nie śmietnik, czy jakoś tak :) ).
Odnośnik do komentarza
Udostępnij na innych stronach

Na marginesie jakość kodu wypluwanego przez niektóre tego typu edytory jest bardzo przyzwoita.
Które na przykład?

może być program wysiwyg a nie skrypt JS? to adobe dreamweaver

oczywiście generuje to co mu każesz, jak nie klikniesz na nagłówek tylko powiększoną czcionkę to ci wstawi <span style="font-size: ...">

ale ta cała semantyka w HTML-u to i tak istnieje tylko w marzeniach W3C

czy wiesz np. o tym, że linkując do strony angielskiej ze strony polskiej powinno się ustawić hreflang="en" dla <a>? jak w ogóle wiesz, to jak często to robisz? ja wcale, bo mi się nie chce wstawiać "semantycznych" informacji których nie używa ani jedna przeglądarka/wyszukiwarka

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności