Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

HTML 4 med HTML 5s doctype?

http://meiert.com/en/blog/20080708/you-can-use-html-5/

Jag har tänkt till lite på senare tid. En förhoppning om friare kreativitet och Yous missionerande på forumet (:P) har fått mig att börja ifrågasätta XHTML som jag tidigare uteslutande arbetat i. Version 1.0 känns inte komplett, version 1.1 gör IE förvirrad.. och i grund och botten har jag inget behov av att kunna parsa mina dokument som XML.

Jag har hållt mig till XHTML 1.0 för att det mer eller mindre kräver att dokument är välformaterade. Strikta och snygga helt enkelt, som en militäruniform.
Men finns det egentligen någonting som förhindrar att jag håller rent och snyggt i vanlig HTML-kod? Hur viktigt tycker jag egentligen det där <br /> är.. (sen är ju frågan om jag kan förmå mig strunta i sluttaggar på exempelvis <p>...)

Om man idag använder HTML 5:s doctype får man en liten varning av W3s validator, inget direkt farligt. IE undviker quirksmode, allt är frid och fröjd.

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av Teknocide
Hur viktigt tycker jag egentligen det där <br /> är.. (sen är ju frågan om jag kan förmå mig strunta i sluttaggar på exempelvis <p>...)

HTML4-rekommendationen säger inte att du ska strunta i </p> utan att "end tag is optional". Så länge man inte kan använda XHTML ska man inte heller göra det. Och det kan man inte, utan det enda du kan göra är att leverera XHTML som HTML, och då spelar det ingen roll längre. XHTML är med andra ord värdelöst i dagsläget (så länge du har webbläsarkravet IE, vilket du borde ha), med undantag för de XHTML extensions som finns (t.ex. DOM-SVG-manipulation).

Det man gör är att skriva snygg och välstrukturerad helt vanlig HTML, som alla webbläsarna förstår, alternativt skriver XHTML för att kunden tror att det är hipp. Men då levererar man det ändå till webbläsaren som HTML4. Det viktiga är att man håller utkik efter HTML5 och om man är riktigt ambitiös eller bra insäljare, kan man lägga ner 20 % extra tid på sin kodning genom att skriva bakåtkompatibel HTML5.

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Dec 2003

Personligen tycker jag inte att HTML eller XHTML ställer till problem i läsarna, det är CSS:en som är problemet.

Vad är det som saknas? Man behöver ju bara <div>

ηλί, ηλί, λαμά σαβαχθανί!?

Trädvy Permalänk
Medlem
Registrerad
Jan 2005

HTML 5:s doctype, d.v.s. <!doctype html>, används endast för att göra så att webbläsare går in i "standard mode". Det är den kortaste doctypen de lyckades hitta som gjorde att så många som möjliga av de webbläsare som används går in i det läget.

Du får för övrigt avsluta br med / om du vill. Men det finns mest där för att webbläsare ska fortsätta kunna läsa trasiga XHTML-dokument.

Sedan vet jag inte hur uppdaterad W3C:s validator är, men validator.nu finns också som ett alternativ.

Hursomhelst, som vanligt: om doctypen gör så att webbläsaren går in i standard mode så duger den. Det är det ända webbläsare använder den till ändå.

Redigering: antar det sista var ett skämt, Leedow?

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Dec 2003
Citat:

Ursprungligen inskrivet av cic

Redigering: antar det sista var ett skämt, Leedow?

Mer eller mindre så var jag ganska allvarlig där. Listor, tabeller, div:ar... Jag har aldrig kommit in i en situation och tänkt "Ajsing bajsing... det saknas en tag för det jag vill göra."

ηλί, ηλί, λαμά σαβαχθανί!?

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007
Citat:

Ursprungligen inskrivet av azoapes
HTML4-rekommendationen säger inte att du ska strunta i </p> utan att "end tag is optional".

Jag uttrycker mig klumpigt. Jag är med på noterna, men frågan är: Varför ska jag stänga taggar om sluttaggarna ändå inte har något värde? Vem eller vad underlättar det för?

Citat:

Det man gör är att skriva snygg och välstrukturerad helt vanlig HTML, som alla webbläsarna förstår, alternativt skriver XHTML för att kunden tror att det är hipp. Men då levererar man det ändå till webbläsaren som HTML4. Det viktiga är att man håller utkik efter HTML5 och om man är riktigt ambitiös eller bra insäljare, kan man lägga ner 20 % extra tid på sin kodning genom att skriva bakåtkompatibel HTML5.

Om du menar en implementation av de nya taggarna för gamla web-läsare så håller jag med dig om att det ter sig omständligt. Man kan ju välja att hoppa över den biten och köra med "gamla hederliga" HTML-element efter de riktlinjer som HTML 5 anger, vilket i så fall innebär att man praktiskt taget kör HTML 4.

Och då kan man i sin tur fråga sig varför man över huvud taget ska bry sig? För egen del handlar det om utveckling. Att kliva ur ett innött spår, ställa in siktet och förbereda sig för det som kommer längre fram.

