webForumDet fria alternativet

En snabb fråga ang. xhtml

20 svar · 486 visningar · startad av shun

shunMedlem sedan mars 2004230 inlägg
#1
<a name="ankare"></a>
<a name="ankare" />

Hur ser det ut i xhtml?

PeeerMedlem sedan mars 20025 907 inlägg
#2

Det kan se ut på båda sätten. Båda är tillåtna!

shunMedlem sedan mars 2004230 inlägg
#3

Okej, undrade bara, för har gjort en ordlista med ca 150 ord, hade varit jobbigt att ändra:P

jarvkloMedlem sedan juli 20013 378 inlägg
#4

... men levererar du den som "text/html" (dvs genom att inte aktivt ändra MIME-typen på filen till "application/xhtml+xml") är det

<a name="ankare"></a>

som gäller av bakåtkompatibilitetsskäl ;) och kör du xhtml 1.0 strict är det

<a [b]id[/b]="ankare"></a>

som gäller av samma skäl :birp

shunMedlem sedan mars 2004230 inlägg
#5

Går det inte att köra både xhtml 1.0 strict och text/html? Fasen, det skulle ju inte bli diskussion av detta egentligen=)

edit- En sak till, jarvklo: om man nu använde id istället för name, hur använder man då id i css-sammanhanget? (låtsas att du förstår vad jag menar iaf)

jarvkloMedlem sedan juli 20013 378 inlägg
#6

shun skrev:

Går det inte att köra både xhtml 1.0 strict och text/html?

Såklart det gör - det är det som kallas "bakåtkompatibel xhtml" - men hur man bör och inte bör utnyttja XML-finesser (som t.ex. just "minimering av <a></a> till <a / > ) i det läget framgår av xhtml-rekommendationens appendix C: http://www.w3.org/TR/html/#guidelines .

Orsak att undvika <a ... /> :
Om du skickar sidan som text/html, innebär det att en del webbläsare skulle kunna börja tolka det du skickar som HTML "med lite skräp man skall strunta i" (enligt krav i HTML4-specen på feltolerans vid tolkning av koden), och det är i det läget inte garanterat att kortformen <a ... /> blir rätt tolkad då eftersom det skulle kunna vara ett "<a> med lite skräp i" (pss avråder W3C från kortformen <p /> istället för <p></p> i appendix C, punkt C3 - länk enligt ovan)

edit- En sak till, jarvklo: om man nu använde id istället för name, hur använder man då id i css-sammanhanget? (låtsas att du förstår vad jag menar iaf)

NP - Du använder det ID:s som alla andra ID:n i dokumentet

<a id="foo"></a>

stylas av CSS:en

#foo {...}

och id="foo" får bara förekomma i exakt en tagg, oavsett vilken, i varje enskilt dokument
:birp

shunMedlem sedan mars 2004230 inlägg
#7

/red - Sorry shun - jag råkade radera din text. Det var verkligen inte meningen!

/Jarvklo

jarvkloMedlem sedan juli 20013 378 inlägg
#8

Men hur gör man i så fall om man vill sätta ett css-id på länken?

<a id="litenlank" id="Klicka här för att komma vidare" .. />

Det verkar konstigt.

Brrrrrrr - Vad är det *egentligen* du vill göra ?

<a id="litenlank" href="ensida.html">Klicka här för att komma vidare</a>

hoppas jag - eller kanske

<a href="#foo">Hoppa till läget foo längre ner</a>
...
...
...
...
<a id="foo"></a> Det här är text efter läget "foo"

Man får bara ha ett id-attribut per element ;)

zcorpanMedlem sedan dec. 20042 245 inlägg
#9

Man får bara ha ett id-attribut per element

...och per dokument. :) nej, fel... man får bara ha samma ID en gång per dokument. ;)

shunMedlem sedan mars 2004230 inlägg
#10

Antingen är klockan för mkt, eller så används id både för att styra css (som class) och som namn på länken (som name, innan xhtml tydligen).

jarvkloMedlem sedan juli 20013 378 inlägg
#11

Det är exakt så. id har dubbla funktioner.

Framöver kommer du att kunna länka till vilken tagg som helst som har ett id pss som du idag länkar till ett <a name=".."></a> - men den funktionen finns inte införd i alla webbläsare idag

zcorpanMedlem sedan dec. 20042 245 inlägg
#12

I tidiga dagar (av HTML) användes name-attributet för att identifiera element.

Idag används ID istället, och name-attributet är borttaget iom "modularisation of XHTML" (XHTML 1.1 och Basic).

Du kan dock ange både name och ID i XHTML 1.0 (och HTML4).

jarvkloMedlem sedan juli 20013 378 inlägg
#13

zcorpan skrev:

...och per dokument. :) nej, fel... man får bara ha samma ID en gång per dokument. ;)

Hmm..

jarvklo skrev:

och id="foo" får bara förekomma i exakt en tagg, oavsett vilken, i varje enskilt dokument

:birp

shunMedlem sedan mars 2004230 inlägg
#14

jarvklo skrev:

Det är exakt så. id har dubbla funktioner.

Framöver kommer du att kunna länka till vilken tagg som helst som har ett id pss som du idag länkar till ett <a name=".."></a> - men den funktionen finns inte införd i alla webbläsare idag

Attans vad smart.. :)

zcorpanMedlem sedan dec. 20042 245 inlägg
#15

Man kan för övrigt sniffa fram vilket attribut och attributvärde som helst med CSS. # och . är egentligen "shorthands"

#foo {}
.bar {}

är samma sak som

[id=foo] {}
[class=bar] {}

Och du kan på samma sätt använda tex

[name=ankare] {}

om du vill.

Just ja, det fungerar inte med IE...

martinMedlem sedan apr. 2000313 inlägg
#16

jarvklo skrev:

Det är exakt så. id har dubbla funktioner.

Framöver kommer du att kunna länka till vilken tagg som helst som har ett id pss som du idag länkar till ett <a name=".."></a> - men den funktionen finns inte införd i alla webbläsare idag

Nån som vet vilka det funkar/inte funkar i?

zcorpanMedlem sedan dec. 20042 245 inlägg
#17

Funkar med alla webbläsare jag testat förutom Netscape 4.

shunMedlem sedan mars 2004230 inlägg
#18

zcorpan skrev:

Funkar med alla webbläsare jag testat förutom Netscape 4.

Då kan man alltså med säkerhet använda sig av metoden?

zcorpanMedlem sedan dec. 20042 245 inlägg
#19

Enligt mig, ja.

Netscape 4 har problem med det mesta. Om man vill att allt ska fungera med så gamla webbläsare så är det HTML 3.2 som gäller, i princip. Som tur är är det inte så många som använder gamla webbläsare längre. ;)

Man kan lägga ett ID på body om man vill.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>Test</title>
<body id="top">
<h1>Test</h1>
<hr style="margin: 20em 0">
<p><a href="#top">Upp</a>.
shunMedlem sedan mars 2004230 inlägg
#20

zcorpan skrev:

Enligt mig, ja.

Netscape 4 har problem med det mesta. Om man vill att allt ska fungera med så gamla webbläsare så är det HTML 3.2 som gäller, i princip. Som tur är är det inte så många som använder gamla webbläsare längre. ;)

Man kan lägga ett ID på body om man vill.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>Test</title>
<body id="top">
<h1>Test</h1>
<hr style="margin: 20em 0">
<p><a href="#top">Upp</a>.

Nu är jag inte säker, men går det inte lika bra att i ditt exempel skippa id i body-taggen, och bara ha href="#" i a-taggen? Då kommer man väl alltid till toppen av sidan?

138 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)