webForumDet fria alternativet

tabeller...

7 svar · 399 visningar · startad av mahedel

mahedelMedlem sedan juli 2002105 inlägg
#1

Någon som har haft problem med tabeller när det blir för mycket text?

Jag har en tabell den ska vara en viss storlek men den bibehålls inte när det blir för många tecken per rad (i testet använder jag "W" för det är den största bokstaven jag hittar i alfabetet). Jag har satt wordwrap på 100 tecken per rad... alltså jag använder php, mysql detta är en gästbok kan nämnas.

Jag vill veta detta för att om någon har stora bokstäver och skriver massa spam så pajjar designen... tabellerna blir helt skeva alltså storleken blir så stor satt det blir inte snyggt.

Finns det något sätt att använda tabeller och bibehålla proportionerna på sidan eller måste man använda frames?

/MVH Martin

PeeerMedlem sedan mars 20025 907 inlägg
#2

Använd ett lägre värde på wordwrap?

mahedelMedlem sedan juli 2002105 inlägg
#3

hmm...

Om jag har det så tar all "vanlig" text så lite där innehållet visas...

/MVH Martin

bossseMedlem sedan juni 2003772 inlägg
#4

Detta kan du fixa genom att lägga in en div på önskad plats i tabellen.
Eller bara använda div-taggar i stället för tabeller.
Har gjort ett litet exempel här.

<HTML> 
<HEAD> 
<style type="text/css"> 
<!--
BODY {background-color:green;font-family:arial,verdana,sans-serif; 
font-size:18;color:white}

DIV 
{background-color:red;position:absolute;top:10%;left:10%;
width:30%; height:35%;border:3px solid white; } 

#DIV2
{background-color:blue; position:absolute; top:25%; left:50%; 
width: 30%; height:35%; border:3px solid black; overflow:auto} 
-->
</style> 

</HEAD>
<BODY BGCOLOR=GREEN>
<div> 
</div>  
<div id=div2> 
Lägger du in så mycket innehåll att det ej ryms så kommer automatiskt en vertikal scroll 
<BR>
Det blir ingen scroll i den röda däremot. Detta fixas med hjälp av overflow:auto 
<BR>
Kopiera in texten i den blå till den röda och den ändrar bara storlek.
</div>  
</BODY>
</HTML>
mahedelMedlem sedan juli 2002105 inlägg
#5

LÖSNINGEN!!!

detta användes som lösning:

for($i=0;$i<strlen($gb_gbtext);$i++) {
$wospace++;
if($wospace>=50)
{
$gb_gbtext=substr($gb_gbtext,0,$i+1)." ".substr($gb_gbtext,$i+1);
}
if($gb_gbtext[$i]==" ") {
if($wospace>$longest)
$longest=$wospace;
$wospace=0; }
}

man kan beskriva den som funktionen "wordwrap". Fast denna återställer sin counter efter varje mellanslag och om antalet tecken överstiger värdet man anger så sätter den in ett mellanslag... då bibehålls tabellen i det skick utan att behöva ha layers osv...

alltså en lite mer funktionsduglig funktion av "wordwrap".

/MVH Martin

PeeerMedlem sedan mars 20025 907 inlägg
#6

Ähum.. är det inte exakt det wordwrap gör? :q

Web-TorMedlem sedan nov. 200013 890 inlägg
#7

Flyttas från HTML-forumet.

mahedelMedlem sedan juli 2002105 inlägg
#8

Jag provade och det fungerade inte...

Jag provade och det fungerade inte för att "wordwrap" inte räknar om det är ett helt ord bara om det är ett mellanslag så blir det bra... så denna funktion funkar mycket bra.

/MVH Martin

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)