Avatar billede cooksie Nybegynder
26. august 2004 - 20:49 Der er 5 kommentarer

Ændring af indhold i css-class via link. Evt via PHP

Som overskriften måske viser, så aner jeg faktisk ikke om dette er et html, css eller php issue.
Men mit problem er at jeg arbejder på en side hvor jeg har 3 css-"kasser". Titel/overskrift vindue i toppen, en menu til venstre og selve hjemmesiden til højre, som lidt kortfattet er kodet sådan:

CSS-filen:
div.title
{
...
}
div.main
{
...
}
div.mainMenu
{
...
}

HTML/PHP-filen:
<div class="title">
...
</div>
<div class="mainMenu">
diverse links
</div>
<div class="main">
...
</div>

Nu er mit problem, at jeg gerne vil kunne klikke på et link i mainMenu, som så ændrer indholdet i main vinduet.

Jeg har siddet og grublet over det en del timer efterhånden, og har søgt både herinde og på google, men kan ikke finde en løsning.

PS. Hvis nogen mener at svaret skal findes under css eller php, må i endelig sige til, for så opretter jeg et nyt spørgsmål der.
Avatar billede skovenborg Nybegynder
26. august 2004 - 22:36 #1
Ja, enten skal du bruge PHP så du fx har alt designmæssigt liggende for sig (menu, titel osv) og inkludere det via PHP på nogle sider så du kun skal ændre på indholdet. Der er flere forskellige måder at gøre det på, men det kan du jo altid spørge om i PHP-kategorien.

Du kan også bruge ren html, ved at bruge en iframe, fx:
<div class="main">
<iframe src="side.html" style="height:100%;width:100%" name="sider"></iframe>
</div>
og så kan du opdatere iframen med dine links i mainMenu, fx:
<a href="andenside.html" target="sider">Et link til en anden side</a>
Avatar billede cooksie Nybegynder
27. august 2004 - 23:36 #2
Ja det ser umiddelbart ud til at kunne gøre tricket.
Det skaber så desværre nogle nye problemer hvor iframe går ind og blander sig i designet ved at den kræver at man sætter height og width, som helst kun skal styres af css. Derudover kan marginwidth og marginheight ikke sættes til 0, hvilket også generer lidt.
Marginwidth/marginheight virker forresten ikke hos mig af en eller anden grund :-(

Er der andre løsninger i html, eller kan man evt deaktivere alt det med iframe størrelser o.lign.
Avatar billede morteeart Nybegynder
28. august 2004 - 00:27 #3
det nemmeste er vel at bruger php include

du kan se et eksempel på det i en artikel jeg har skrevet

http://www.eksperten.dk/artikler/404

Og hvis du vil have scrollbar, så brug:  overflow: auto;
Avatar billede skovenborg Nybegynder
28. august 2004 - 11:14 #4
du kan godt styre width og height på en iframe via css - det netop det jeg har gjort i mit ovenstående eksempel. Derudover kan du prøve med margin i stedet for marginwidth og height, fx:
<iframe src="side.html" style="height:100%;width:100%;margin:0px" name="sider"></iframe>

Men iframe-løsningen var også bare en løsning i html. En PHP-løsning vil være lige så god - og giver heller ikke så meget bøvl mht. margins og den slags.
Avatar billede cooksie Nybegynder
28. august 2004 - 18:45 #5
Det hjalp en del med margin fremfor marginheight/widthheight, men jeg har stadig en ca 5 pixel bred kasse rundt om min main class, hvor baggrunden i hoveddokumentet skinner igennem. Det virker lidt som om at den lille margin der altid er i IE rundt om hjemmesider også optræder inde i iframen når jeg indlæser et dokument i den.
Lidt mystisk, men måske bare mig der f***er op.
Jeg er i mellemtiden kommet lidt længere med php, og det ser ud til at være bedre i dette tilfælde.
Nå men alt andet lige skal du have mange tak for hjælpen skovenborg, og hvis du poster et svar får du self 100 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