OVH Cloud OVH Cloud

validator XHTML strict : : où le mettre ?

7 réponses
Avatar
Felix
Bonjour à tous,
Il y a quelque jours pctech et olivier m'avait donné cette solution comme
ancre de haut de page, mais le validator XHTML1.0 strict me répond :
----------
1. Line 14, column 15: document type does not allow element "a" here;
missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre",
"address", "fieldset", "ins", "del" start-tag
---------
J'ai ceci (qui fonctionne parfaitement sous tous les nav):

<body>
<a name="top" />
<div id="menu"><img src....(c'est l'image d'un logo)
.
.
.
<div id="hautpage"><a href="#top" ...

Le pb, c'est que si je mets l'ancre dans le div "menu", je perds la moitié
du logo
ou si je fais a href="#menu", je perds la margin-top

J'ai besoin d'aide !
Merci à vous

Felix

7 réponses

Avatar
Christian
Felix a écrit :
Bonjour à tous,
Il y a quelque jours pctech et olivier m'avait donné cette solution comme
ancre de haut de page, mais le validator XHTML1.0 strict me répond :
----------
1. Line 14, column 15: document type does not allow element "a" here;
missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre",
"address", "fieldset", "ins", "del" start-tag
---------
J'ai ceci (qui fonctionne parfaitement sous tous les nav):

<body>
<a name="top" />



et avec :
<a name="haut">&nbsp;</a>
ou
<a id="haut">&nbsp;</a>


?

--
Christian
(enlever le H de mon e-mail)
http://perso.wanadoo.fr/baluchiterium/
Avatar
Fabrice Bonny
Le 19/07/2003 19:12, Felix tapotait :

Bonjour à tous,
Il y a quelque jours pctech et olivier m'avait donné cette solution comme
ancre de haut de page, mais le validator XHTML1.0 strict me répond :
----------
1. Line 14, column 15: document type does not allow element "a" here;
missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre",
"address", "fieldset", "ins", "del" start-tag
---------



Il manque un conteneur autour du <a>: <p>, <div>, etc.

--
Fabrice Bonny

http://openweb.eu.org/
Avatar
bobe64[retirez_cette_mention]
Felix wrote:
Bonjour à tous,
Il y a quelque jours pctech et olivier m'avait donné cette solution comme
ancre de haut de page, mais le validator XHTML1.0 strict me répond :
----------
1. Line 14, column 15: document type does not allow element "a" here;
missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre",
"address", "fieldset", "ins", "del" start-tag
---------
J'ai ceci (qui fonctionne parfaitement sous tous les nav):

<body>
<a name="top" />
<div id="menu"><img src....(c'est l'image d'un logo)
.
.
.
<div id="hautpage"><a href="#top" ...

Le pb, c'est que si je mets l'ancre dans le div "menu", je perds la moitié
du logo
ou si je fais a href="#menu", je perds la margin-top

J'ai besoin d'aide !
Merci à vous

Felix




Et avec <body id="top">

@+
Avatar
Felix
Fabrice Bonny a écrit dans le message :
3f1986b2$0$9620$
Le 19/07/2003 19:12, Felix tapotait :

> Bonjour à tous,
> Il y a quelque jours pctech et olivier m'avait donné cette solution


comme
> ancre de haut de page, mais le validator XHTML1.0 strict me répond :
> ----------
> 1. Line 14, column 15: document type does not allow element "a" here;
> missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre",
> "address", "fieldset", "ins", "del" start-tag
> ---------

Il manque un conteneur autour du <a>: <p>, <div>, etc.



Merci Fabrice, j'avais compris :)
Je ne vais pas créer un conteneur juste pour une ancre... quand même... si ?
si c'est le cas : bravo W3C : pourquoi faire simple quand on peut faire
compliqué !!

Si j'utilise les conteneurs que j'ai, je 'perds' les margin-top ou le
contenu

Comment vous faites, vous, les pros ?
Avatar
Felix
Christian a écrit dans le message : bfbvu5$4pt$
> J'ai ceci (qui fonctionne parfaitement sous tous les nav):
>
> <body>
> <a name="top" />

et avec :
<a name="haut">&nbsp;</a>
ou
<a id="haut">&nbsp;</a>



Je vais essayer, mais ça ne me parait pas vraiment 'clean' :)

Merci
Felix
Avatar
Olivier Miakinen
Le 20/07/2003 21:51, Fabrice Bonny a écrit :

C'est valide, ça ? Parce que la norme indique que l'espace de noms pour
les "id" et les "a name" est le même.
http://www.w3.org/TR/html4/struct/links.html#anchors-with-id



Dans le doute:
<div><a id="top" name="top">&nbsp;</a></div>



Ok, ceci est valide d'après le lien cité plus haut.

On a :

<cit.>
ILLEGAL EXAMPLE:
The following excerpt is illegal HTML since these attributes declare
the same name twice in the same document.
<A href="#a1">...</A>
...
<H1 id="a1">
...pages and pages...
<A name="a1"></A>
</cit.>

mais aussi :

<cit.>
The following example illustrates that id and name must be the same
when both appear in an element's start tag:
<P><A name="a1" id="a1" href="#a1">...</A>
</cit.>



Noter également qu'on trouve ça un peu plus haut dans la page :

<cit.>
Note. User agents should be able to find anchors created by empty A
elements, but some fail to do so. For example, some user agents may
not find the "empty-anchor" in the following HTML fragment:

<A name="empty-anchor"></A>
<EM>...some HTML...</EM>
<A href="#empty-anchor">Link to empty anchor</A>
</cit.>

C'est donc une bonne idée de mettre un &nbsp; dans l'ancre.
Avatar
Olivier Miakinen
Le 21/07/2003 07:49, Fabrice Bonny a écrit :

Le 20/07/2003 22:54, Pascal Chevrel tapotait :

Pourquoi pas ?
<div id="top" name="top"></div>



Parce que name n'existe pas dans les attributs d'un div. ;-)



Oui. D'ailleurs l'idée de départ était que cela marche avec les vieux
navigateurs qui ne connaissent que les ancres du type <a name=...>.
Sans cela, <div id="top"></div> suffirait.