InterNerw Explorer – stary błąd w nowszym wydaniu
by nbw on Marzec 3, 2006
O tym, że base potrafi mocno namieszać w drzewku DOM Internet Explorera, wie chyba każdy, kto trochę dłużej zajmuje się tworzeniem stron internetowych. Jeśli ktoś z czytających nie wie o co chodzi, to śpieszę wyjaśnić pobieżnie, że w stronie z base, body staje się dzieckiem tak base, jak i html.
Niestety, to nie koniec problemów.
Zastosowanie base sprawia, że IE zaczyna w bardzo dziwny sposób traktować zawartość elementów pozycjonowanych relatywnie (position: relative;). Stają się one „blokiem”, co utrudnia, bądź wręcz – uniemożliwia, zaznaczenie i skopiowanie tekstu.
By problem rozwiązać, wystarczy dopisać po base, </base>. A najlepiej – ująć to w komentarze warunkowe. Krótką charakterystykę z tym błędem „w akcji”, można znaleźć tutaj
3 comments
hehe, patrz: http://cssbeauty.com/skillshare/comments.php?DiscussionID=5 :)
ciekaw jestem jak Ty wpadłeś na to absurdalne rozwiązanie, jakim jest domknięcie elementu, którego wg spec nie wolno domykać? też intuicja? :)
by ffreak on 4 marca 2006 at 02:44. #
Hehe. Tak, dokładnie ten sam sposób. Miałem dwa kody. W jednym nie było BASE i wszystko działało, a w drugim BASE był i nie działało. Usunąłem najpierw doctype – zaczęło działać, ale zepsuł się box-model. Później usunąłem BASE i zaczęło działać.
Niestety, BASE w tamtym projekcie był więcej niż wymagany, więc dopisałem </base>.
:)
by nbw on 4 marca 2006 at 09:24. #
Na szczęście to pierwsza (i jedna z niewielu) rzeczy, którą przepisali w IE7.
by porneL on 6 marca 2006 at 15:46. #