Avatar billede moejensen Nybegynder
19. oktober 2003 - 16:42 Der er 36 kommentarer og
2 løsninger

tjek af css layout i forskellige browsere

Jeg har nedenstående css layout, som jeg vil høre om der er nogen der vil kommentere på om kan anvendes i alle typer browsere, eller der er nogle fejl jeg skal tage højde for?

body {
  border: none;
  margin: 0px;
  background-color: #FFFFFF;}

#container {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  z-index: 1;}

#top {
  position: absolute;
  height: 59px;
  width: 100%;
  background-image: url(/images/top_bg.gif);
    background-repeat: repeat-x;
  z-index: 3;
  text-align: center;}

#top_menu {
    margin-top: 5px;
    height: 59px;
    width: 750px;}

#main {
    position: absolute;
  height: 100%;
  width: 700px;
  left: 50%;
  margin-left: -350px;
  overflow: auto;
  z-index: 2;
  border-top: 59px solid #FFFFFF;
  border-bottom: 30px solid #FFFFFF;
  text-align: left;}
 
#bottom {
  position: absolute;
  top: 100%;
  margin-top: -30px;
  height: 30px;
  width: 100%;
  background-image: url(/images/bottom_bg.gif);
    background-repeat: repeat-x;
  z-index: 3;
  text-align: center;}
Avatar billede moejensen Nybegynder
19. oktober 2003 - 16:45 #1
spg er lidt i forlængelse med dette: http://www.eksperten.dk/spm/414637
Avatar billede ohmish Nybegynder
19. oktober 2003 - 16:49 #2
umiddelbart ser jeg ikke noget der ikke vil fungere i de fleste browsere.
W3C siger den er fjong, men lavede dit stylesheet om til:

body {
border : medium none inherit;
margin : 0;
background-color : #ffffff;
}
#container {
position : absolute;
top : 0;
left : 0;
height : 100%;
width : 100%;
z-index : 1;
}
#top {
position : absolute;
height : 59px;
width : 100%;
background-image : url(/images/top_bg.gif);
background-repeat : repeat-x;
z-index : 3;
text-align : center;
}
#top_menu {
margin-top : 5px;
height : 59px;
width : 750px;
}
#main {
position : absolute;
height : 100%;
width : 700px;
left : 50%;
margin-left : -350px;
overflow : auto;
z-index : 2;
border-top : 59px solid #ffffff;
border-bottom : 30px solid #ffffff;
text-align : left;
}
#bottom {
position : absolute;
top : 100%;
margin-top : -30px;
height : 30px;
width : 100%;
background-image : url(/images/bottom_bg.gif);
background-repeat : repeat-x;
z-index : 3;
text-align : center;
}

har du testet i forskellige browsere?
Avatar billede moejensen Nybegynder
19. oktober 2003 - 16:54 #3
nej, det har jeg desværre ikke mulighed for :-(
Avatar billede ohmish Nybegynder
19. oktober 2003 - 17:39 #4
smid et link.. så kigger jeg med lidt forskelligt.
Avatar billede olebole Juniormester
19. oktober 2003 - 18:19 #5
<ole>

Det aller vigtigste er, at du husker at sætte en DOC-TYPE (før <html>). F.eks:
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
Derudover er det helt essentielt, du har URL'en med i DOC-TYPE'en (http://www.w3.org/TR/html4/loose.dtd). Ellers kan IE ikke tolke din CSS.

/mvh
</bole>
Avatar billede moejensen Nybegynder
19. oktober 2003 - 18:29 #6
tak for det olebole, det vil jeg sætte ind på mine sider. er det bedst at bruge Transitional, er det ikke noget med at der er 3 forskellige. Når siden er færdig skulle den gerne følge XHTML standarderne.

Jeg ville gerne smide et link til siden, men da det er til en kunde, og denne ikke har godkendt den endnu, går det ikke. Det jeg er mest ude efter er om jeg har fangetde fleste af de kendte bugs der er med IE, netscape, opera osv.
Avatar billede olebole Juniormester
19. oktober 2003 - 18:44 #7
Så skal du jo bruge en XHTML-DTD:
  http://www.w3.org/TR/xhtml1/#dtds

Hvis du bruger Transitional, er der ingen grund til at skrive XHTML - med mindre brugen af sproget er 'religiøst' betinget  :)

Den, ohmish anbefaler (border : medium none inherit) er noget guddommeligt vrøvl ... undgå den.

Desuden kan det være svært at se, om stylesheet'et holder - nå vi ikke kan se siden - men hvis du prøver at sætte højder i procent på elementer, skal du huske, der er tale om procent af det omgivende elements højde.
Er det et element, der ligger med body, som omgivende element, skal du sætte body'ens højde. Dette virker bedst X-browser:

html, body {
  height: 100%;
  margin: 0px;
}

/mvh
Avatar billede moejensen Nybegynder
19. oktober 2003 - 21:13 #8
jeg forstå ikke helt det sidste du skriver.

hvorfor skriver du html, body??

Jeg så eksempelvis på webdesign101.dk, følgende

html>body div#indhold  {
  width:570px;

er det det same som du skriver?

Det jeg er ude efter er også om jeg kan få problemer med det som webdesign101.dk beskeriver som et IE5/IE6 box problem:

http://www.webdesign101.dk/xhtml/css/hacks/index.php
Avatar billede ohmish Nybegynder
19. oktober 2003 - 22:58 #9
Ole > jeg har da ikke anbefalet "border : medium none inherit"..
Avatar billede roenving Novice
19. oktober 2003 - 23:24 #10
>>ohmish

Hvadfor skrev du det så ?-)
Avatar billede ohmish Nybegynder
19. oktober 2003 - 23:56 #11
jeg skrev bare hvad W3C spyttede ud.
border: none; er skam helt fint.
Avatar billede ohmish Nybegynder
20. oktober 2003 - 00:00 #12
hvis du vil bruge ikke-så-stram xhtml, kan du bruge dette setup:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>

