GRY-Online.pl --> Archiwum Forum

Pomocy z tabelką HTML

02.10.2006
10:33
smile
[1]

legrooch [ MPO Squad Member ]

Pomocy z tabelką HTML

Witam!

Jak rozwiązać poniższy problem?

Posiadam tabelę. W tabeli znajduje się 5 kolumn. W każdej kolumnie znajduje się jeden ciurkiem pisany string o długości np 350px. Czyli komplet ma 1750px. W związku z tym muszę przewijać obraz w bok, aby zobaczyć zawartość reszty.
Jak jednak mogę zmusić htmla do automatycznego zawijania słów w dowolnym miejscu (bo to nie ma znaczenia)?

02.10.2006
10:37
[2]

wysiu [ ]


Moze da sie uzyc tego?

02.10.2006
11:21
smile
[3]

legrooch [ MPO Squad Member ]

Nie działa :(

Zresztą to jest wynalazek MS. W CSS go nie widziałem, w związku z czym będą pewnie z tym problemy :/

Może jeszcze jakaś pomoc?

02.10.2006
11:30
[4]

kamyk_samuraj [ Generaďż˝ ]



hmm - o to chodzi?

a kto napisal w czym ma to byc czytane?

02.10.2006
11:33
[5]

Regis [ ]

Nawet jesli o to chodzi, to podejrzewam ze IE nie poradzi sobie z CSS3 (z CSS2 w sumie nawet sobie nie radzi jak powinien...)...

02.10.2006
11:36
[6]

legrooch [ MPO Squad Member ]

-moz-column też odpada...

02.10.2006
11:48
[7]

wysiu [ ]

Nie wydaje mi sie, zeby dalo sie to zrobic bez manipulowania tymi stringami. Jesli tabelka tworzona jest dynamicznie, to nie powinno byc problemu (np w php jest do tego funkcja wordwrap()).

02.10.2006
12:22
[8]

slowik [ NightInGale ]

od tego jest overflow w css niewiem czy w ie dziala w operze napewno ... width nie daje rady ?

albo zrob to na div'ach <>

<div id='main'>
<div class='kolumna'></div>
<div class='kolumna'></div>
<div class='kolumna'></div>
<div class='kolumna'></div>
<div class='kolumna'></div>
</div>

#main‹width:800px›
div.kolumna‹float:left;width: 350px;›

02.10.2006
12:40
[9]

legrooch [ MPO Squad Member ]

Dobra, więc jeszcze raz:

To jest wynikowy kod html. Nie liczą się style - zależy mi na tej dynamice łamań.
W tabeli w drugiej kolumnie znajduje się ścieżka (długa). W 6 kolumnie znajdują się właściwości.
Ponieważ oba te pola są duże, chciałbym zmieniając rozmiar widzieć automatycznie dopasowującą się tabelę do rozmiarów przeglądarki.
Jeżeli chciałbym na siłę zwężyć okno do szerokości 5 znaków, to chciałbym mieć połamane dane co 5 znaków.
Kiedyś to już widziałem i bez użycia skryptów bodajże.
Obok znajduje się coś, co chciałbym osiągnąć (spreparowany).

Pod spodem znajduje się html do złamania..

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Konfiguracja</title>
<link href="G:\pzu\Config\makConfigCSS.css" rel="stylesheet" type="text/css">
</head>
<body>
<center>
<h1>Udziały sieciowe serwera - Active<br>Stan na 8/8/2006</h1>
</center><br>
<table width="100%" border=1>
<th id="odcien" colspan="6">Informacje o udziałach sieciowych</th>
<tr>
<th>Udział</th>
<th>Ścieżka</th>
<th>Opis</th>
<th>Właściciel udziału</th>
<th>Parametr</th>
<th>Wartość</th>
</tr>
<tr>
<td id="kolorowy"><b>SYSVOL</b></td>
<td id="kolorowy"><b>C:\WINDOWS\SYSVOL\sysvol</b></td>
<td id="kolorowy"><b>Logon server share </b></td>
<td id="kolorowy"><b>BUILTIN\Administrators</b></td>
<td id="kolorowy"> </td>
<td id="kolorowy"> </td>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>Trustee</b></td>
<td id="param"><b>Everyone</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessType</b></td>
<td id="param"><b>ALLOW</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessRights</b></td>
<td id="param"><b>READ</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>Trustee</b></td>
<td id="param"><b>BUILTIN\Administrators</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessType</b></td>
<td id="param"><b>ALLOW</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessRights</b></td>
<td id="param"><b>FULL_CONTROL
CHANGE
READ</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>Trustee</b></td>
<td id="param"><b>NT AUTHORITY\Authenticated Users</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessType</b></td>
<td id="param"><b>ALLOW</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessRights</b></td>
<td id="param"><b>FULL_CONTROL
CHANGE
READ</b></td>
</tr>
</tr>
<tr>
<td id="kolorowy"><b>NETLOGON</b></td>
<td id="kolorowy"><b>C:\WINDOWS\SYSVOL\sysvol\testowo.test\SCRIPTS</b></td>
<td id="kolorowy"><b>Logon server share </b></td>
<td id="kolorowy"><b>BUILTIN\Administrators</b></td>
<td id="kolorowy"> </td>
<td id="kolorowy"> </td>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>Trustee</b></td>
<td id="param"><b>Everyone</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessType</b></td>
<td id="param"><b>ALLOW</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessRights</b></td>
<td id="param"><b>READ</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>Trustee</b></td>
<td id="param"><b>BUILTIN\Administrators</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessType</b></td>
<td id="param"><b>ALLOW</b></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td id="param"><b>AccessRights</b></td>
<td id="param"><b>FULL_CONTROL
CHANGE
READ</b></td>
</tr>
</tr>
</table><br></body>
</html>

02.10.2006
13:21
[10]

legrooch [ MPO Squad Member ]

Up!

02.10.2006
13:37
[11]

diuk [ Generaďż˝ ]

legrooch -->

Jeżeli generujesz stonę dynamicznie, to musisz siłowo podzielić tekst w komórce tabeli przy pomocy spacji lub <br /> - przeglądrka (niestety) zawsze dopasuje szerkość komórki tabeli do zawartości (najdłuższy wyraz), niezależnie od deklarowanych ustawień szerkości.

Alternatywą na samozcynne łamanie długiego wyrazu jest wykorzystanie TextArea:
<td>
<textarea cols="5" rows="20" disabled>123456789012345678901234567890</textarea>
</td>
Niestety - pojawią się paski przwijania...

02.10.2006
13:45
[12]

legrooch [ MPO Squad Member ]

diuk ==> Niestety nie mogę tego ręcznie łamać. Jakieś 450 XML-i, każdy po 300-400 wierszy tego typu :)

