23. oktober 2006 - 15:00Der er
6 kommentarer og 1 løsning
Skalering af varierende tekst til fast bredde
Hej
Jeg skal lave et html dokument til et nyhedsbrev, som skal liste flere instanser af tekst med en overskrift under hinanden. Størrelsen af overskriften for hver stykke tekst, ønsker jeg varieres, så bredden på alle overskrifter er den samme. Dette har den bivirkning at korte overskrifter bliver meget store og lange bliver meget små.
Nogen der ved hvordan man med html/css/jscript kan autoskalere sin tekst til en fast bredde?
Du kan bruge style="text-align:justify" på et enkelt element, hvorefter alle linjer i dette element bliver lige lange - men der er ikke nogen mulighed for at gøre det samme på tværs af elementer.
Lige marginer ligner iøvrigt somregel noget, der er trykket ud af den grimme ende på en selvdød gnu ... og i HTML er det endnu værre end ved alm. print-arbejde! :o|
Ja, text-align:justify kan nok ikke du. I de fleste tilfælde drejer sig bare om en enkelt linie, og så gør den ikke noget idet linien jo er "lige lang". Faktisk drejer det sig ofte bare om et enkelt ord, og da justify bare tilrette mellemrummet mellem ordene er den da ikke meget bevendt. Jeg skal finde ud af at justere ounktstørrelsen på teksten indtil teksten passer i bredden.
Hej Simon. Jeg har lavet dette eksempel til dig. Håber du kan bruge det til dit nyhedsbrev.
<HTML> <HEAD> <TITLE>autoWidth</TITLE> <script> function setAutoWidth(){ // juster fontSize til bredde af parentElement (JHe-ting) for (var nn=0; nn < document.all.length; nn++){ var elm = document.all(nn); if (elm.className.indexOf("autoWidth")!=-1){ var rng = document.body.createTextRange(); elm.style.fontSize="200%"; // pct size for at kunne regne rng.moveToElementText(elm); var wd = rng.boundingWidth; var pct = parseInt(elm.style.fontSize)/100; pct = Math.floor(pct*100*elm.parentElement.clientWidth/wd); elm.style.fontSize=pct+"%"; } } }
<style> P { text-align:justify } </style> </HEAD> <BODY>
<h1 class=autoWidth><nobr>autoWidth eksempel</nobr></h1> <p></p> <h1 class=autoWidth ><nobr>Prøv at ændre vinduets størrelse.</nobr></h1> <p>Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel.</p> <h1 class=autoWidth ><nobr>Afsnit 2 mmmmmmm</nobr></h1> <p>Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel.</p> <h1>Normal overskrift der ombrydes normalt</h1> <p>Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel.</p> <h1 class=autoWidth><nobr>Afsnit 3 har en længere <br>smøre på to linjer</nobr></h1> <p>Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel. Dette er bare et eksempel.</p>
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.