Avatar billede fatsvag Nybegynder
16. februar 2009 - 14:20 Der er 11 kommentarer og
2 løsninger

Sammenspil mellem php og css

Hej.

Jeg er ved at lege lidt med en side, men er stødt på et problem.

Jeg henter noget data fra en extern fil som jeg så bearbejder. Jeg har delt hver linje op i en string og lavet en array ud fra hver string så jeg kan kalde hvert enkel del. Ud fra dette skal jeg så indsætte nogle billeder, og positionen på disse afhænger af tallene i mine array. Men hvordan kan jeg gøre dette.

Her kan I se et eksempel på hvordan jeg har i tankerne det skal virke. Tallet der står i array[2] skal angive margin-top på billedet efter det er blevet ganget med x.


$array[2] *= $x; // Der ganges med x for at få det i pixels
echo '<img style="position: absolute; margin-top:$top px; margin-left:100px" src="billeder/billede.png">';

Kan jeg få lidt hjælp her?
Skal lige siges at jeg er total nybegynder med php og css. (startede med det i går :) )
Avatar billede fatsvag Nybegynder
16. februar 2009 - 14:21 #1
Hov havde skrevet forkert. Her ses mit kode eksempel. :)

$array[2] *= $x; // Der ganges med x for at få det i pixels
echo '<img style="position: absolute; margin-top:$array[2] px; margin-left:100px" src="billeder/billede.png">';
Avatar billede fatsvag Nybegynder
16. februar 2009 - 14:39 #2
Jeg kan også spørge på en anden måde. Hvorfor virker dette:

echo '<img style="position: absolute; margin-top:100px; margin-left:100px" src="billeder/billede.png">';

Når dette her ikke virker:
$top = "100px";
echo '<img style="position: absolute; margin-top:$top; margin-left:100px" src="billeder/billede.png">';

Håber I kan hjælpe.
Avatar billede majbom Novice
16. februar 2009 - 14:50 #3
ret til:

$top = "100px";
echo '<img style="position: absolute; margin-top:'.$top.'; margin-left:100px" src="billeder/billede.png">';
Avatar billede olebole Juniormester
16. februar 2009 - 15:02 #4
<ole>

Der skal altid enheder på CSS-værdier, når disse ikke er 0 - og der må ikke være afstand mellem tallet og enheden (kik altid i kildekoden og se, hvad der faktisk blev skrevet ud).

Så ville du også opdage, at $top ikke bliver parsed. Det skyldes, du bruger enkelte gåseøjne. Altså enten:

$top = "100px";
echo "<img style=\"position: absolute; margin-top:$top; margin-left:100px\" src=\"billeder/billede.png\">";

- eller:

$top = "100px";
echo '<img style="position: absolute; margin-top:'.$top.'; margin-left:100px" src="billeder/billede.png">';

/mvh
</bole>
Avatar billede olebole Juniormester
16. februar 2009 - 15:03 #5
- eller:

$top = "100px";
echo "<img style='position: absolute; margin-top:$top; margin-left:100px' src='billeder/billede.png'>";
Avatar billede olebole Juniormester
16. februar 2009 - 15:04 #6
:)
Avatar billede majbom Novice
16. februar 2009 - 15:21 #7
ja, havde lige glemt den med enhederne...
Avatar billede olebole Juniormester
16. februar 2009 - 15:27 #8
Nej, splazz. Din kode i #3 er helt korrekt. Den er da vist også magen til min første 'eller' kode (den sidste i #4)  =)
Avatar billede olebole Juniormester
16. februar 2009 - 15:27 #9
- og enheden står jo allerede i variablen  ;o)
Avatar billede olebole Juniormester
16. februar 2009 - 15:29 #10
I spørgerens oprindelige kode er der dog to fejl:
    echo '<img style="position: absolute; margin-top:$top px; margin-left:100px" src="billeder/billede.png">';

Dels parses variablen ikke, da den står under enkelte gåseøjne - og dels er der mellemrum mellem tallet (som variablen skulle resultere i) og 'px'  ;o)
Avatar billede majbom Novice
16. februar 2009 - 15:35 #11
ja okay..

(det er jo mandag :) )
Avatar billede fatsvag Nybegynder
16. februar 2009 - 15:43 #12
Tak til jer begge. Det virker perfekt nu!
Avatar billede majbom Novice
16. februar 2009 - 15:51 #13
selv tak, og tak for point :)
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