blah blah

</body>
</html>
Avatar billede olebole Juniormester
20. oktober 2003 - 09:47 #13
ohmish >> Hvis du mener W3C's validator, skal du huske på, der er tale om et stykke software, beregnet til at _vejlede_. Det er et stykke software, der - som al anden software - indeholder fejl og derfor jævnligt bliver rettet og opdateret.
'To inherit' er engelsk og betyder 'at arve' ... hvorfra vil du have body-elementet skal arve sin border-farve fra? Det er vist noget vrøvl, ikke?  :)
Desuden er det guddommelig ligegyldigt at skrive XHTML, hvis man ikke skriver det gennemført (strict). Så er der nemlig stort set ingen fordele ved at skrive XHTML. Derfor skrev jeg, som jeg gjorde i (19/10-2003 18:44:21).

moejensen >> Du kan angive at noget gælder for flere elementer ved at bruge flere, kommaseparerede selectorer ... derfor: 'html, body { ... noget CSS ... }'.

Ja, hvis man vil bruge CSS og forventer siden bliver set i IE, har man _altid_ problemer med dårlig CSS-understøttelse (blandt meget andet) og brug af nødvendige 'hovsa-hacks'.
MS' væsentligste fejlfindings-procedure er desværre helt konsekvent lagt ud til brugerne, hvorfor deres software altid er frygtelig fejlfyldt, når det bliver sendt på markedet.
Således blev Win2K f.eks. sendt på markedet med 6.000+ kendte fejl!  :o(
/mvh
Avatar billede ohmish Nybegynder
20. oktober 2003 - 12:46 #14
Ole>
Guddommeligt. Spøjst ord at bruge igen og igen.

Ja, W3C's validator er til for at vejlede.
Man kan endnu ikke designe en hjemmeside uden at teste i forsk. browsere.

Og at sætte "border: none" på body er jo egentlig unødvendigt.

Grunden til - at begynde at kode i XHTML (transitional) er:
Man kan læse utallige steder at XHTML er fremtiden og vil overtage HTML.
De fleste browsere/versioner/platforme opfatter det da også korrekt, men ikke alle, og ikke som de skal.
Derfor er det godt at tage hensyn til det, ved at bruge transitional fremfor strict (som er "guddommeligt" overkill efter min overbevisning).

Og ikke mindst: tilvænnning allerede nu.
Avatar billede ohmish Nybegynder
20. oktober 2003 - 12:55 #15
"XHTML 1.0 Transitional is the more forgiving XHTML flavor. Unlike Strict, which completely separates structure from presentation, Transitional allows you to use tags to control the look of your markup. Its goal is bridging the gap between HTML-based pages that allow the markup to control the presentation and XHTML Strict, which does not. Its main benefit is that it overcomes Strict's CSS dependence. Transitional pages are still accessible to users who use older browsers or who are using devices that don't recognize style sheets.

How to choose?
The choice between Strict and Transitional depends on a couple of factors:

Audience. If you find that much of your audience uses older browsers that don't recognize style sheets, Strict may not be the right answer—although I would make the case that supporting standards is more important than backward browser compatibility at this point. If most of your audience is using the latest versions of Internet Explorer, Netscape, Opera, or Safari, Strict is the best long-term choice.
Current code. If you already use CSS and your HTML doesn't contain a lot of markup that controls presentation, you can make the leap to Strict."
Avatar billede olebole Juniormester
20. oktober 2003 - 13:17 #16
ohmish >> Spørgsmål: Hvilke fordele er det nu brugeren helt præcis har, ved at du skriver i XHTML-Transitional - i stedet for HTML 4.01?

Hvis du mener XHTML-Strict er guddommeligt (vidundeligt ord!) overkill, må det ganske afgjort bero på, du ikke har forstået årsagen til overhovedet at skrive XHTML.
Enhver kan kopiere tekst fra W3C. En forklaring i egne ord, fortæller mere om hvilke misforståelser, man gør sig skyldig i  ;o)
/mvh
Avatar billede ohmish Nybegynder
20. oktober 2003 - 13:46 #17
ole> brugeren har sådan set ingen fordel ved at man skriver i XHTML 1.0 transitional fremfor HTML 4.01 (det skulle da lige være loadtiden på siderne, der er en smule mindre. og de bliver endnu hurtigere når man senere bruger strict). Men det er jo netop ikke brugeren som sådan vi snakker om.. det er brugeren på en bestemt browser/version/platform, og set med "fremtidsbriller" på.

