Jakie są wszystkie poprawne elementy samozamykające się w XHTML (zaimplementowane przez główne przeglądarki)?
Jakie są wszystkie poprawne elementy samozamykające (np.
) w XHTML (zaimplementowane przez główne przeglądarki)?
Wiem, że XHTML technicznie pozwala na samodzielne zamknięcie dowolnego elementu, ale szukam listy tych elementów obsługiwanych przez wszystkie główne przeglądarki. Zobacz http://dusan.fora.si/blog/self-closing-tags na przykładowe problemy powodowane przez samozamykające się elementy, takie jak
.2 answers
Każda przeglądarka obsługująca XHTML (Firefox, Opera, Safari, IE9) obsługuje składnię samoczynnie zamykającą się na każdy element.
<div/>
, <script/>
, <br></br>
wszystko powinno działać dobrze. Jeśli nie, to masz HTML z nieodpowiednio dodanym DOCTYPE XHTML.
DOCTYPE nie zmienia sposobu interpretacji dokumentu. tylko typ MIME.
W3C decyzja o ignorowaniu DOCTYPE :
HTML WG omówił tę kwestię: intencją było umożliwienie starym (Tylko HTML) przeglądarki akceptujące dokumenty XHTML 1.0 postępując zgodnie z wytyczne, i służąc im jako tekst / html. Dlatego dokumenty służyły jako text / html powinien być traktowany jako HTML, a nie jako XHTML.
Jest to bardzo częsta pułapka, ponieważ W3C Validator w dużej mierze ignoruje tę zasadę, ale przeglądarki stosują ją religijnie. Czytaj zrozumienie HTML, XML i XHTML z blogu WebKit:
W rzeczywistości, zdecydowana większość dokumentów XHTML w Internecie jest podawana jako
text/html
. Co oznacza, że w ogóle nie są XHTML, ale w rzeczywistości nieprawidłowy HTML, który dostaje się przez obsługę błędów parserów HTML. Wszystkie " Valid XHTML 1.0!"linki w sieci naprawdę mówią" Invalid HTML 4.01!".
Aby sprawdzić, czy masz prawdziwy XHTML lub nieprawidłowy HTML za pomocą DOCTYPE XHTML, umieść to w dokumencie:
<span style="color:green"><span style="color:red"/>
If it's red, it's HTML. Green is XHTML.
</span>
Sprawdza się, a w prawdziwym XHTML działa doskonale (zobacz: 1 vs 2). Jeśli nie możesz uwierzyć własnym oczom (lub nie wiesz, jak ustawić typy MIME), otwórz stronę za pomocą XHTML proxy.
Innym sposobem sprawdzenia jest widok źródła w Firefoksie. Podświetli ukośniki na czerwono, gdy są nieprawidłowe.
W HTML5 / XHTML5 to się nie zmieniło, a rozróżnienie jest jeszcze wyraźniejsze, ponieważ nie masz nawet dodatkowych DOCTYPE
. Content-Type
jest królem.
Dla przypomnienia, Specyfikacja XHTML pozwala dowolnemu elementowi być samoczynne zamykanie poprzez zrobienie XHTML xml application : [15]]}
Empty-element tags może być używany dla każdego elementu, który nie ma zawartości, niezależnie od tego, czy jest zadeklarowany za pomocą słowa kluczowego EMPTY.
Jest to również wyraźnie pokazane w XHTML spec :
Puste elementy muszą albo mieć znacznik końca, albo znacznik początku musi kończyć się
/>
. Na przykład,<br/>
lub<hr></hr>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-23 13:51:08
Jednym z elementów, z którymi należy być bardzo ostrożnym w tym temacie, jest element <script
>. Jeśli masz zewnętrzny plik źródłowy, spowoduje to problemy, gdy sam go zamkniesz. Spróbuj:
<!-- this will not consistently work in all browsers! -->
<script type="text/javascript" src="external.js" />
To będzie działać w Firefoksie, ale przynajmniej w IE6. Wiem, bo wpadłem na to, gdy nadgorliwie zamykałem każdy element, który widziałem; -)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-25 09:31:24