Re: Plovouci ram

From: Robis Key (robis@atlas.cz)
Date: 05. 09. 2002, 19:47 CEST


> V jedne bunce tabulky je umisten plovouci ram. Pozadim tabulky je grafika
> rozrezana do jednotlivych bunek a prislusna cast grafiky je taky pozadim
> plovouciho ramu...
> Vsechny parametry I FRAME - frameborder, marginheight, marginwidth jsou
> nastaveny na nulu. Co je tedy pricinou toho, ze se v NN ram nacita jakoby
> mirne odsazen od leveho okraje tabulky?

Ahoj, tak jsem se na to kouknul a testoval v Mozille (NN6+), MSIE 5.5 a
Opere 6 nasledujici kod:

<td id="prvni" width="[sirka prvni]"></td><td id="druha"
width="200"><iframe border=0 frameborder=0 width=200 height=200
src="test2.html"></iframe></td><td id="treti" width="[sirka tabulky - sirka
prvni]"></td>

A vysledek? Musim se zastat Mozilly (NN6+), neb chyba je tentokrat zase na
strane MSIE, v cemz ho usvedcila i Opera. Pokud jsem nastavil sirku prvni
bunky do cca 70, vsichni tri adepti ukazovali to same, ovsem pri vetsi
sirce bunky, ejhle, MSIE se osamostatnil a jeho iframe od ostatnich
odskocil o jeden pixel blize levemu kraji (a vzhledem k tomu, ze jsem
zvolil obrazek pozadi s velikosti 10x10 a za sirky bunek volil postupne
cisla delitelna 10ti, snadno jsem si dopocital kolik je 10 + 10 + 10... a
hlavne, na ktere strane barikady je pravda). Mezi nami devcaty neni to
prvni obdobny exces v podani MSIE aspon, co se tyce verzi s oznacenim
mensim nez 5.5, vubec hrozny je jeho zobrazovani formularovych prvku, kolem
kterych vytvari nesmyslny asi jednopixelovy neviditelny ohraniceni, i kdyz
je v CSS nastaven border na 0. No, ale rekl bych, ze reseni bude tentokrat
v CSS v kombinaci s JavaScriptem - dynamicky bych generoval v CSS sirku
prvni a zavisle na ni treti bunky detekci prohlížeče v JavaScriptu. Asi
takhle:

<script language="javascript">
<!--
msie = (navigator.userAgent.indexOf('MSIE')>0 &&
navigator.userAgent.indexOf('Opera')<0);
if(!msie) { document.write ("<style>#prvni { width: 100px; }\n#treti {
width: 300px; }</style>"); }
//-->
</script>

Do samotneho html kodu (width="[sirka prvni]") bych zadal hodnoty pro MSIE
(v tomto [sirka prvni] = 101 a [sirka tabulky - sirka prvni] = 299), aby
nebylo vzhledem k tomu, ze je vetsinovy, potreba spoustet JavaScript (ac
nevim proc, obcas si ho i nekteri jedinci vypinaji a dost by se jim to
rozhazelo).

Samozrejme si s tim muzes pohrat, misto treti generovat sirku druhe atd.
Podle libosti.
Kdyz si s tim nebudes vedet rady nebo naopak, dej vedet
    eRKo



This archive was generated by hypermail 2.1.2 : 05. 09. 2002, 20:00 CEST