<a href="1.htm" style="border:solid 1px #000; padding:100px">jakiś tekst</a>
Obramowanie wychodzi poza górną krawędź ekranu...
UPDATE: Po dodaniu DTD transitional nic się nie zmienia...
<a href="1.htm" style="border:solid 1px #000; padding:100px">jakiś tekst</a>
URI?
M.
Moose: po prostu wklej kod do edytora i zobacz co się dzieje.
Na pocieszenie dodam, że IE6 i Mozilla 1.6 zachowują się podobnie
Hm... natomiast IE4 bije rekordy... w przypadku taga <A> ignoruje zarówno padding, jak i border...
Wszystko jest w porządku. Proszę zauważyć, że zakoticzenie <a> jest elementem wewnętrznym (inline element) i do jako takiego padding jest przewidywalny tylko dla prawej i lewej strony dopełnienia. Oto co na ten temat pisze Eric A. Meyer w "CSS. Kaskadowe arkusze stylów. Przewodnik encyklopedyczny":
Dopełnienie ustawione dla elementów wewnętrznych nie wpłynie na obliczenia wysokości linii, ale zostanie dodane do prawego i lewego końca elementu. Jeśli element wewnętrzny oprócz dopełnienia ma także tło, to zostanie ono rozciągnięte nad i pod brzegiem pudełka linii, w której znajduje się element wewnętrzny, ale przeglądarki nie muszą tego obsługiwać. Nie ma także zdefiniowanego zachowania mówiącego, czy pierwszy plan zawartości poprzedniej linii znajdzie się na wierzchu tła kolejnej linii, czy zostanie zasłonięty przez tło.
Aha... więc w takim wypadku trzeba dodać display:block (ew. +width) i będzie OK...
Dla dociekliwych: Do czego to miało służyć? Aby linki były wyższe niż tekst (w menu)...
ot człowiek sie całe życie uczy W sumie ciekawe czemu tak to ma działać. Dlaczego dla elementów inline padding wpływa na szerokość a na wyskokość nie?
Bo taka jest natura elementów wewnętrznych. Nie tworzą one nowych pudełek (boxes) z zawartością. Zwykły paragraf <p></p> jako element blokowy tworzy nowe pudełko z wieloma elementami wewnętrznymi. Gdy będziemy pisać wewnątrz tego paragrafu tekst to ten słowa tego teksty są również traktowane jako elementy wewnętrzne, tzw. anonimowe elementy wewnętrzne. http://www.w3.org/TR/CSS21/visuren.html#inline-levelDlaczego dla elementów inline padding wpływa na szerokość a na wyskokość nie?
Heh, można z tym polemizować Choć ze specyfikacją się nie polemizuje Bo czemu w taki razie szerokość jest zwiekszana? Równie dobrze można by potraktować element inline z marginesem wewnętrznym górnym i dolnym jako "wyższy". W końcu elementy inline też mogą być różnej wysokości mimo, że nie tworzą boxów. Generalnie zawsze byłem przekonany, że margin i padding stosuje się tylko do elementów blokowych Cóż tak to wymyślili i nie ma co się z tym kłócić Jak dla mnie EOT.
Zgadza się. Tylko zauważ, że wysokość elementów wewnętrznych jest określona nie przez właściwość height, ale poprzez właściwość line-height, która jest dla elementów wewnętrznych „święta”. Wysokość linii nie może być zależna od wartości dopełnienia, czy wartości marginesu.W końcu elementy inline też mogą być różnej wysokości mimo, że nie tworzą boxów.