med "guddommeligt overkill" mente jeg, at Strict faktisk er mere standard end hvad godt er. For stadig mange browsere vil ikke vise siden korrekt hvis den er kodet Strict. Med Strict siger man på en måde "jeg er ligeglad med ældgamle browsere osv.". XHTML overtager HTML, men ikke alle er klar til det endnu.

I mine øjne er det for tidligt at kode i stram XHTML. Men det er ikke for tidligt at lære at kende, forstå og vænne sig til. En blød overgang kunne man kalde det. Derfor ordet "transitional". :)
Avatar billede olebole Juniormester
20. oktober 2003 - 14:08 #18
Nej, load-tiden er mindre for Strict ... ikke for Transitional, da koden jo så netop både skal parses som HTML og XHTML. Den vil altså også være fløjtende ligegyldigt i fremtiden - som den er det nu.

Engang i fremtiden vil browserne kunne tolke XHTML-Strict - og så vil det være en fordel at skrive i den version. De fleste af de sites, der skrives idag, vil dog formodentlig udkomme i 2-3 versioner, før det sker. Med mindre, der altså sker en mindre revolution blandt browserfabrikanterne. Bare tænk på, hvor lidt CSS IE6 kan tolke korrekt.

XHTML-Transitional er derimod en udmærket ting at skrive, hvis man gerne vil øve sig på engang i fremtiden at skulle skrive XHTML-Strict. Man skal bare gøre sig klart, at XHTML-Transitional rangerer på linie med NLP, TM, yoga og andre former for personlig udvikling  ;o)
Dagens brugere har ikke nogen glæde af XHTML-Transitional - heller ikke set gennem "fremtidsbriller".
/mvh
Avatar billede ohmish Nybegynder
20. oktober 2003 - 14:24 #19
ole> tillykke! du har lige fået mig til at gå over til XHTML strict. hehe.
jeg prøvede lige at validere mine sider efter Strict, og de går rent igennem uden fejl, og hastigheden mærkes.
Det eneste minus er jo det med hensynet til gamle browsere osv. Men så må de fanma opgradere eller noget.. Man skal bare huske semantikken. Og opbygge siden så den er brugbar uden stylesheet (evt. lave en tænd/sluk stylesheet-funktion, og en tekst til brugere uden CSS-browser osv..). Det skal være slut for webdesignere at gå på kompromis. Ihvertfald pga. dårlig markedsenighed. The future is bright :)
Avatar billede olebole Juniormester
20. oktober 2003 - 20:00 #20
Ehhhh .... jeg forstod ikke rigtig den med stylesheet'et  :)
Nu kommer det jo anpå, hvilke sider, man laver. Der er masser af sites, hvor man ikke kan kræve, brugerne opdaterer ... ikke hvis det er erhvervs-sites i hvert fald  ;o)
/mvh
Avatar billede ohmish Nybegynder
20. oktober 2003 - 20:12 #21
Det med stylesheetet:

