» »

Kako "prisiliti" stolpec v tabeli, da ohrani širino?

Kako "prisiliti" stolpec v tabeli, da ohrani širino?

jeti51 ::

Skratka, imam eno spletno stran, kjer je v osnovi najprej tabela s tremi stolpci, ki stran deli na levi in desni meni ter osrednji del (ima še glavo in nogo, ampak to ni bistveno). Skratka tako kot pri slo-techu. Tabela ima nastavljeno širino 100%, levi in desni stolpec tabele sta nastavljena na fiksno širino (150px), osrednji del (osrednji stolpec) pa ima določeno style="width:auto". Na prvi pogled je vse v redu - če spreminjaš velikost okna brskalnika, se tudi srednji stolpec lepo prilagaja, oba menija pa ostaneta enako široka. Problem pa je, če se v osrednjem stolpcu pojavi recimo neka zelo široka slika ali pa kakšen tekst v stilu aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa........aaaaaaaaaaaaaaaaaaaaa. Potem se celotna zadeva raztegne preko okna (spodaj se pojavi drsnik), kar je seveda prav, problem pa je, da takrat pri obeh menijih širina ni več 150px ampak se oba skrčita, kolikor se moreta (na širino najdaljšie besede oziroma najširše slike v meniju). In sedaj vprašanje: kako doseči, da se bo samo osrednji del raztegnil "čez vse meje" (kolikor je pač potrebno), menija pa ostaneta iste širine? Ena rešitev bi bila, da bi v vsak meni dal recimo po eno 150px široko prozorno sliko, ki bi zagotavljala širino, ampak to je bolj kavbojska rešitev...

Še kakšen drug predlog mogoče? Ali tako "pač je" in se to dogaja, če je v oknu premalo prostora in se potem ne upošteva več raznih nastavitev širin?

nodrim ::

heh .. moral bi ostat lepo poravnano ... edino s sliko nisem prepričan kaj se zgodi, če je na sredini ena res velika ... ker se celice morajo prilagodit sliki ... ne vem pa zakaj ti oži stranska stolpca .. po filingu bi rekel, da bi ti vse skp raztegnal še v desno ... ampak zgleda, da tistih 100% drži tukaj :D

kaj pa če v srednjem stolpcu vsebino še enkrat vstaviš v novo tabelo ???

glavic ::

če pišeš v PHP-ju uporabi ukaz wordwrap()
Wraps a string to a given number of characters using a string break character. (PHP 4 >= 4.0.2)
string wordwrap ( string str [, int width [, string break [, boolean cut]]] )
Musselli bizi

SeTAr ::

fora je, da širine stolpcev v htmlju so v bistvu neko "priporočilo" brskalniku kako naj nariše zadevo... zato problemi.

Probaj vse širine določit v css-ju, ter se mogoče še malo igrat z min-width...

jeti51 ::

Saj tista "velika slika.jpg" je tudi že v eni svoji tabeli, samo ker je pač tako velika, raztegne tabelo v srednjem stolpcu in posledično celotno tabelo, ki daje strani obliko. "min-width" žal ne pomaga, pri slikah pa wordwrap() seveda ne pride v poštev. Ampak kot že rečeno, ni problem v tem, da se stran raztegne (saj drugače ne more biti), moti me, ker se pri prevelikem raztegovanju tudi oba stolpca (kao) fiksne širine skrčita.
Link, če koga zanima, kako velike slike malo pokvarijo zadevo, npr. recimo prva slika v tretji galeriji.
(link dela ali pa tudi ne, stran tudi ni ničemur namenjena, je le nekakšen testni polgion za učenje PHP-ja in MySql-a:) )

V skrajnem primeru tako ali tako še ostane zgoraj omenjena kavbojska rešitev pa baje tudi Dremweaver uporablja en tak trik.

LP

beerhunter ::

tole probi:

td width="150" nowrap

pa tole zgornje je seveda z < >

mislm, noče mi tagov postat tle na forumu. Pa saj veš kaj mislim.
-----
"Gee, I thought we'd be a lot higher at MECO!"
Steven Hawley after STS-41D's pad abort 4 seconds before liftoff

Zgodovina sprememb…

