idag när jag hade lite tråkigt kom jag på
att jag skulle börja lära mig använda <div> lagers
istället för mina tabeller jag alltid använder.
Nu är det så att jag kollat lite
på w3cshools och xhtml.nu och kommit fram till en liten testsida. Men det vill inte funka :(
Den verkar inte hitta min CSS fil
Närå - men du måste servera sidan som någon form av "XML" för att den där "XML-processinstruktionen" ("PI":n) skall fungera...
Dvs det där fungerar inte om du kör ut din sida som "text/html" (vilket du förmodligen gör om du testar med filextensionen .htm eller .html ;) )
"Godkända" MIME-typer för xhtml 1.1 är:
text/xml
application/xml
application/xhtml+xml
på xhtml.nu har jag gjort så att den Apache-server som hanterar webbplatsen skickar ut filer med extensionen .xhtml som "application/xhtml+xml".
xhtml 1.1 *är* knöligt och lite "bleeding edge" idag tack vare att t.ex. MSIE6 inte klarar av "application/xhtml+xml"... och att man inte "får" skicka ut xhtml 1.1 som "text/html" för W3C ;)
Mitt tips: Du kan lika gärna köra med "bakåtkompatibel xhtml 1.0 Strict" om du vill lära dig köra med "lager" istället för tabeller - skillnaden blir att du använder <link rel="stylesheet" /> som vanligt istället för <?xml-stylesheet?> för att plocka in dina stilmalar och att du med gott samvete kan skicka ut sidor i xhtml 1.0 Strict som text/html (dvs med filextensionen .html) vilket underlättar *rejält*.
Den dagen MSIE är "fixad" och "alla" har "uppgraderat" kan du sedan "enkelt" ;) byta upp dig till xhtml 1.1 med några *minimala* kodändringar eftersom det i princip är exakt samma sak - om du vill ;)
Man kan ju tillägga att man inte behöver använda XHTML för att göra semantiskt riktiga dokument. I en perfekt värld bör kreatören ta hänsyn till vilken typ av dokument som webbklienten prefererar genom att undersöka HTTP_ACCEPT-headern.
Om nu denne vill ha dokumentet som text/html tycker jag att man gott kan använda HTML 4.01. Om den å andra sidan föredrar application/xhtml+xml, använder man XHTML 1.1 eller liknande.
Hur jarvklo(xhtml.nu) har löst det orkar jag inte kolla
;)
Just
margin-left:auto; margin-right: auto;
Har jag användt i koden för att få det att funka i IE men den vill fortfarande fastna i FireFox :(
EDIT:
Nu har jag även problem med att det blir mellanrum i FireFox mellan lagren. Men inte i IE, varför? JAg har padding på 0 och margin 0 i Body i CSS filen.
Varför centrera något som du har satt till att fylle hela tillgänglige elementet?
R: läste 100% :r
1000px är förjävligt brett ;)
Som sagt lär jag mig fortfarande och
vet inte riktigt hur jag bygger upp det då det finns ävldigt få sidor. Så har bara kollat xhtml.nu och dom hade ett stort 100% lager (Ja det stod 100% först innan jag ändra lite i CSS filen ;))
Grejen är att jag försöker ju ersätta tabeller och tabeller centrerar man ju simpelt och jag ska ha ett fast värde sen på 80% :/
CSS är inte alltid lika enkelt som tabeller när det gäller layout - Det tar för det första ett tag att lära sig, för det andra så finns det ett gäng buggar man måste lära sig leva med (olika i varje webbläsare givetvis) och till sist måste man tyvärr ibland leva med att man inte kan göra precis allt som man kan göra med tabeller utan att ta till lite fiffiga scripts...
Men CSS-lösningar brukar å andra sidan bli ganska eleganta och "minimalistiska" och har man väl vant sig att separera dokumentstrukturen ((x)HTML-koden) och layout/design/utseendespecifikationen (CSS:en) så vill man förmodligen inte "gå tillbaka" till tabell-lösningar om det går att undvika för det man är ute efter iallafall ;)
Får börja med att än en gång tacka jarvklo för ett mycket bra svar.
Har nu lyckats komma en liten bit.
Tyvärr så verkar det vara lite bråk mellan webläsarna.
IE verkar vilja ha margin auto i alla divs medan Firefox nöjer sig med innehall för att centrera.
DOCK!
Så verkar FireFox inte vilja lyssna på mig när det handlar om att få allting inuti "innehall" som är mitt namn för divven med allt innehåll.
Tar du bort <?xml?>-taggen, så har du iallafall ungefär samma problem i bägge webbläsarna (dvs det ser "mer lika" ut mellan webbläsarna eftersom de ställer sig i samma mod om du gör så ;) )
Inte så lätt att veta om man inte snubblat över <!DOCTYPE-problematiken tidigare i HTML eller xhtml, men det är hursomhelst inte så illa att utgå ifrån ett läge där de fungerar relativt lika iallafall (dvs samma mod) - trust me on that one! ;)
Klura/meka ett tag till och fråga igen om det dyker upp detaljer du inte tar dig förbi!
Som Jarvklo nämnde, det är xml deklarationen i början som får det att se annorlunda ut i IE 6.
Om du även vill att IE 6 och Opera 7.0 - 7.03 ska använda sig av strict mode (som du kodat siten i) måste du ta bort den. De kör nämnligen med Quirks mode om du har den.