22. september 2009 - 02:01Der er
17 kommentarer og 1 løsning
Centreret design med element der går helt ud til venstre.
Jeg sidder med et problem, jeg simpelthen ikke kan finde noget løsning på.
Jeg vil gerne have et centreret design der er 850px bredt, ligeledes skal det have et gråt element der går ud til venstre, men der må ikke være noget element der går ud til højre.
Jeg har lavet en hurtig lille illustration for at påvise det.
Du kunne eventuelt lave to lag, begge med Position sat til absolute. Det nederste lag laver du 50% bred og baggrunden grå. Det øverste lag, placerer du i horisontalt i centrum. Du definerer selvfølgelig lagenes placering med z-index. :)
Okay. Det jeg har gjort istedet er at bruge to elementer som baggrunden. Det nederste lag er 100% i højden og 50% i bredden. Laget der er nested deri, er 100% af bredden men har dog ikke fået tildelt en højde. Dette lag vil ligne det nederste lag til forveksling, men kan udvides når der kommer mere indhold i. Grunde til at jeg ikke bare bruger min-width, er at den selector ikke er understøttet af IE6.
Tekstelementet deri har jeg tildelt en negativ margin, som er halvdelen af elementets bredde bare i minus.
Okay.. Ved at sætte en negativ margin på et element der wrapper det hele, som også har en bredde på 50%, kan man sætte bredden på elementets indre margin. Lidt som jeg gjorde ovenfor.
Den store forskel er at der bliver indsat en negativ margin i højre side på tekstelementet, som er samme bredde som selve elementet.
Det giver i hvert fald den effekt du efterspørger. Hvis du ikke lige forstår det, skal jeg gerne prøve at pensle det lidt mere ud. :)
Der kom lige en ting mere, jeg har lige testet det i IE6.0 og der virker det godt nok ikke. Ikke at jeg forventede det. Ligeledes er der en lille fejl i IE 7. Problemet i IE7.0 opstår når jeg tilføjer en border.
Hvad er problemet helt præcist? Er det at de kanter der er, burde være iden i elementerne istedet for at sidden udenpå? Hvis det er tilfældet, skal du bare justere dine marginer.
Jeg skal nok lige kigge på det senere. I værste fald kan vi fikse det med noget JS. Men det er absolut sidste udvej. Og jo. IE7 kan man godt blive træt af meget hurtigt, hvis det bliver bare lidt avanceret.. :)
Det blev en laang arbejdsdag igår, så undskyld du først lige hører fra mig idag. :)
Jeg bryder mig ikke om det, men jeg kan ikke helt finde ud af hvorfor IE7 ter sig som den gør. Så jeg har lavet et lille fix. Dog ikke JS. Bare rolig.
Jeg har fundet ud af at fejlen ligger i den margen som #tekstbag har fået tildelt.
Ændre dit stylesheet til (jeg har rettede nogle småting hist og pist): html, body { margin: 0px; background: #333; } * { font-family: Verdana, Geneva, sans-serif; margin: 0px; }
Og indsæt dette i headeren på dit HTML-dokument: <!--[if lt IE 8]> <style type="text/css" media="all"> #tekstbag { margin-right: 420px; } </style> <![endif]-->
Og tak for linket iøvrigt, til den side der kunne lave screenshots af ens websites. Det er ret handy hvis man ikke lige sidder på en maskine med alle browsere installeret. :)
Nice det virker, og jeg har foretaget nogle forskellige tests i IE6.0, hvilket har overbevist mig om at der nok skal bruges javascript til at lave en ordenlig løsning der, så i IE6.0 har jeg valgt at bruge et alternativt stylesheet, så det stadig ser pænt ud, men ikke helt magen til dog.
Velbekomme... Hvis jeg lige finder ud af hvorfor IE6 brokker sig, skal jeg nok lige skrive her i tråden. ;)
Synes godt om
Ny brugerNybegynder
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.