Iztok Smolic ::

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
    <td width="150" height="108" valign="top" bgcolor="#0033CC"></td>
    <td width="100%" valign="top" bgcolor="#330033"></td>
    <td width="150" valign="top" bgcolor="#CC9900"></td>
  </tr><tr><td height="1"><img src="images/spacer.gif" alt="" width="150" height="1"></td><td></td><td><img src="images/spacer.gif" alt="" width="150" height="1"></td></tr>
</table>


Pod stolpec ki je statičen daj stolpec ki nima določene dolžine in v njem spacer z dozino le tega stolpca, ja?

jeti51 ::

Pa ravno temu, kar si napisal, se želim izogniti.
Namreč človek bi po "zdravi pameti" pričakoval, da bi morala za oblikovanje stolpcev zadostovati ustrezna nastavitev atributa width, ne pa da je treba iti okoli riti v žep in noter tlačiti prosojne slike ustrezne širine (tudi nowrap žal ne pomaga). No ja, saj v principu zadeva deluje, ampak žal pri (pre)širokih slikah odpove in bo, kot kaže, res treba malo bolj po kavbojsko rešiti zadevo.:)

Iztok Smolic ::

Oprosti sm ne vem zakaj bi blo to kavbojsko ce deluje? Jest sem mel zdele en projekt in sem poskusal naredit portal na nacin brez teh spacerjev - lahko ubibas kaj sem na koncu ugotovil.
-----------/------------

beerhunter ::

nowrap ne pomaga? Hm, men pa lepo ostane cela širina 150px. Tvojo sliko 61.jpg sem razširil na 3000px in stolpec ostane nespremenjen - 150px.

Tuki poglej:
Klik!
-----
"Gee, I thought we'd be a lot higher at MECO!"
Steven Hawley after STS-41D's pad abort 4 seconds before liftoff

freserovski ::

kaj pa če daš v celico &nbsp ne deluje?
Problemi so, problemi bodo! Kurc jih gleda!!

jeti51 ::

izisilver: "kavbojsko" zame pomeni nekaj, kar sicer v principu deluje, ni pa ravno najbolj elegantno. Določanje širin stolpcev s slikami gotovo je en tak primer, saj nenazadnje slike temu niso namenjene, za to obstajajo druge stvari (npr. atribut width). Takšnim in podobnim rešitvam se jaz, če se le da, izogibam, saj je bolj preproste in elegantne rešitve kasneje ponavadi tudi veliko lažje vzdrževati.
Če to odmislimo, pa tudi s tvojo rešitvijo v bistvu ni nič narobe. Tudi sam sem prišel na isto idejo in bi jo tudi uporabil, če ne bi problema rešil na drugačen način - z atributi, ki so v bistvu temu sploh namenjeni v prvi vrsti.

beerhunter: Ja, točno tako, nowrap pri meni ni deloval, čeprav sem imel praktično isto kodo kot ti. Nekaj se pri zalomi, če uporabljaš style (vsaj za inline style, za zunanje css nisem testiral). Recimo:
<td nowrap="nowrap" style="width: 150px">
<td style="white-space: nowrap; width: 150px">
<td width="150px" style="white-space: nowrap">

Nič od zgornjega ne prime, enostavno se stolpec kar skrči, deluje samo verzija brez styleov:
<td nowrap="nowrap" width="150px">

Zakaj je tako, ne vem, ampak to je bil to razlog, da prej, ko sem poskušal z nowrapom, ni delovalo. Zdaj sem pa pač v tabelo dodal eno dummy vrstico višine 1px, v kateri so v td-jih ustrezno določene samo širine stolpcev in pa nowrap-i... styleov tukaj ni. In zadeva končno deluje tako, kot mora (Opera, FireFox, IE), pa tudi v skladu s standardom je. :)

LP!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
!

Vse, kar ste si želeli vprašati o CSS, pa si niste upali. (strani: 1 2 3 423 24 25 26 )

Oddelek: Izdelava spletišč
1297330255 (54404) htmltroubles
»

meni razporejen po celotni dolžini

Oddelek: Izdelava spletišč
71988 (1856) XzupanX
»

HTML tabele

Oddelek: Izdelava spletišč
101173 (1049) HardFu
»

HTML - tabele - PROBLEM!!!

Oddelek: Izdelava spletišč
131407 (1150) IceBreakr
»

table CSS problem ...

Oddelek: Izdelava spletišč
242543 (2369) darh

Več podobnih tem