14. januar 2010 - 10:27Der er
7 kommentarer og 1 løsning
Dynamisk div på indhold
Hejsa
Jeg er lige ved at lave en hjemmeside, og css driller allerede fra start, så det bliver helt sikkert et godt projekt.
Men det er meget simpelt egentlig. Jeg skal have en 3 spalter, som jeg laver ud af 3 div's. Spalterne i højre og venstre side skal have en fast bredde, men spalten i midten, skal fylde 100%, således at hvis enten højre eller venstre spalte er væk, så strækker den sig så meget den kan.
Problemet er, at content delen skubber sig selv ned under sidebar_left og sidebar_right flytter sig ned under content. De skulle helst stå ved siden af hinanden.
Her er hvad jeg har:
#container { width:900px; margin: 0 auto 0 auto; }
Forslaget er udmærket, men det løser ikke helt problemet. Indholdet, content, skal nemlig bruge mere plads på enkelte sider, hvor right sidebar er væk. Derfor skal den strække sig. Men det lader ikke til, at css kan klare det. Kunne løsningen være, at lave en stump kode, som siger, at IF sidebar er væk, så skal width være ekstra bred, ELSE skal den bare være normal?
Nu ved jeg ikke lige hvad du koder i men jeg bruger ASP.NET og VB.NET.
Hvis du opbygger dit indhold dynamisk på alle side kunne du godt lave noget i denne stil.
Så kunne du lave 2 styles #Content1 { styles som den jeg gav} #Content2 {styles med 100% width }
Når du genererer dine elementer dynamisk (i mit tilfælde i codebehind) Så giver jeg den et ID=Content1 hvis den har alle 3 kolonner og ID=Content2 hvis kun venstre kolonne og content er tilstede. Det betyder så at du ikke skal skrive <div id="container" align="center"> <div id="sidebar_left">left</div> <div id="content" class="content1">content</div> <div id="sidebar_right">right</div> </div> men lave det dynamisk
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.