Tack.
Så generellt, allt otillåtet i Strict går att lösa i CSS?
Eventuellt genom att däri skapa klasser...? (För allt behöver ju inte se likadant ut i ett dokument...)
HTML & CSSur HTML, XHTML & CSS
39 svar · 1 086 visningar · startad av i_go_humble · sida 2 av 2
Finns det nån här som har goda erfarenheter av giltiga sidor som man kodat i Strict XHTML? Jag tänkte lite bl a på hur man kan på ett fiffigt sätt lösa radbrytningar, som inte är strict, av nån konstig anledning, utan jag själv fick ändra till stycketaggen, vilket inte ger samma resultat... Annat man bör tänka på?
Läs frågan i sin helhet →Tack.
Så generellt, allt otillåtet i Strict går att lösa i CSS?
Eventuellt genom att däri skapa klasser...? (För allt behöver ju inte se likadant ut i ett dokument...)
i_go_humble skrev:
Tack.
Så generellt, allt otillåtet i Strict går att lösa i CSS?
Eventuellt genom att däri skapa klasser...? (För allt behöver ju inte se likadant ut i ett dokument...)
Ja och nej, allt "utseende-relaterat" går för det mesta å lösa med css, "betende-relaterad" löses med javasript o.l. (kraftigt förenklad ;) )
Jag testar min startsida. Lägger jag in en
kod <br /> på fel sätt som inte är Strict så blir det såklart fel. Jag har ju på ett ställe lagt två såna taggar på varann. Ligger säkert i det.
Du kan inte lägga in <br />-taggen var som helts utan att det blir fel. Du kan t.ex. inlägg den överst i dokumentet. Om du använder en eller två taggar spelar inte någon roll för valideringen.
Så generellt, allt otillåtet i Strict går att lösa i CSS?
Ja, i stort sett.
Re: Någon som kodar strikt?
i_go_humble skrev:
Finns det nån här som har goda erfarenheter av giltiga sidor som man kodat i Strict XHTML?
Jupp. Använder det på http://xhtml.nu/index.html ;)
Den skillnad mellan Transitional och Strict som man kanske först snubblar över är att koden
<body>
Hej mamma!<br />
Jag kodar xhtml!
</body>
är helt OK i Transitional, eftersom man får lägga "löptext" direkt i <body> i Transitional.
Däremot är den koden felaktig i Strict eftersom man måste lägga all text (inklusive <br />-taggar - hint hint!) i "block" (t.ex. <p>, <div>, <td> m.fl) när man kör Strict.
Det finns flera småskillnader här och var...
Ett exempel till som många verkar snubbla på är <form> där kod i stil med
<form ... ... ... >
Namn: <input type="text" ... ... />
</form>
är OK i Transitional, men inte i Strict eftersom man inte heller här kan ha löptext "direkt" i en form, utan måste köra med t.ex. ett block eller ett fieldset om texten...
Web-Tor skrev:
Du kan inte lägga in <br />-taggen var som helts utan att det blir fel. Du kan t.ex. inlägg den överst i dokumentet. Om du använder en eller två taggar spelar inte någon roll för valideringen.
Okej. Då förstår jag på ett ungefär. Dessa två taggar ligger hursomhelst inte varken i början eller slutet, utan efter en tabell.
Men jag antar att det är bara trial and error som gäller när sådana situationer uppstår. I detta fall hjälpte det ju att baka in <br />-taggen mellan två stycketaggar.
Hmm..
Du kan också tänka såhär:
En radbrytning är att betrakta som löptext (det är en "inline"-tagg, dvs en tagg som (något förenklat beskrivet ;) ) inte får förekomma utanför block-taggar)
Du gick alltså från
<body>
<table> ......</table>
löptext (<br/>-taggen)
<table>.......</table>
</body>
till
<body>
<table> ......</table>
<p> ett block med löptext (<br/>-taggen) )</p>
<table>.......</table>
</body>
Dsv från det i Strict felaktiga "block - löptext - block" till "block - block - block" i bodytaggen :bire
Okej. Något sånt... :)
Jag hade ingen tabell på slutet, men jag förstår nu att man inte kan lägga in löptext hursom.
Det kan ju verka lite omständligt till en början och att man måste vara nytänkande, eller öppen för dessa förändringar.
Men samtidigt som jag ändå är rätt ny inom mer ordentligt webbmakeri så lär ju dessa förändringar syfta till ett bättre.
Det lär ju inte vara av jäkelskap det beslutats om en reformation. :)
Jag tycker dessutom det är "skönt" att vissa saker är utdömda, som ramar... Hehe. (Nu får jag säkert nått påhopp. :p)
Palle skrev:
Mitt tips på hur man löser target för ex. XHTML Strict,
det behöver inte vara just onclick. :)ex.
[red]function js_extLink() { if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName("a"); for (var i=0; i<anchors.length; i++) { var anchor = anchors[i]; if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "blank") anchor.target = "_blank"; } } window.onload = js_extLink; ... <a href="http://www.macromedia.com" rel="blank">Macromedia HomeSite+ v5.5</a>[/red]
Okej. Jag ska köra in detta.
Hur gör jag?
En extern javaclass?
I så fall, hur grejar jag till den...?
Försök att hålla dig till en tråd.
Du kan utan problem lägga in skriptet direkt på sidan:
Innan för <head>-taggarna skriver du:
<script type="text/javascript">
...ditt skript här...
</script>
Jag skrev i det andra forumet dels för att det var mer relevant där, dels för att jag tänkte att risken att få skulle läsa mitt inlägg i denna tråd var mindre eftersom jag markerat att jag är nöjd med svaret. Sen har jag känt lite brådska med svaret också, eftersom jag är på lektion och inte får nått gjort... :p
Jag skrev i alla fall förut precis som du skrev, men validatorn klagar på diverse saker i scriptet som inte kan tolkas.
Om du inte kör javascript via en extern fil måste du använda <![CDATA[]]> runt själva koden, ex.
[red]<script type="text/javascript">
[b]<![CDATA[[/b]
function js_extLink()
{
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++)
{
var anchor = anchors[i];
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "blank")
anchor.target = "_blank";
}
}
window.onload = js_extLink;
[b]]]>[/b]
</script>[/red]
Okej, tack. =)
Men hur får man ihop det till en extern fil...?
Jag känner ju till filer med exempelvis tillägget .css.
Nja, .CSS är filer för Cascading Style Sheets.
Vill du använda en extern fil för JavaScript så är det, tro det eller ej ;), .JS som du ska använda.
I JS-filen får du bara använda JavaScript, inget annat.
Och för att använda script som du skriver i filen anger du följande kodsnutt i din HEAD:
[red]<script type="text/javascript" src="FILNAMN.js"></script>[/red]
Personlig reflektion, om man absolut vill öppna länkar i ett nytt fönster är det väl bättre att använda Transitional i stället för Strict + javascript?
Hehe, jag glömde att det heter ".class"... :p
Koden funkar dock inte, sidan som länkas öppnas i samma fönster, och det står längst ner att sidan innehåller fel, med den lilla gula varningstriangeln... Så fort jag tar bort [!CDATA[ etc så blir sidan ogiltig, men javascriptet funkar...
OlleBoop skrev:
Personlig reflektion, om man absolut vill öppna länkar i ett nytt fönster är det väl bättre att använda Transitional i stället för Strict + javascript?
Ja, det kan tyckas, men jag vill lära mig Strict.
Alltid den svåra vägen, you know... :P
Nej, men det känns bra att kunna så mycket som möjligt i webbmakandet, så man ska kunna felsöka, osv... Inte bara ta den enkla medelvägen jämt, för i vissa situationer kan man kanske inte det...
Palle skrev:
Om du inte kör javascript via en extern fil måste du använda <![CDATA[]]> runt själva koden
Well...
om man skall vara noga behövs inte det i "normala fall"...
Specens avsnitt om detta (dvs http://w3c.org/TR/xhtml1/#h-4.8 ) förutsätter nämligen att sidan "skickas och tolkas som XML"
och om man inte explicit levererar sin sida som XML (vilket de flesta av oss inte gör eftersom vi använder "content-type=text/html" och gladeligen har extensionen .html på sidan) så behövs inte <![CDATA ....
Skickar man sidan "som bakåtkompatibel XHTML" på det viset, tolkas nämligen koden som vilken HTML-kod som helst av webbläsarna oavsett om det råkar vara xhtmltaggar eller inte, och det räcker med "den vanliga" bakåtkompatibilitetssäkringen att lägga kommentarstecken runt själva koden, dvs
<script type="text/javascript">
<!--
/* min javascriptkod här */
// -->
</script>
Kommentarstecknet // framför --> är till för att javascripttolken inte skall försöka göra om --> till Javascript (och därmed ge felmeddelande ;) )
Källa då: http://w3c.org/TR/xhtml1/#C_4
Use external style sheets if your style sheet uses < or & or ]]> or --. Use external scripts if your script uses < or & or ]]> or --. Note that XML parsers are permitted to silently remove the contents of comments. Therefore, the historical practice of "hiding" scripts and style sheets within "comments" to make the documents backward compatible is likely to not work as expected in XML-based user agents.
(min fetmarkering)
Det finns ytterligt få sidor idag som tolkas av "XML Based user agents" (visst Mozilla är en sådan om man sänder sidan som med extensionen .xml eller som text/xml, application/xml eller application/xhtml+xml - men annars är den en "vanlig" HTML-tolkande webbläsare som har överseende med att man använder XML-syntax!!!
Hela det här resonemanget gäller f.ö. också stilmallar - men de flesta av oss skulle väl aldrig drömma om att skriva <![CDATA runt CSS-koderna i <style> - eller ? ;)
Men jag håller iallafall med om att det enklaste är att köra med externa scriptfiler och stilmallar.
PEACE :birp
i_go_humble skrev:
Hehe, jag glömde att det heter ".class"...
Ehh..? Va?
Nä nä nä JavaScript-filer i detta sammanhang heter filnamn.js och inget annat. :)
Palle skrev:
Om du inte kör javascript via en extern fil måste du använda <![CDATA[]]> runt själva koden
När du kör JavaScript via en extern fil, som du nu försöker göra, så skall CDATA inte vara med i koden,
inte heller kodblocket utan enbart ren javascript-kod.
jarvklo: Du har så rätt så rätt. ;)
Det är jag som grottat in mig för mycket i XHTML 1.1 på sistone. :r ;)
i_go_humble skrev:
Ja, det kan tyckas, men jag vill lära mig Strict.
Alltid den svåra vägen, you know... :PNej, men det känns bra att kunna så mycket som möjligt i webbmakandet, så man ska kunna felsöka, osv... Inte bara ta den enkla medelvägen jämt, för i vissa situationer kan man kanske inte det...
Jag förstår vad du menar (och :bire för din inställning) men en del kunnandet är ju att använda rätt "verktyg" till rätt saker. Strict är ju inte direkt svårare än Transitional, möjligen annorlunda. Fastän jag i princip alltid använder en Transitional-doctype så kodar jag jag på ett sånt sätt att det mesta nog skulle validera även om jag smackade dit en Strict-doctype.
Du tar ju faktiskt en liten genväg genom att använda tabeller för layouten.
Ta nu för G**s skull inte det här som att jag sitter och gnäller på dina ambitioner! :birp igen! :e
Hm, vad menar du med rätt verktyg till rätt saker?
Nja, det är kanske inte för den är svårare jag använder den, utan för att jag dels vill kunna strict (o kan man den kan man ju båda, på ett sätt, eller så är det ju så att Transitional är i princip som gamla html). Det borde ju finnas en idé med att kalla just Transitional för "övergång", som det ju betyder. HTML är ju dömt att försvinna så småningom. Visserligen kommer säkert mycket hända på vägen, men jag tror Strict är närmare på vägen än Transitional.
Jo, jag vet att sidan "blir som den blir", med tabeller, men det är vår lärare som vill att vi ska bygga upp vår sidan med tabellstruktur. Givetvis ganska fånigt... :p
Vet inte hur han tänker framöver i kursen, han pratar om ett projekt då vi i klassen med olika kunnande ska slå oss ihop och göra nåt. Det kanske blir en "riktig" sida då. Eller så blir det flum. :P
Men generellt tycker jag så: en sida ska vara praktisk och användarvänlig/väl överskådlig - framför att den är "snygg". Det ska ju framförallt vara en harmoni med vad det rör sig om för innehåll, men betoningen tycker jag ska bygga på stil och professionalitet, snarare än en massa flash, bara för att det är "ballt" och snyggt.
JavaScriptfel är för övrigt också nåt jag stör mig på på vissa sidor... :P Iaf när en funktion inte går alls, när det blir fel.
Min sida kan ju få den fula lilla triangeln där nere, för de som har inaktiverat Java, antar jag. Men det som jag använder det till funkar ändå. :)
:birp :birp !
Hehe.