Frågan är om det är "rätt".

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007
Citat:

Ursprungligen inskrivet av Teknocide
Jag uttrycker mig klumpigt. Jag är med på noterna, men frågan är: Varför ska jag stänga taggar om sluttaggarna ändå inte har något värde? Vem eller vad underlättar det för?

Personligen tycker jag att det underlättar för mig själv när jag läser koden. Det ska, teoretiskt sett, inte finnas något läge där det råder någon tvetydighet huruvida ett element tillhör ett öppet p-element (det kommer som en effekt av var element är tillåtna), men vill man vara övertydlig så har man den möjligheten.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

Lustig notis: Välformade inline-listor ser olika ut mellan IE och FF.

<ul> <li>Nummer 1</li> <li>Nummer 2</li> <li>Nummer 3</li> </ul>

Något underligt händer mellan det att li-taggen stängs, och att nästa öppnas. FF lägger till några pixlar mellan elementen -- kanske tolkar den tabben som ett mellanslag.
För att undvika detta (om man vill köra en inline-lista) i XHTML kan man göra följande:

<ul ><li>Nummer 1</li ><li>Nummer 2</li ><li>Nummer 3</li ></ul>

Inte snyggt men legitim XHTML och det fungerar. IE och FF visar nu samma.
...
Eller så använder man sin valmöjlighet i HTML och skippar </li>:

<ul> <li>Nummer 1 <li>Nummer 2 <li>Nummer 3 </ul>

Och det ser inte sååå tokigt ut rent syntaxmässigt tycker jag.

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Dec 2002

Eller så justerar du dem med CSS så blir det bra överallt.

* { margin: 0; padding: 0; }

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

Det har ingenting med margins att göra. Testa själv.

edit: fan vad snabb jag är!
edit 2: intressant detta! Testcase:

<!DOCTYPE html> <html> <title>Listtest</title> <style> * { margin: 0; padding: 0; } ul { list-style: none; } li { display: inline-block; } </style> <ul> <li>Listelement 1</li> <li>Listelement 2</li> <li>Listelement 3</li> </ul>

Med display: inline-block; på <li> blir det mellanrum mellan elementen om man stänger li-taggen (FF3.5, IE8). Lämnar man den öppen blir det inget mellanrum. Om man istället använder display: inline blir det Alltid mellanrum mellan elementen oavsett om taggen stängs manuellt eller inte, både i IE8 och FF3.5.

Sålunda är det enda sättet att få bort mellanrummen i strict XHTML att använda följande kodstil (om man inte använder negativ margin på element 2+):

<ul ><li>Listelement 1</li ><li>Listelement 2</li ><li>Listelement 3</li ></ul>

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av m0REc

* { margin: 0; padding: 0; }

Det där är jättedålig CSS, tyvärr! Slöar ner webbläsaren och skapar problem med knappar, checkboxar, radio buttons och annat, som i vissa webbläsare måste ha sin padding/margin för att besökaren ska kunna använda den. Rekommenderar en CSS reset istället.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007
Citat:

Ursprungligen inskrivet av azoapes
Det där är jättedålig CSS, tyvärr! Slöar ner webbläsaren och skapar problem med knappar, checkboxar, radio buttons och annat, som i vissa webbläsare måste ha sin padding/margin för att besökaren ska kunna använda den. Rekommenderar en CSS reset istället.

Har testat bland annat YUI och lite mer skräddarsydda mallar och jag håller inte med men du får gärna försöka övertala mig om en resets fördelar. De flesta använder YUI och lägger sin egen CSS ovanpå, med resultatet att man omdefinierar de element som används två gånger.
Vad är då meningen med reseten?

Bilanaloger är som Volvo — varenda svenne kör med dem

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Dec 2002
Citat:

Ursprungligen inskrivet av azoapes
Det där är jättedålig CSS, tyvärr! Slöar ner webbläsaren och skapar problem med knappar, checkboxar, radio buttons och annat, som i vissa webbläsare måste ha sin padding/margin för att besökaren ska kunna använda den. Rekommenderar en CSS reset istället.

Se på fan. Så går det när man varit borta från webbdesign-cirkusen ett tag, bra med folk som kan upplysa en.

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Trädvy Permalänk
Hedersmedlem
Plats
Stockholm
Registrerad
Dec 2002
Citat:

Ursprungligen inskrivet av azoapes
Det där är jättedålig CSS, tyvärr! Slöar ner webbläsaren och skapar problem med knappar, checkboxar, radio buttons och annat, som i vissa webbläsare måste ha sin padding/margin för att besökaren ska kunna använda den. Rekommenderar en CSS reset istället.

Se på fan. Så går det när man varit borta från webbdesign-cirkusen ett tag, bra med folk som kan upplysa en.

EDIT: Fast efter lite funderande så har CSS resets sina nackdelar också, och jag testar faktiskt min kod i de vanligaste webbläsarna. Sen glömmer jag aldrig padding/margin på formulär heller, då jag alltid stylar om dem.

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.