Avatar billede Slettet bruger
25. juni 2008 - 18:44 Der er 8 kommentarer og
1 løsning

Holde fast celle-bredde

2 ting:

1) Er det muligt at få cellerne til altid at holde en fast bredde når det gælder almindelig tekst?

Teksten plejer selv at ombryde ord for ord men hvis man f.eks. skriver "aaaaaaaaaaaaaaaaaaaaaaaaaaa" deler den ikke hele ordet når det når cellens bredde? Hvordan ombryder den et meget langt ord vis CSS?

2) Kan jeg lave det sådan at når man kører musen henover overskrifterne <h1> står overskriften også som titel (I de gule markater) På samme måde som når man holder musen henover overskrifterne på www.wordpress.dk?
Avatar billede olebole Juniormester
25. juni 2008 - 20:46 #1
<ole>

1) Nej, det er ikke muligt. Skal det gøres, må du gøre det serverside

2) <h1 title="Noget tekst">Noget tekst</h1>

/mvh
</bole>
Avatar billede olebole Juniormester
25. juni 2008 - 20:47 #2
Hvad punkt 1 angår, så lader du bare selv være med at skrive meget lange ord. Hvis det er brugerinput, er det sikkert blot for at drille - og så kasserer du bare indlægget, før det kommer i nærheden af databasen  ;o)
Avatar billede mclemens Nybegynder
25. juni 2008 - 21:27 #3
1) Du kan bruge IE's wordwrap, men det virker som sagt kun i IE :-/
<div style="overflow:hidden;width:100px;word-wrap:break-word;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>

- Resten af browserne må nøjes med en overflow hidden, medmindre du retter det serverside som Ole foreslår. Det med lange ord er jo kun drillepinde, selv herinde køres en overflow:hidden :-/
øvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Avatar billede roenving Novice
26. juni 2008 - 01:36 #4
-- og en krølle på 1) er, at du kan sætte et block-level element inde i td'en, og så kan du med det sikre at bredden overholdes, og der har mclemens den præcise kode til den indlejrede div !-)
Avatar billede Slettet bruger
26. juni 2008 - 09:44 #5
mcclemens tak for koden, det ser ud til at virke. Du må gerne lave et svar. :)
Har lige en ting mere, er det på samme måde muligt at styre hvor meget cellen må udvide sig i højden? Altså så cellen er låst i højde og bredde? Eller det kan måske ikke lade sig gøre at den bare cutter teksten af eller skriver ... til sidst? ;)
Avatar billede mclemens Nybegynder
26. juni 2008 - 10:22 #6
Du kan låse højden i 25/06-2008 21:27:17 ved at definere f.eks.: height:100px;
- Det vil dog skære teksten af ... du kan også vælge at køre med overflow: auto:

<div style="overflow:auto;width:100px;height:200px;word-wrap:break-word;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>bv</div>

Eller kun en overflow:auto på y aksen (eller bytte dem om og så kun på x aksen)

<div style="overflow-y:auto;overflow-x:hidden;width:100px;height:200px;word-wrap:break-word;">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>b<br>bv</div>

... Deler gerne med Ole, han svarede jo på 2) :)
Avatar billede Slettet bruger
26. juni 2008 - 11:55 #7
mcclemens: Tak for hjælpen.

olebole: Vil du give et svar så får i 20p hver. :)
Avatar billede mclemens Nybegynder
26. juni 2008 - 13:28 #8
Det nærmeste jeg kommer på ... er nok dette:
(det fordrer dog at det er almindelig tekst som i spørgsmålet)
- Prøv at hover over aaa... linjen

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">
#indholdet{width:300px;background:#aaa;}

#indholdet2{width:100px;background:#aaa;}
</style>

<script type="text/javascript">

function ael(elm,evt,f){
  if(elm.addEventListener)elm.addEventListener(evt, function(){eval(f)}, false);
  else if(elm.attachEvent)elm.attachEvent("on"+evt, function(){eval(f)});
}

ael(window,"load","wload();");

function wload(){
  elms=document.getElementsByTagName("*");
  for(i=0;i<elms.length;i++){
    if(elms[i].rel=="wordwrap"){
      tmpw=elms[i].offsetWidth;
      tmptxt=elms[i].firstChild.nodeValue.split(" ");
      elms[i].removeChild(elms[i].firstChild);
      tmparr=[];
      for(j=0;j<tmptxt.length;j++){
        tmparr[j]=document.createElement("span");
        elms[i].appendChild(tmparr[j]);
        tmparr[j].appendChild(document.createTextNode(tmptxt[j]+" "));
        if(tmparr[j].offsetWidth>tmpw){
          tmparr[j].setAttribute("title",tmparr[j].firstChild.nodeValue);tmp=tmparr[j].firstChild;
          while(tmparr[j].offsetWidth>tmpw)tmp.nodeValue=tmp.nodeValue.substr(0,tmp.nodeValue.length-6)+"... ";
        }
      }     
    }
  }
}

</script>




</head><body>

<div id="indholdet" rel="wordwrap">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bla bla bla bla bla bla bla bla bla bla</div>
<br>
<div id="indholdet2" rel="wordwrap">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bla bla bla bla bla</div>

</body></html>
Avatar billede mclemens Nybegynder
26. juni 2008 - 13:32 #9
Hmm, af hensyn til FF skal
    if(elms[i].rel=="wordwrap"){
rettes til
    if(elms[i].getAttribute("rel")=="wordwrap"){
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