Avatar billede thomasabcd Nybegynder
18. oktober 2006 - 22:24 Der er 18 kommentarer og
1 løsning

sætte max længde på tekst via css

Er det muligt at sætte max-længden for en tekst via css, så jeg eks. kan få den til at lave linieskift, hvis der er mere end X antal tegn i min tekst?
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 22:33 #1
Nej, det er så vidt jeg ved ikke muligt. Men det er muligt at lave en max-længde i pixels.

Hvis du ønsker en max længde i antal tegn, så ville jeg nok gøre dette via noget serverside scripting som ASP eller PHP. Der kan du nemt lige tælle op og så lave linieskift.
Avatar billede thomasabcd Nybegynder
18. oktober 2006 - 22:38 #2
Det er fint nok, hvis jeg kan opnå det samme med max-længde i pixels. Altså indsætte linieskift, hvis linien er større end x antal pixel. Hvordan gør jeg det?
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 22:46 #3
Du definerer bare en bredde på det element som teksten bor inde i. Så laver den automatisk liniskift, men den holder dog ordene sammen, men det går jeg også ud fra at du ønsker?
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 22:47 #4
Og i CSS definerer du en bredde med:

width:100px;
Avatar billede thomasabcd Nybegynder
18. oktober 2006 - 23:02 #5
ok. Det har jeg prøvet nu, men det virker ikke. Jeg har indsat følgende:
        background-image: url(Images/stars/SavedStar.png);

    font-size: 10px;
    width: 200px;

(background-image er blot for at tjekke, at den faktisk tildeler CSSen til teksten)
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 23:15 #6
Poster du en URL?
Avatar billede thomasabcd Nybegynder
18. oktober 2006 - 23:23 #7
Har ikke lige mulighed for at smide noget op på et offentligt domæne p.t. Har lavet følgende eksempel. Den skriver strengen som én lang streng istedet for at dele den op pr. 100px:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
</head>
<body>
    <span style="width: 100px" class="testCSS">dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd</span>
</body>
</html>
Avatar billede thomasabcd Nybegynder
18. oktober 2006 - 23:24 #8
ups... fjern "class="testCSS""... virker dog stadig ikke efter hensigten
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 23:31 #9
Brug et block-element som fx div, i stedet for span.
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 23:32 #10
hov, og så er der jo ingen mellemrum i din tekst. Så vil den ikke kunne finde ud af at dele det op. Men det er der en løsning på.. 3 sek
Avatar billede mapoulsen Nybegynder
18. oktober 2006 - 23:34 #11
Nej, det kan jeg ikke lige huske. Plejer vidst bare at undgå så unaturligt lange ord som det du har indsat der.
Avatar billede thomasabcd Nybegynder
18. oktober 2006 - 23:37 #12
Ovenstående er også urealistisk. Troede dog ikke,det gjorde en forskel... men hvis jeg bruger div istedet for span, virker det perfekte i min rigtige situation. Tak for hjælpen!
Avatar billede roenving Novice
18. oktober 2006 - 23:40 #13
Typisk støder man ind i den slags problemer fordi nogen prøver at spamme en tagwall e.l., og så er løsningen at banne den slags indlæg ...

-- og ellers skal du over i java script:

<script type="text/javascript">
var txt = "dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
document.getElementById.innerHTML = txt.replace(/[^\b]{26}/,"$1<br>");
</script>
Avatar billede elskermad.dk Nybegynder
19. oktober 2006 - 08:13 #14
roenving: hvad betyder \b ?
Avatar billede olebole Juniormester
19. oktober 2006 - 11:45 #15
<ole>

elskermad.dk >> word boundary  ;o)

/mvh
</bole>
Avatar billede elskermad.dk Nybegynder
19. oktober 2006 - 15:28 #16
:) og det er alle almindelige tegn eller? der er \d for tal, \b er så bogstaver?
Avatar billede olebole Juniormester
19. oktober 2006 - 15:33 #17
\b matcher begyndelsen eller slutningen af ethvert ord.
Derimod matcher \w ethvert 'ord'-tegn ... ligesom \d matcher ethvert tal.
Håber, det hjalp  :)
Avatar billede elskermad.dk Nybegynder
19. oktober 2006 - 16:59 #18
dvs din reg.exp. kun skiller hvis den _ikke_ finder en slutning eller start inden for 26 tegn?
Avatar billede roenving Novice
19. oktober 2006 - 23:53 #19
Jepz !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester