/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Funktion til negativ venstre-margin
Fra : Kristoffer Gram


Dato : 06-05-05 16:05

Hej NG
Jeg sad med et problem med centrering af en tabel da jeg fandt
over denne her smarte løsning:

http://www.webdesign101.dk/xhtml/css/csslayout/autocentrering_4.p
hp

Nu fik jeg imidlertid et andet lille problem, nemlig at i
eksemplet har han en fast bredde men tabellen jeg skal centrere
indeholder overskrifter, som skal variere alt efter siden og hvis
man skulle lave det via eksterns stylesheet ville det kræve at
jeg målte alle overskrifternes bredde og lavede et stylesheet til
hver af dem så istedet lavede jeg denne lille funktion:

function placehead(){
   margin = document.getElementById("head").width / 2
   document.getElementById("head").style = "margin-left: -" +
margin + "px;"
}

Det den gerne skulle er at tage tabellens width (tabellens id er
head) dividere det med 2 sætte det ind som en negativ margin...
er der nogen der kan fortælle mig hvad jeg gør forkert og om det
i det hele taget kan lade sig gøre?

Her er siden
http://www.teamnuggi.frac.dk/forside/

Hilsen
Kristoffer Gram

PS. _ i min mail skal være en - ... bare min egne lille spam
sikring :D

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johnny Winther Ronne~ (06-05-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 06-05-05 17:14


"Kristoffer Gram" <kristoffer_gram@hotmail.com> skrev i en meddelelse
news:427b8781$0$79454$14726298@news.sunsite.dk...
> Hej NG
> Jeg sad med et problem med centrering af en tabel da jeg fandt
> over denne her smarte løsning:
>
> http://www.webdesign101.dk/xhtml/css/csslayout/autocentrering_4.p
> hp
>
> Nu fik jeg imidlertid et andet lille problem, nemlig at i
> eksemplet har han en fast bredde

Eksemplet er baseret på brug af div og ikke på tabeller, så du kan ikke
bruge det eksempel som reference ramme for et tabelbaseret layout.

> men tabellen jeg skal centrere
> indeholder overskrifter, som skal variere alt efter siden

Variere i forhold til hvad? Og man centrerer ikke ved at ændre på margen man
bruger den rigtige attribut.

> og hvis
> man skulle lave det via eksterns stylesheet ville det kræve at
> jeg målte alle overskrifternes bredde og lavede et stylesheet til
> hver af dem

Hor har du den ide fra?

>så istedet lavede jeg denne lille funktion:
>
> function placehead(){
> margin = document.getElementById("head").width / 2
> document.getElementById("head").style = "margin-left: -" +
> margin + "px;"
> }

width / 2 kan ikke lade sig gøre, det er en tekststreng der indholder
bogstaver og derfor konverteres den ikke til et tal.

> Det den gerne skulle er at tage tabellens width (tabellens id er
> head) dividere det med 2 sætte det ind som en negativ margin...
> er der nogen der kan fortælle mig hvad jeg gør forkert og om det
> i det hele taget kan lade sig gøre?
>

Gør dig selv og brugeren en tjeneste brug procent når du angiver bredder i
tabeller, så kan siden skalere hvilket er meget nyttigt.

Sæt dig ned og læs specifikationen for tabeller.

http://www.w3.org/TR/html4/struct/tables.html

Således at du forstår, hvordan tabellen grundlæggende fungerer og hvilke
atributter du kan bruge.

Med venlig hilsen
Johnny Winther Ronnenberg



Erik Ginnerskov (07-05-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 07-05-05 00:08

Kristoffer Gram wrote:

> Nu fik jeg imidlertid et andet lille problem, nemlig at i
> eksemplet har han en fast bredde men tabellen jeg skal centrere
> indeholder overskrifter, som skal variere alt efter siden

Skip negativ margin og brug i stedet margin:auto

http://hjemmesideskolen.dk/html/flyd.asp#fast
http://hjemmesideskolen.dk/html/flyd.asp#pct

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Kristoffer Gram (07-05-2005)
Kommentar
Fra : Kristoffer Gram


Dato : 07-05-05 16:37

Tak for de "pæne" ord...
Nu da i begge er blevet enige om at jeg er idiot kan jeg så fortælle
jer at ingen af jer har fattet problemstillingen.
Det jeg savner er en tabel med lige meget på hver side... Det er
lige meget om den er placeret i midten eller noget andet sted hele
pointen er at lave en tabel der i stedet for at udvide sig til højre
udvider sig til begge sider lige hurtigt... Det var det min funktion
skulle gøre og det kan godt være at den er lavet helt forkert, jeg
er jo heller ikke professionel men det jeg savner er som sagt en
funktion der kan sætte en tabels margin til minus halvdelen af den
bredde... Er det muligt?

Hilsen
Kristoffer Gram

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Johnny Winther Ronne~ (07-05-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 07-05-05 18:39


"Kristoffer Gram" <Kristoffer_gram@hotmail.com> skrev i en meddelelse
news:427ce09c$0$79453$14726298@news.sunsite.dk...
> Tak for de "pæne" ord...
> Nu da i begge er blevet enige om at jeg er idiot kan jeg så fortælle
> jer at ingen af jer har fattet problemstillingen.
> Det jeg savner er en tabel med lige meget på hver side... Det er
> lige meget om den er placeret i midten eller noget andet sted hele
> pointen er at lave en tabel der i stedet for at udvide sig til højre
> udvider sig til begge sider lige hurtigt...

Hvilket du rent faktisk har fået svar på, svaret er sæt bredden i procent og
tabellen vil skalere ensartet både til højre og til venstre.

>Det var det min funktion
> skulle gøre og det kan godt være at den er lavet helt forkert, jeg
> er jo heller ikke professionel men det jeg savner er som sagt en
> funktion der kan sætte en tabels margin til minus halvdelen af den
> bredde... Er det muligt?
>

Det nemme svar er ja, men det giver ingen mening. Dit indledende sprørgsmål
baserede sig på, at dine overskrifter skulle centreres og det har du også
fået et svar på. Brug den rigtige attribut.

Et godt råd, klap lige hesten, inden du får en fut til netetikette, med din
attitude bliver det ikke sjovt at danse der.

Hvis du ikke føler de svar du får er fyldestgørende, så er det måske fordi
du spørger om det forkerte, eller er så dybt indgroet i en bestemt tankegang
at du ikke kan se skoven for bar træer.

Giv os et link til siden og prøv i klar tale at forklare hvad du vil opnå,
så vil vi hjælpe dig så godt vi kan.

Lad mig sige det lige ud, det giver dig ingen vennner at pisse på
Ginnerskov, der nyder stor respekt i gruppen og som driver et af de mest
seriøse websteder om webudvikling i DK.

Med venlig hilsen
Johnny Winther Ronnenberg



Kristoffer Gram (07-05-2005)
Kommentar
Fra : Kristoffer Gram


Dato : 07-05-05 21:25

Du må meget undskylde hvis jeg kom til at virke lidt for sur (hvilket jeg jo
nok gjorde) men jeg har brugt 2 uger på at spekulere over en måde at få det til
at virke på, og prøvet meget forskelligt indtil jeg fandt på denne løsning og
brugte 2 timer på at lave funktionen (jeg er som sagt ikke specielt god). Men
den virkede som sagt ikke hvorefter jeg brugte yderligere et par timer på at
kigge efter fejl. Da jeg ikke kunne finde nogen spurgte jeg min onkel der slet
ikke gad tage stilling til det og brugte den næste time på at høre om at jeg
hellere skulle bruge tabeller, og prøvede på at forklare ham at jeg ihvertfald
ikke kunne lave en centrering med tabeller (ved ik om man kan men jeg kan
ihvertfald ikke se for mig hvordan hvis man også skal have en menu ude i siden
og et topbanner). Derefter kiggede jeg efter flere fejl og gik så herind og
skrev ind. Så om eftermiddagen i dag gik jeg så ind og kiggede og så at der var
2 svar og blev straks glad men det forsvandt lidt da jeg opdagede at det første
bare var en lang besked der linie for linie beskrev at alt i min funktion var
forkert og det andet viste mig 3 funktioner hvor den ene ikke kunne bruges og
den anden havde defineret fast bredde. Så blev jeg lidt sur men undskyld hvis
jeg har fornærmet jer.

Men du bliver sur over at jeg ikke godtager jeres løsninger så jeg skal lige
hurtigt ridse problemerne med dem op:

Med fast bredde: Præcis det med fast bredde :P jeg vil helst have at tabellerne
passer til overskrifterne.
Med %: At tabellens bredde igen er defineret og passer sig ind efter siden,
istedet for efter teksten.
Med negativ margin: Det er det jeg prøver på, uden så meget held
fordi margin skal defineres og derfor bliver det samme for alle overskrifter og
derfor lavede jeg funktionen.

Jeg ved ikke om jeg bare har overset en vigtig del at metoderne, men min
løsning er, som jeg ser det (hvis den altså kan lade sig gøre), den mest
logiske.
Så jeg spørger så igen: Er det på nogen måde muligt at lave en javascript
funktion som sætter en tabels margin til minus halvdelen af den bredde?

Og jeg skrev altså sidens adresse i første indlæg...

Hilsen
Kristoffer Gram

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Johnny Winther Ronne~ (08-05-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 08-05-05 09:38


"Kristoffer Gram" <kristoffer_gram@hotmail.com> skrev i en meddelelse
news:427d2437$0$79459$14726298@news.sunsite.dk...
[...]
>og prøvede på at forklare ham at jeg ihvertfald
> ikke kunne lave en centrering med tabeller (ved ik om man kan men jeg kan
> ihvertfald ikke se for mig hvordan hvis man også skal have en menu ude i
siden
> og et topbanner).

Det bliver du ved med at påstå men så se her.

http://80.62.61.212/test/centrering%20af%20tabel.htm

eller

http://80.62.61.212/test/centrering%20af%20tabel2.htm

Der er kun brugt almindelig html, ingen CSS eller JavaScript.

> Med fast bredde: Præcis det med fast bredde :P jeg vil helst have at
tabellerne
> passer til overskrifterne.

Det forstår jeg simpelt hen ikke formålet med???

> Så jeg spørger så igen: Er det på nogen måde muligt at lave en javascript
> funktion som sætter en tabels margin til minus halvdelen af den bredde?
>

Svaret er ja, men det løser bare ikke dit problem, for du kan ikke bruge det
til noget som helst. For du kan ikke måle på tekstens bredde, hvilket er
hvad du gerne vil gøre. Hvis kolonnerne skal følge tekstens bredde. Og nej
det kan heller ikke gøres selv om du bruger <div> Der er ingen måde hvor du
kan måle bredden af en tekst, det er browseren der styrer hvorledes teksten
ombrydes. Så det du forsøger er umuligt ud fra din beskrivelse af problemet.

> Og jeg skrev altså sidens adresse i første indlæg...
>

Som førte til en tom side

Med venlig hilsen
Johnny Winther Ronnenberg



Erik Ginnerskov (08-05-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 08-05-05 21:09

Kristoffer Gram wrote:

> og det andet viste mig 3 funktioner hvor den ene ikke kunne bruges og
> den anden havde defineret fast bredde.

Det var, hvad jeg indtil i går havde liggende af den type. Men bare for at
vise dig, at det også kan laves både med variabel bredde *og* variabel
venstre/højre margin, har jeg lavet en side, der demonstrerer det:

http://hjemmesideskolen.dk/html/testsider/varfont.asp

Der er ikke etableret link til siden endnu, da der lige skal laves lidt
finpudsning på nogle detalje. Men siden viser løsningen på dit problem - så
vidt jeg har forstået din problembeskrivelse.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Erik Ginnerskov (07-05-2005)
Kommentar
Fra : Erik Ginnerskov


Dato : 07-05-05 21:02

Kristoffer Gram wrote:

> Nu da i begge er blevet enige om at jeg er idiot

Hov, hov. Det har jeg aldrig antydet. Må vi lige bede om kammertonen.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk/



Jens Gyldenkærne Cla~ (07-05-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-05-05 23:07

Kristoffer Gram skrev:

> Du må meget undskylde hvis jeg kom til at virke lidt for sur
> (hvilket jeg jo nok gjorde)

Ja - det gjorde du. Jeg kan godt forstå at det kan være
frustrerende når man ikke kan få en side til at virke, men det er
jo altså ikke brugerne af denne gruppes skyld.

Brugerne i gruppen her deltager af egen fri vilje, ulønnet og i
fritiden. Hvis man vil have hjælp, er det en god ide at opføre sig
pænt.

> Så jeg spørger så igen: Er det på nogen måde muligt at lave en
> javascript funktion som sætter en tabels margin til minus
> halvdelen af den bredde?

Prøv at begynde med at validere din html- og css-kode. Der er en
del fejl i begge. Hvis du skal have en side - eller for den sags
skyld en javascriptfunktion - til at virke korrekt, er det noget
lettere hvis den grundlæggende kode på siden - html og css - også
er i orden. Det er den ikke nu.

Se mere på siderne her: <http://www.html-faq.dk/1005.asp>
<http://diveintomark.org/archives/2003/05/05/why_we_wont_help_you>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408851
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste