webForumDet fria alternativet

Låta text "flöda" mellan olika celler

HTML & CSS

10 svar · 508 visningar · startad av MrLove

Medlem sedan nov. 20012 inlägg
Frågan#1

Jag undrar om det är möjligt att få text som inte får plats i en cell att automatiskt fortsätta i en annan cell som man själv anger. Användbart om man vill ha löpande text i flera spalter, något som ju i tryckt text är mycket vanligt (funktionen finns i alla layoutprogram). Har dock inte sett en enda site som skriver löpande text i mer än en spalt, så jag antar att det inte går (i de flesta fall är det ju faktiskt inte önskvärt - men det vore kul att ha möjligheten).

Medlem sedan feb. 20012 412 inlägg
#2

Hej och välkommen till wF

Mig veterligen går inte detta i ren HTML. I ASP till exempel kan du styra ut texten i flera kolumner.

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan nov. 20012 inlägg
#3

Tack för det snabba svaret! Det blir alltså till att lära sig ASP...

Medlem sedan jan. 20016 874 inlägg
#4

Välkommen till WF.
Misstänker att detta inte riktigt är vad du söker, men css har något som kallas "overflow" som skall kunna styra hur innehållet i ex. ett lager skall hanteras i fall det inte rymms.
Kika lite här: http://www.w3.org/TR/REC-CSS2/visufx.html#propdef-overflow

------------------
/frankof
Respektlös??!! Jag?!, Nej det är värre än så, förakt kallas det!!
klick

Medlem sedan aug. 200035 inlägg
#5

Går det att lösa med ASP? Hur då?

Medlem sedan juni 20011 732 inlägg
#6

Det lär det ju inte göra, asp i sig är ju enkelt uttryckt bara ett sätt att spotta ut html (och annan klientkod) dynamiskt, i slutändan är det ändå gammal hederlig html-kod som bestämmer hur sidan ska visas. Du kanske tänker på att man dynamiskt kan bygga upp en tabell där man vid behov kastar in en colspan sträcker sig över två kolumner, men det känns som en ganska fyrkantig lösning.

Måste du använda tabeller då? Kan du inte använda lager?

Medlem sedan nov. 20017 144 inlägg
#7

Blir det lättare med lager/divar? Hur gör man då?
Jag tycker att det låter som ett javascript skulle kunna göra susen.
Asp- jo fördelen är att man dynamiskt skulle kunna räkna ut antalet tecken du vill visa i en spalt och när den är "fylld" så genererar skripet en ny div till höger om den "fulla" osv. Så det skulle kanske kunna vara en lösning.

Medlem sedan aug. 200035 inlägg
#8

Hmm, kanske något i stil med detta:

Algoritm för två kolumner:
Ladda in hela texten i en javascript-array.
Skriv ut första hälften i den ena kolumnen, nästa hälft i andra osv.
Alternativt lägg in koll mot att ord delas, horungar etc.

Det borde inte spela så stor roll om det handlar om html-tabeller eller divvar(lager).

Medlem sedan juni 20011 732 inlägg
#9

Ah, jag missuppfattade dig nog, trodde du ville att själva texten skulle flyta över från en cell till en annan i en tabell utan att cellen "pressades ut". :) Men jo, då kan du klippa av texten efter låt säga ett visst antal tecken med exempelvis asp och sedan lägga resterande text i en annan kolumn. Det är inte alls svårt, fråga på asp-forumet.

Eller gör samma sak med javascript som föreslagits här ovan, det fungerar nog det också.

Medlem sedan nov. 20017 144 inlägg
#10

Jag trixade lite med ett annat script som jag hittade. Du kan kolla lite på det. (Om du har tillgång till Asp vill säga)

<style type="text/css">
<!--
span{font-family:tahoma,verdana,arial; font-size:11px; }
.firstspan{float:left;width:160px;border-left:1px solid silver;border-top:1px solid silver;border-right:1px solid silver;border-bottom:1px solid silver;padding: 5;}
.secondspan{float:left;width:160px;border-left:1px solid silver; border-top:1px solid silver;border-right:1px solid silver;border-bottom:1px solid silver;margin-left:-1px;padding: 5;}
-->
</style>

<% 
Function CutString(sStr, lMaxLength)
   If InStr(lMaxLength, sStr, " ") Then
        CutString = Left(sStr, InStr(lMaxLength, sStr, " "))
        CutString = "<span class=firstspan>"+ CutString + "</span><span class=secondspan> "+ mid(sStr, InStr(lMaxLength, sStr, " "))+"</span>"

	Else
       CutString = "<span class=firstspan>"& Left(sStr, lMaxLength)&"</span>"
	End If
End Function

variabel = "<b>Lex Hermae</b><br> "&_
"Ego, Bonisagus, me ordinem sodalesque fideliter adiuvare me vivo hac re iuro. quemquam sodalem ordinis"&_
" potentia magica non privabo vel privare conabor. quemquam"&_
" sodalem ordinis non necabo vel necare temptabo, bello magorum iure effecto excepto. bellum magorum pugnam apertam magorum duorum esse, atque si in bello magorum"&_ 
"interficiar, poenam nullam in magum qui me necaverit cadere intellego. "&_
"decretis in tribunale suffragio aequo factis stabo. suffragium unum in tribunale habebo, cauteque utar. aequa suffragia ceterorum in tribunale habebo."&_
"ordinem ab actionibus non periclitabor. rebus quotidianorum non interveniam et ab ea re sodales pessum dabo. cum diabolis non ageam, ne animum meum animosque sodalium "&_
"quoque in periculum adducturus sim. nymphas non vexabo, ne ultio sodalibus quoque nocitura sit. arte magica non utar ut sodales ordinis Hermae speculer. "

Response.write CutString(variabel,600) 'Testa att ändra detta värde för att justera kolumnerna.
%>
Medlem sedan juli 2002167 inlägg
#11

kanske lösninge som Herald tribut använder kan vara något. http://www.iht.com/articles/94118.html

269 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)