Avatar billede ofirpeter Nybegynder
08. maj 2009 - 02:38 Der er 15 kommentarer og
1 løsning

Fremtving mellemrum

Hej,
Jeg har et en nyhedsside, hvor nyhederne kommer på følgende form:

1. OVERSKRIFT
tekst tekst tekst [Læs mere | 3 kommentarer]

2. OVERSKRIFT
tekst tekst tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst
tekst [Læs mere | 3 kommentarer]

3. OVERSKRIFT
tekst tekst tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst
tekst tekst tekst tekst [Læs mere |
3 kommentarer]

"Læs mere" og "3 kommentarer" linker til hver deres side.

Problemet opstår i nummer 3 da "Læs mere" og "3 kommentarer" bliver adskildt af et mellemrum. Jeg ønsker at det hele rykker ned sammen (hvis der ikke er plads til det på linien), således at nummer 3 kommer til at se således ud:

3. OVERSKRIFT
tekst tekst tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst
tekst tekst tekst tekst
[Læs mere | 3 kommentarer]

Kan det lade sig gøre?

Mvh.
Peter
Avatar billede erikjacobsen Ekspert
08. maj 2009 - 08:47 #1
Du kan skrive det som (skitse)

[Læs mere | 3 kommentarer]
Avatar billede magic-mouse Novice
08. maj 2009 - 08:47 #2
Er det kun hvis der ikke er plads på linien?

Jeg vil anbefale at du laver et mellemrum så det kommer på en seperat linie uanset hvad.

Det adskiller [Læs mere | # Kommentarer] fra selve teksten og gør den mindre forvirrende. (+ løsningen er bare en <br/>)
Avatar billede ofirpeter Nybegynder
08. maj 2009 - 09:15 #3
Nu har jeg prøvet følgende, som ikke virker. Har jeg misset noget? Eller er det fordi der ligger et billede at det driller?

<span><a href='$href"."#kommentar"."'><img src='commentsSmall.gif' alt=''> ".taelKommentarer($row["news_id"])."</a> | <a href='$href'>Læs mere</a></span>
Avatar billede erikjacobsen Ekspert
08. maj 2009 - 09:46 #4
<span><a href='$href"."#kommentar"."'><img src='commentsSmall.gif' alt=''>&nbsp;".taelKommentarer($row["news_id"])."</a>&nbsp;|&nbsp;<a href='$href'>Læs&nbsp;mere</a></span>
Avatar billede ofirpeter Nybegynder
08. maj 2009 - 11:07 #5
Af en eller anden grund skiller den stadig mellem billedet og ".taelKommentarer($row["news_id"]).".

Har lavet en lille demo her: http://www.danskweb.dk/exp/874281.php
Avatar billede ofirpeter Nybegynder
08. maj 2009 - 11:09 #6
Nu opdager jeg lige at IE godt kan finde ud af det, men det ser ud til at det er den eneste browser. Er der en workaround for de resterende?
Avatar billede webweaver Praktikant
08. maj 2009 - 11:23 #7
Har du prøvet bare at indsætte et simpelt <br /> tag?
Lige før din span. Som det også bliver nævnt længere oppe.

Du kunne også sætte din teksttekstteksttekst ind i et <p> tag, som du bør gøre for at det er ordentligt. Det burde også fremtvinge linieskift :)
Avatar billede ofirpeter Nybegynder
08. maj 2009 - 11:34 #8
Problemet er at linjeskiftet kun skal komme hvis der ikke er plads til hele teksten ( [Læs mere | 3 kommentarer] ) på linjen.
Avatar billede webweaver Praktikant
08. maj 2009 - 12:08 #9
Øhm yeah okay. Hmm.. Hvad med,

<?

    $minVariabel = "<span><a href='$href"."#kommentar"."'><img src='commentsSmall.gif' alt=''> ".taelKommentarer($row["news_id"])."</a> | <a href='$href'>Læs mere</a></span> ";
   
    $lines = substr_count ($minVariabel, "\n");
   
    if (strrchr ($minVariabel, "\n") != "\n") {
   
        $lines++;
       
    }
   
    if ($lines != 1) {
   
        $minVariabel = "<br /><span><a href='$href"."#kommentar"."'><img src='commentsSmall.gif' alt=''> ".taelKommentarer($row["news_id"])."</a> | <a href='$href'>Læs mere</a></span> ";
   
    }
   
    echo $minVariabel;

?>

Dette er hurtigt afprøvet, og ser ud til at virke.
Jeg gør det at jeg tæller om der er linieskift i dine links, og hvis der er indsættes <br />. :)

Håber det funker i din kode også.
Avatar billede ofirpeter Nybegynder
08. maj 2009 - 12:51 #10
Det kan jeg bare ikke rigtig bruge, da jeg ikke er klar over hvor lang teksten er. Der kan være 1-100 linieskift. Så skal jeg begynde at tjekke før og efter, men det bliver lidt omstændigt synes jeg.
Avatar billede webweaver Praktikant
08. maj 2009 - 12:58 #11
Nej slet ikke. Tror ikke du forstår scriptet helt. Den er ligeglad med alt din tekst. Det eneste den  checker på er "<span><a href='$href"."#kommentar"."'><img src='commentsSmall.gif' alt=''> ".taelKommentarer($row["news_id"])."</a> | <a href='$href'>Læs mere</a></span>

om det står på 1 linie eller 2. Om der er 10 linier eller 20 linier tekst ovenover er irrelevant.

Du skal bare smide scriptet direkte ind ovenfra, og så burde det køre.
Avatar billede erikjacobsen Ekspert
08. maj 2009 - 20:01 #12
Jeg kender ikke nogen X-browser, standard måde at undgå linieskift efter et billede.
Avatar billede jagdos Nybegynder
09. maj 2009 - 16:02 #13
Kunne du ikke bare bruge <nobr>?
altså
<nobr><span><a href="#kommentar"><img src="commentsSmall.gif" alt=""/> 0</a> | <a href="">Læs mere</a></span></nobr>
Avatar billede ofirpeter Nybegynder
09. maj 2009 - 17:29 #14
jagdos - du er en vinder! Det var lige en fantastisk løsning på det problem. Smid gerne et svar.
Avatar billede erikjacobsen Ekspert
09. maj 2009 - 19:15 #15
<nobr> er ikke tilladt i xhtml, som spørgeren anvender.
Avatar billede jagdos Nybegynder
09. maj 2009 - 19:34 #16
Svar :)
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

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