Avatar billede tipsen Nybegynder
21. august 2003 - 11:35 Der er 46 kommentarer og
2 løsninger

Positionering nederst til højre i tabelcelle

Hej eksperter

Jeg har følgende kodestump:

<table>
  <tr>
      <td>18-08-2003</td>
      <td>blalbalbla bla bla bla klasd fl ka slkasd flkas dflaks fd [Læs mere]</td>
  </tr>
</table>

Jeg vil gerne have CSS-kode der kan få teksten [Læs mere] til at flytte ud til højre i tabelcellen. Hvis der ikke er plads ude til højre på samme linie, skal teksten i stedet flytte ned på næste linie, men stadig ude til højre i cellen.

Jeg har prøvet noget i retning af at pakke det ind i en div-tag og højre-aligne det, men det bevirker blot at det altid kommer ned på næste linie - what to do?
Avatar billede sublimegirl Nybegynder
21. august 2003 - 11:38 #1
Henter du indholdet ud fra en db?
Avatar billede sublimegirl Nybegynder
21. august 2003 - 11:40 #2
Jeg har ingen forslag i css alene, men kunne man ikke gøre noget lignende:

Hvis antallet af tegn fra db overstiger 20, så:
bla bla <div>[læs mere]</div>
Hvis antallet af tegn fra db er under 20, så:
bla bla [læs mere]
Avatar billede tipsen Nybegynder
21. august 2003 - 11:45 #3
Indholdet kommer fra en db og jeg har gjort således at [Læs mere] teksten afhænger af, hvorvidt indholdet er blevet forkortet eller ej - det er ikke problemet!

Problemet er blot at få flyttet teksten "Læs mere" ud til højre i den omkrandsende boks (tabelcelle, div eller andet) - vel at mærke uden at tilføje en unødvendig ekstra linie - dvs. ud til højre med den tekst - blot på samme linie som "blalbalba" teksten - og "blablalba" teksten kan fylde adskillige linier!
Avatar billede thaufer Nybegynder
21. august 2003 - 11:48 #4
<table>
  <tr>
      <td colspan="2">18-08-2003</td>
      <td>blalbalbla bla bla bla klasd fl ka slkasd flkas dflaks fd</td>
      <td align="right">[Læs mere]</td>
  </tr>
</table>

ovenstående er en mulighed
Avatar billede tipsen Nybegynder
21. august 2003 - 11:56 #5
Nej - den vil altid tilføje en ny linie (række), hvilket jo er hvad jeg ønsker at undgå!
Avatar billede tipsen Nybegynder
21. august 2003 - 11:57 #6
sorry - jeg var lidt for hurtig - men det holder heller ikke med så meget ekstra plads ude i højre side af tabelcellen!
Avatar billede exp Juniormester
21. august 2003 - 11:57 #7
<span style="float:left;">[Læs mere]</span><div>blablabla</div>
Avatar billede tipsen Nybegynder
21. august 2003 - 12:14 #8
<span style="float:right;">[Læs mere]</span><div>blablabla</div>

-dette er tæt på - vi er ude til højre og der tages hensyn til den øvrige tekst, men "Læs mere" placeres altid øverst i cellen, hvor jeg gerne vil have det nederst i cellen!
Avatar billede exp Juniormester
21. august 2003 - 12:36 #9
nåja... right *g*

Kan ikke få den ned i bunden, men det er vel bare et spørgsmål om at prøve sig frem...

Dette er mit bedste bud:
<span style="float:right; vertical-align:bottom;">[Læs mere]</span><span>En tekst for at vise hvordan det virker. Så det er vel nærmest en fyldtekst...</span>
Avatar billede exp Juniormester
21. august 2003 - 12:39 #10
Avatar billede tipsen Nybegynder
21. august 2003 - 13:18 #11
Vi mangler blot at få den ned på bundlinien - og vertical-align har ingen nævneværdig effekt her...
Avatar billede exp Juniormester
21. august 2003 - 13:34 #12
nej det ville sgu være synd at sige *g*

hvad med noget relativ positionering?
Avatar billede tipsen Nybegynder
21. august 2003 - 13:59 #13
Don't know - jeg synes jeg har prøvet alt muligt forskelligt, men har endnu ikke ramt den gyldne kombination!
Avatar billede exp Juniormester
21. august 2003 - 14:30 #14
alternativt kan man aflæse størrelsen på den div den tilhører, og så gøre
<span style="float:right; vertical-align:bottom;"> lige så høj via height: **px
Avatar billede tipsen Nybegynder
21. august 2003 - 15:36 #15
vil det ikke blot give samme resultet som at lave en ekstra tabel-kolonne ude til højre?
Avatar billede exp Juniormester
21. august 2003 - 15:47 #16
Tjoh... men det er vel lidt skæggere med lidt udfordring :-)

Ellers spørg hermandsen, han er ret god til positionering m/ css!

