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)?
wysiu [ ]
Moze da sie uzyc tego?
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?
kamyk_samuraj [ Generaďż˝ ]
hmm - o to chodzi?
a kto napisal w czym ma to byc czytane?
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...)...
legrooch [ MPO Squad Member ]
-moz-column też odpada...
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()).
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>
#mainwidth:800px
div.kolumnafloat:left;width: 350px;
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>
legrooch [ MPO Squad Member ]
Up!
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...
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.
legrooch [ MPO Squad Member ]
diuk ==> To nie wchodzi w grę.
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.
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)
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.
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 :-)
legrooch [ MPO Squad Member ]
Masz może pod ręką coś takiego w javascript? :)
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?)
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.
BossManPL [ Konsul ]
może nie jestem specem, ale czy nie wystarczy <td width="20%">
edit: oj pardon chodzilo mi o <tr width="20%">
BossManPL [ Konsul ]
no dobra sam spróbowałem i..... nie jestem specem :) sorry za lamerke
legrooch [ MPO Squad Member ]
Liczą się chęci :)
nagytow [ Firestarter ]
Czy problem jest jeszcze aktualny? Rozwiazanie wydaje mi sie dosc latwe. Napisz tylko, w czym to chcesz: PHP, JavaScript, ASP?