Problem z Height w Operze... jak rozwiązać???

w dziale Strony WWW w Operze
quickest napisał(a):

Adres strony z kodem:
http://quickest.pld-linux.net/opera2.html

Problem:

Tak sparsować kod w pierwszej komórce od góry aby:
1. napis "góra" była na górze na równi z pierwszym wierszem tabeli z obrazkami
2. napis "dół" był na dole na równi z ostatnimi wierszem tabeli z obrazkami

Założenia:

1. Wysokośc w głównej tabeli nie jest znana jest zmienna...

<table height="200" align="center" border="1" align="center" cellspacing="0" cellpadding="0"&gt;


height="200" - zastosowałem w powyższym przykłądzie tylko w celach aby pokazać problem.

normalnie będzie height="0%", lecz tabela poprzez dużą ilość komórek
z obrazkami i tak będzie wyższa, obecnie są tylko dwa wiersze w których
znajdują się obrazki, lecz będzie ich więcej.

Lecz ilośc komórek z obrazkami w pionie i w poziomie jest znana...
dlatego można stosować polecenia "colspan" i "rowspan"

2. Nie można naruszać kodu komórek z obrazkami... można jedynie grzebać modyfikować
wszystko powyżej poniższego kodu:

<tr>
<td><img src="r/1.png"></td>
<td><img src="r/2.png"></td>
<td><img src="r/3.png"></td>
<td><img src="r/4.png"></td>
<td><img src="r/5.png"></td>
(...)


i poniżej powyższego kodu:

(...)
<td width="32"><img src="m/0.png"></td>
<td width="32"><img src="m/0.png"></td>
<td width="32"><img src="m/0.png"></td>
<td width="32"><img src="m/0.png"></td>
</tr>


Dodam, że IE, każda Mozilla... nie ma problemu zamierzonym przeze mnie interpretowaniem powyższego kodu html, lecz Opera wariuje? Czemu??? Czyżbym odkrył buga???

Screen z okna opery

Zajec napisał(a):

Zamiast zupki zrób sobie w lewej kolumnie 3 komórki.

A tak przy okazji to czy html'owy zapis height="0%" nie jest czasem odpowiednikiem CSS'owego height: 0%;?

quickest napisał(a):

Originally posted by Zajec:

Zamiast zupki zrób sobie w lewej kolumnie 3 komórki.

A tak przy okazji to czy html'owy zapis height="0%" nie jest czasem odpowiednikiem CSS'owego height: 0%;?



To może napisz w htmlu jakbyś to konkretnie zrobił???
Chodzi o kod który będzie działał w Operze.
Jest odpowiedniem, możesz użyć co chcesz albo normalnego height, albo formy z CSS'a, ja w tym jednym elemencie użyłem formy z CSS'a ponieważ Opera jest "stylo lubna", lecz mimo tego... nie przyniosło mi to porządanych efektów.

Zajec napisał(a):

Z tym pytaniem chodziło o to, że jeśli to byłby odpowiednik, to teoretycznie Opera nie powinna zezwolić danemu elementowi na wysokość większą niż 0, a więc treść powinna być (powtarzam: teoretycznie) ukryta.
Osobiście widziałbym to jako następujący kod:

<table>

<tr>
<th>Góra</th>
<td>obrazek1</td>
<td>obrazek2</td>
<td>obrazek3</td>
</tr>

<tr>
<td>&nbsp</td>
<td>obrazek1</td>
<td>obrazek2</td>
<td>obrazek3</td>
</tr>

<tr>
<th>dół</th>
<td>obrazek1</td>
<td>obrazek2</td>
<td>obrazek3</td>
</tr>

</table>
Dla własnej wygody i przeyjżystości zmniejszyłem ilość obrazków w wierszu do 3. Pamiętaj, że dodając kolejny obrazek w jednym wierszu należy dodać również inne w dwóch pozostałych. Albo przynajmniej wstawić w tych dwóch pozostałcyh wierszach po pustej komórce.

quickest napisał(a):

No niby jest rozwiązanie... tylko mi chodziło, to o czym piszę w punkcie 2 w Założeniach, czy nie dało by sie tego rozwiązać bez ingerencji w wiersze i komórki obrazków, bo tutaj jednak ingerujemy, gdyż dodajemy dodatkową komórkę:

<TD>&nbsp;</TD>