Har underrettet ham om spm via icq, men han er offline lige nu...!
Avatar billede tipsen Nybegynder
21. august 2003 - 16:17 #17
tak skal du have - jeg glæder mig til at se om det overhovedet kan løses.
Avatar billede roenving Novice
21. august 2003 - 17:47 #18
Hvad med:
<span style="float:right;bottom:0px;">[Læs mere]</span>
Avatar billede tipsen Nybegynder
22. august 2003 - 02:20 #19
roenving: Det vil stadig være bottom:0px; i forhold til underkanten af den boks der er lavet af span-tagsene og dvs. bottom ikke får nogen effekt!
Avatar billede hermandsen Juniormester
25. august 2003 - 03:32 #20
Jeg har forsøgt og prøvet og gennemgået en hver css-egenskab jeg kunne komme i tanke om, og der er bare ikke noget at gøre...
Enten kommer det ene til at køre, ellers gør det andet!!

Hvis du VIL have det på den måde skal der noget mere kode til, og så må du bruge position i din css, hvilket også fungerer genialt!!

Nå, men jeg nåede her til:

<html>
    <body>
        <table style="border: 3px solid black; border-collapse: collapse">
            <tr>
                <td style="border: 1px solid black">18-08-2003</td>
                <td style="border: 1px solid black; width: 120px;">blalbalbla bla bla bla klasd fl ka slkasd flkas dflaks fd <span style="white-space: nowrap;">[Læs mere]</span></td>
            </tr>
        </table>
    </body>
</html>

Eneste forskel er at jeg gør brug af "white-space: nowrap", hvilket burde forklare sig selv, men hvordan fanden du lige får den højrestillet, den er sværere...

Hvis du ved PRÆCIST hvor den ligger, kan du bruge position: relative (måske position: absolute) og så right: ??px, hvilket jeg tror kunne gøre det, men som sagt: Hvis jeg skal løse det skal jeg bruge mere kode så jeg ved præcist hvor [Læs mig] ligger henne på siden...

//hermandsen
Avatar billede 7th Praktikant
25. august 2003 - 04:16 #21
Den er tricky :) Jeg prøvede også en masse kombinationer med div og span og float hid og her, men intet hjalp. Anyway jeg kom frem til http://www.justrandb.dk/div.htm
Måske ikke en helt igennem ren css-løsning, men hvis jeg har forstået dit problem rigtigt, så tror jeg det måske er løst.
Avatar billede tipsen Nybegynder
25. august 2003 - 09:47 #22
7th: Du benytter en hel kolonne til "Læs mere" teksten - det holder ikke - den løsning har vi også set ovenfor.
Avatar billede 7th Praktikant
25. august 2003 - 10:01 #23
Nejda, det er også rigtigt. Beklager, den har jeg overset :) Vil så arbejde videre på sagen...
Avatar billede exp Juniormester
25. august 2003 - 10:15 #24
Sjov så svært det er - det _burde_ egentlig være let nok...
Avatar billede tipsen Nybegynder
25. august 2003 - 10:25 #25
hermandsen: Det essentielle er højrestillingen af "Læs mere" - og min sideopbygning er ikke i fast størrelse - den tilpasser sig størrelsen af browservinduet, så jeg har ingen chance for at kende en pixel-placering af teksten "Læs mere".

Jeg har overvejet om det måske er muligt at opnå effekten ved kun at bruge div og span-tags - altså helt skrotte tabellen?

Jeg er faktisk overrasket over at det er så svært/umuligt, at lave - det virker jo umiddelbart som en temmelig simpel opgave!
Avatar billede hermandsen Juniormester
25. august 2003 - 11:41 #26
Det er klart det sjoveste at lave siden vha. div/span og så en hulens masse css!!

Hvis din sides størrelse er angivet i procent er det heller ikke noget problem at bruge position, eftersom du bare kan skrive right: ??%, men jeg ved ikke hvordan du har opbygget din side...

Jeg vil lige forske lidt mere uden din table, bare for at se om der måske er andre metoder... Begynder faktisk at tro at det er "umuligt"!
Avatar billede exp Juniormester
25. august 2003 - 13:02 #27
Tror jeg sgu ikke - det gælder bare om at få den rette ide...

Hvad med

Kommentar: exp
21/08-2003 14:30:04

kan det klares ved hjælp af javascript måske?
Avatar billede hermandsen Juniormester
25. august 2003 - 13:05 #28
Så har jeg (næsten) løsningen!!! :)

Din [Læs mere] kommer aldrig ned på næste linie i forhold til teksten, men bliver altid ude i højre side, ud for nederste linie i teksten...

Problem:
Hvis tekst-indholdet næsten udfylder nederste linie, så bliver teksten overskygget af [Læs mere]...

Nå, men her er i hvert fald mit bedste bud:
http://hermandsen.homepage.dk/exp/390437.html
Avatar billede tipsen Nybegynder
27. august 2003 - 23:59 #29
hermandsen: Det virker som om der stadig bliver gjort plads til en ekstra linie - den bliver blot ikke benyttet - derudover er datoen blevet smidt ovenpå feltet nu i stedet for ude til venstre - men Læs mere er ganske korrekt blev rykket op på samme linie som den øvrige tekst - det er så lidt ærgeligt, at det også vil blive stående selvom der rent faktisk ikke er plads...
Avatar billede tipsen Nybegynder
28. august 2003 - 00:01 #30
Den er ikke god nok endnu...
Avatar billede tipsen Nybegynder
28. august 2003 - 00:05 #31
Hvis der kan laves en løsning der kun involverer div og span vil det være helt fantastisk - meget bedre end en ren tabel-løsning.
Avatar billede tipsen Nybegynder
11. november 2003 - 23:36 #32
exp, 7th og hermandsen: Drop et svar - problemet er godt nok ikke løst ordentligt - men der har været mange "tæt-på" løsninger - så I fortjener som minimum lidt for indsatsen :-)
Avatar billede exp Juniormester
11. november 2003 - 23:38 #33
sjovt det ikke lige kunne laves... altså ikke "HAHA"-sjovt, men sådan lidt mere "???????????????????"-sjovt...
Avatar billede tipsen Nybegynder
12. november 2003 - 00:05 #34
Helt enig - det bør også være muligt at lave en "pæn" css-løsning på det, men vi har bare ikke kunnet finde den... :-/
Avatar billede exp Juniormester
12. november 2003 - 00:06 #35
Tror altså ikke på det ikke kan lade sig gøre!
Avatar billede hermandsen Juniormester
16. november 2003 - 10:31 #36
Måske du kunne løse det med lidt JavaScript... Jeg skal ikke kunne sige det, for jeg fatter ikke så meget JavaScript, men prøv!!
Måske du bedre kunne få information om hvor meget plads du har tilbage at skrive [Læs mere] på og så indsætte den ekstra linie hvis det var nødvendigt...
Men som sagt, ved ikke om det er muligt!!
Avatar billede tipsen Nybegynder
16. november 2003 - 12:46 #37
Jeg vil ikke løse det med client-side scripting - hvis det ikke kan løses med CSS, må det bare se mindre godt ud - synes bare det ville være logisk, hvis man kunne placere en boks relativt til den parent-boks som den befinder sig i!

Altså bruge noget i retning af

position: relative;
right: 0;
bottom: 0;

- men det er lagt i bero i første omgang - jeg siger hvertfald mange tak for jeres forslag og ideer - det kan være vi finder en løsning med CSS3, IE10 (=IE2010), Mozilla 2.379 og Opera 12 :-)
Avatar billede hermandsen Juniormester
16. november 2003 - 12:53 #38
Hehe... Problemet med en box i parent-boxen er at den kan komme til at ligge oven i den anden tekst... :)
Avatar billede tipsen Nybegynder
16. november 2003 - 13:30 #39
...hvad så hvis man lader den anden tekst være indeholdt i en span, hvor der er en right-padding på x em - altså måler hvor lang den anden tekst ("Læs mere") ca. er!
Avatar billede exp Juniormester
16. november 2003 - 16:40 #40
AAAARRGGHHH... HADER at jeg ikke kan finde en løsning på det... :-/
Avatar billede tipsen Nybegynder
16. november 2003 - 17:21 #41
Gad vide om der findes nogle gustne css-forums på nettet - nogen må kunne løse det - sender spørgsmålet til Erik Meyer ;-)
Avatar billede ztyxx Nybegynder
16. november 2003 - 17:29 #42
kan man ikke:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title>højrejuster...</title>
<style type="text/css">
.hoejre {
    width:100%;
    display:block;
    text-align:right;
    }
</style>

</head>

<body>
<table>
  <tr>
      <td>18-08-2003</td>
      <td>blalbalbla bla bla bla klasd fl <br>ka slkasd flkas dflaks fd<br>blalbalbla bla bla bla klasd fl <br>ka slkasd flkas dflaks fd<br>blalbalbla bla bla bla klasd fl <br>ka slkasd flkas dflaks fd<br>blalbalbla bla bla bla klasd fl <br>ka slkasd flkas dflaks fd<br> <span class="hoejre">[Læs mere]</span></td>
  </tr>
</table>

</body>
</html>
Avatar billede ztyxx Nybegynder
16. november 2003 - 17:30 #43
har testet lokalt, og det så ud til at virke
Avatar billede exp Juniormester
16. november 2003 - 18:05 #44
Man kunne også spørge Dave (ham med www.csszengarden.com):
http://www.mezzoblue.com/contact/
Avatar billede tipsen Nybegynder
16. november 2003 - 18:51 #45
ztyxx: Det fungerer næsten som det skal - eneste problem er at det tilføjer en ekstra linie til tabelcellen - selvom det ikke er nødvendigt!
Avatar billede ztyxx Nybegynder
16. november 2003 - 21:00 #46
det er fordi at jeg har sat display:block for at kunne højrejustere teksten
Avatar billede tipsen Nybegynder
16. november 2003 - 22:16 #47
I know - men så er det lige så nemt bare at tilføje en ekstra række i tabellen og aligne den til højre...
Avatar billede ztyxx Nybegynder
16. november 2003 - 22:21 #48
hehe, ja det er der jo så noget om :-)
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