Mar 3, 2006
InterNerw Explorer – stary błąd w nowszym wydaniu
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
Powiązane wpisy:
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?
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>.
Na szczęście to pierwsza (i jedna z niewielu) rzeczy, którą przepisali w IE7.