za każdym razem jako pierwszą... a co z rozwiązaniem, gdy tych obrazków będziemy mieli 4 tysiące, a zależy nam na maksymalnej optymalizacji html'a, aby nie było zbędnego kodu???

Zajec napisał(a):

Nie da się tego przerobić, aby nie mieszać w niższych wierszach. Dlatego m.in. nigdy nie korzystałem z żadnych CMS'ów czy blogów :/

Originally posted by quickest:

a co z rozwiązaniem, gdy tych obrazków będziemy mieli 4 tysiące, a zależy nam na maksymalnej optymalizacji html'a,

Używamy XHTML'a?

quickest napisał(a):

Originally posted by Zajec:

Nie da się tego przerobić, aby nie mieszać w niższych wierszach. Dlatego m.in. nigdy nie korzystałem z żadnych CMS'ów czy blogów :/

Originally posted by quickest:

a co z rozwiązaniem, gdy tych obrazków będziemy mieli 4 tysiące, a zależy nam na maksymalnej optymalizacji html'a,

Używamy XHTML'a?



Raczej nie... mam właśnie takie zadanie do wykonania. W czystym html'u plik by miał z 0,5 Mb minimum, ale mam zamiar to napisać za pomocą javascripu, moim celem jest osiągnięcie max 40 kb.
A obrazków będzie dokładnie 3,5 tysiąca. Tabela wielkości: 50 x 70 (szer x wys).
Dodatkowo położenie każdego obrazka, oraz jego numerek będzie określony w bazie danych.
Zadanie nie banalne... ale myślę, że się uda. Pisałem już swego czasu podobne dziwactwa.

Jak się uda, to pochwalę sie lada dzień na jakiej wielkości pliku html, udało mi się włożyć 3,5 tysiąca komórek wraz z obrazkami, hee, hee...

Bo w sumie zna ktoś jakiś inny sposób na generowanie złożonych macierzy i wyświetlanie ich za pomocą obrazków w html'u???

Ps. To co jest wyświetlanie miało być zgodne z najpopularniejszymi przeglądarkami (i uznałem za taką między innymi Operę), stąd właśnie to pytanie, na tym forum...

Zajec napisał(a):

Nie wiedziałem, że JS jest taka istotna dla tej strony... Chciałem zrobić tą stronę beż użycia technologii "niepewnych"

<body onload="document.getElementById('opis').style.height=document.getElementById('main').scrollHeight;">


Teraz tylko głównej tabeli nadajesz
id="main"
a tej tabeli, która zawiera słowa "gora" "dol" nadajesz
id="opis"

Gdyby nie działało, pousuwaj jeszcze wszystkie
style="height: 100%;"
bo ja sobie testowałem bez tych wpisów.

quickest napisał(a):

I udało się!!! Zrobione :-)
3,5 tysiąca obrazków... z numerkami od 1 do 50, ściśle poukładane, wg. zadanego schematu, każdy numer obrazka ma swoje określone miejsca na stronie, dodatkowo każdy z obrazków ma podświetlenie po najechaniu na niego kursorem myszki oraz za każdym obrazkiem kryje się link, który to otwiera się po kliknięciu na obrazek... dodam także, że do każdego obrazka prowadzi inny link (nie ma dwóch takich samych linków). Wszystko działa pod IE, Mozillą oraz oczywiście Operą...

A plik html zawierający wszystkie powyżssze dane oraz wyświetlający je na ekranie, ma wielkość, uwaga... zaledwie 42,9 kb!!!

Dodam, że wzrost wielkości pliku dla kolejnych tysięcy byłby bardzo mały...
Dla porównania plik z 456 obrazkami generowany moją metodą (tabela 12x38) ma wielkośc 23,5 kb... natomiast plik, który ma już 3004 obrazków więcej waży jak wspomniałem, tylko 42,9 kb, zatem widać tutaj, iż wzrost kompresji dla kolejnych rzędów zwiększa się z kwadratem...

Więc jak mi się wydaje wymyśliłem dobrą metodą generowania wielkich tabel do plików html, bo przecież w internecie im plik mniej waży tym lepiej :-)

Zajec napisał(a):

To może zamiast chwalić się swoim dziełem tak czysto teoretycznie, zademonstrowałbyś nam jeszcze swój dokument ze skryptem?