nbw: Redefine the undefined

Icon

O Sieci, standardach i róznych takich…

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

Category: web

Tagged:

3 Responses

  1. ffreak says:

    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? :)

  2. nbw says:

    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>.
    :)

  3. porneL says:

    Na szczęście to pierwsza (i jedna z niewielu) rzeczy, którą przepisali w IE7.

Leave a Reply