Jeg har lavet et link hvor man kan aktivere/deaktivere stylesheetet, og se siden helt rå hvis man vil (eller hvis man evt. har en browser der ikke viser CSS korrekt osv osv). Og det kan faktisk også se helt godt og overskueligt ud uden stylesheet, hvis man arbejder lidt med selve opbygningen (benytter <ul>, <li>, <h2>, <p> osv.). Kald det fjollet hvis man vil.. men hvis man har en lettere avanceret side, er det vel godt for brugeren at kunne se indholdet "uspoleret" :)
Avatar billede ohmish Nybegynder
20. oktober 2003 - 20:18 #22
En alternativ version af siden til folk med gamle browsere o. lign.
Dette bør dog kun retfærdiggøres hvis man har fulgt standarden og testet i en masse browsere først.
I den alternative version skal folk selvfølgelig kun venligt RÅDES til at opgradere, og kun hvis man ved at de i forvejen ikke bruger f.eks palmpilot eller anden specialbrowser..
Avatar billede olebole Juniormester
20. oktober 2003 - 21:19 #23
Det med stylesheet'et skal jeg undlade at kommentere på ... blot nævne, det var dig selv, der lancerede udtrykket "guddommeligt overkill"  ;o)

Det sidste kan jeg godt tilslutte mig for mange sites. Ikke mindst større koncerner kan ofte være mange år om at opgradere.
/mvh
Avatar billede ohmish Nybegynder
20. oktober 2003 - 22:14 #24
ja. jeg ved det.. jeg vendte vist lige et par grader under denne debat.
det kan være svært at finde et ståsted i hele standard/kompabilitets-snakken.
Jeg vælger at holde mig til den moderne, noget strammere standard i form af xhtml strict. Håber så at standarden om nogle år virkelig ER standard.
undskyld for spam hr. moejensen :)
Avatar billede moejensen Nybegynder
21. oktober 2003 - 17:28 #25
Det er helt okay, jeg bliver jo også lidt klogere på jeres snak :-)

Men sig mig lige. Hvad skal jeg så bruge når jeg skal lave en hjemmeside, der skal kunne ses af alle?

Hvilke browsere understøtter i dag ikke css?
Avatar billede olebole Juniormester
21. oktober 2003 - 17:41 #26
Langt de fleste understøtter CSS, men IE understøtter det - som så meget andet - temmelig dårligt.
Avatar billede moejensen Nybegynder
21. oktober 2003 - 18:11 #27
og hvad så med Xhtml strict eller traditional, eller hvad det nu hedder?
Avatar billede olebole Juniormester
21. oktober 2003 - 18:16 #28
Næsten alle læser fint XHTML-trans - strict er lidt mere begrænset, men er rimelig understøttet af nyere browsere
Avatar billede moejensen Nybegynder
21. oktober 2003 - 21:34 #29
okay, så jeg skal holde mig til trans.

vil du anbefale mig at skrive html, body {} i min css kode?
Avatar billede olebole Juniormester
22. oktober 2003 - 12:44 #30
Det kommer helt anpå, hvad du skrive mellem klammerne. Du, browserne og brugerne kan dog have stor glæde af:
html, body {
  height: 100%;
  margin: 0px;
}
/mvh
Avatar billede moejensen Nybegynder
22. oktober 2003 - 12:51 #31
takker, hvor kan jeg se hvad jeg helt skal overholde for at bruge trans xhtml? og hvad skal jeg helt precist skrive i toppen af mine sider.

Det er noget med at alle tags skal afsluttes ex:

<b></b>
<br />

tabeller må ikke være inde i tabeller.
Avatar billede olebole Juniormester
22. oktober 2003 - 12:53 #32
Du kan se referencen på W3C's site:
  http://www.w3.org/MarkUp/#recommendations
Avatar billede moejensen Nybegynder
22. oktober 2003 - 14:10 #33
skal man så kalde sine filer .xhtml??

jeg bruger i øjeblikket .shtml, fordi jeg bruger noget ssi
Avatar billede exp Juniormester
22. oktober 2003 - 14:15 #34
nej filerne skal stadig hedde .htm, .html, .asp, .php etc
Avatar billede moejensen Nybegynder
22. oktober 2003 - 16:06 #35
nu har jeg fået sat følgende ind i toppen af min side

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">

Men når jeg validere, får jeg ex. denne fejl:

Line 29, column 16: there is no attribute "width" (explain...).
        <td width="53" rowspan="2" align="center" height="56" valign="top"><a href
Avatar billede moejensen Nybegynder
22. oktober 2003 - 16:11 #36
så fik jeg klaret det problem, men nu har jeg følgende i en sektion med java script:

Line 34, column 128: there is no attribute "onMouseOut" (explain...).
  ...s='Profil'; return true;" onMouseOut="window.status=''"><a href="/Profil/" cl
Avatar billede moejensen Nybegynder
22. oktober 2003 - 16:35 #37
Så har jeg klaret det :-)

olebole, kan du lave et svar, så i kan få point
Avatar billede olebole Juniormester
22. oktober 2003 - 20:56 #38
... swaaaar  :)
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