Zaraz spróbuję tego textarea.

02.10.2006
13:52
[13]

legrooch [ MPO Squad Member ]

diuk ==> To nie wchodzi w grę.

02.10.2006
14:00
[14]

wysiu [ ]

To to w koncu jest generowane dynamicznie, czy nie, bo nie rozumiem dlaczego nie mozesz tego polamac w locie? Czysty html tego nie zrobi, musisz przygotowac odpowiednio strone, np wstawiajac znaczniki wbr.

02.10.2006
14:02
[15]

diuk [ Generaďż˝ ]

legrooch -->
To wychodzi na to, że jednak strona musi być generowana dynamicznie (PHP lub ASP), i do komórki o określonej szerokości (np.30px) musisz wstawić tekst połamany (łamiesz go czytajac z XMLa)

02.10.2006
14:11
[16]

legrooch [ MPO Squad Member ]

Dobra, to może mi prosto wytłumaczcie to :)

W jednej kolumnie będę mieć wpis typu:
hklm\fgdfg\gdf\gdf\g\dfgsdgfsd\gsdfg

W drugiej
fgdgdfgfsdsgdf\gdfgdfsg_dfgdg

Ogólnie nie ma szansy, aby zmieściło się top logicznie na stronei bez potrzeby przewijania w bok. W związku z tym chciałbym, aby tabelka się dostosowywała do rozmiaru okna (czyli pomniejszonego) i zawijała odpowiednio tekst.
Jak to osiągnąć?
Nie wiem czym to zrobić i jak. Wstawianie z łapy <br/> do XML-a mija się z celem.
Musi się to odbyć automatem w jakiś sposób.

02.10.2006
14:21
[17]

diuk [ Generaďż˝ ]

legrooch -->
nic nie robisz z łapy, robi to skrypt po stronie serwera.
masz: 12345678901234567890
wiesz, że chcesz mieć kolumnę o szerokości 5-ciu znaków,
skrypt generuje: 12345/67890/12345/67890
I tak się dzieje dla każdej komórki w TEJ kolumnie.
Inna kolumna może mieć inną szerokość.
Napisanie funkcji: PołamTekst(Text,Szerokosc):PolamanyText nie powinno być trudne :-)

02.10.2006
14:30
smile
[18]

legrooch [ MPO Squad Member ]

Masz może pod ręką coś takiego w javascript? :)

02.10.2006
14:44
[19]

diuk [ Generaďż˝ ]

legrooch -->

nie mam, jak poszukasz to znajdziesz na pewno, wnętrze funkcji może być np. takie:

DoPrzetworzenia=text
wynik=''
for i=1 to len(text)/szer
wynik = wynik + left(DoPrzetworzenia,szer)+'<br/>'
DoPrzetworzenia=right(DoPrzetworzenia,len(DoPrzetworzenia)-szer)
next

Ale uwaga: to musi być wykonane w momencie generowania strony przez server, a więc raczej nie w JavaScript (które wykonuje sie przecież po stronie klienta?)

02.10.2006
14:51
[20]

legrooch [ MPO Squad Member ]

To się będzie:
a) wykonywać lokalnie na stacji (docelowo te XML wylądują w .chm dla klienta)

Wątek założyłem z innego powodu:
Mam dwie kategorie XML-i.
W pierwszej grupie (xsl ma identyczną strukturę jak ten, na którym operuję) tabelka się dopasowuje.
W drugiej grupie (czyli tej, z którą walczę) nic się nie dzieje z nią. Szukam różnic od piątku już.
Nic. Każda tabela jest opisana niczym innym jak <table><tr><td>dfdsfdsf</td></tr></table>.
Obie grupy plików korzystają ze wspólnego CSS-a.
Stwierdziłem, że może da się wymusić złamanie tego jakimś banałem bez potrzeby wikłania kawałka kodu w to.

02.10.2006
15:23
[21]

BossManPL [ Konsul ]

może nie jestem specem, ale czy nie wystarczy <td width="20%">

edit: oj pardon chodzilo mi o <tr width="20%">

02.10.2006
15:37
[22]

BossManPL [ Konsul ]

no dobra sam spróbowałem i..... nie jestem specem :) sorry za lamerke

02.10.2006
15:57
smile
[23]

legrooch [ MPO Squad Member ]

Liczą się chęci :)

04.10.2006
19:48
[24]

nagytow [ Firestarter ]

Czy problem jest jeszcze aktualny? Rozwiazanie wydaje mi sie dosc latwe. Napisz tylko, w czym to chcesz: PHP, JavaScript, ASP?

© 2000-2024 GRY-OnLine S.A.