W3C XHTML 1.0严格兼容图像映射?

时间:2009-01-19 14:56:02

标签: xhtml imagemap

是否有制作图像地图W3C XHTML 1.0严格遵守?

我正在处理this page,当我点击我的W3C Validator徽章时,我收到验证错误。

There is no attribute "type", <area type="rect" coords="21,19,155,76" ...

是否有符合XHTML 1.0 Strict标准的标签替换了图像地图&lt; map&gt;和&lt; area&gt;标签?

我确实去了w3c并查看了他们的规范,我唯一能找到的是&lt; nl&gt;标记为嵌套&lt; li&gt;,但我尝试了它们,但它们在我尝试的任何浏览器中都不起作用。

6 个答案:

答案 0 :(得分:5)

验证失败,因为该属性的正确名称为 shape ,即该行应为

<area shape="rect" coords="21,19,155,76" ...

但是,rect仍然是默认设置,因此您只需删除type属性即可。

来源:XHTML 1.0 Trans DTD,搜索ELEMENT area

答案 1 :(得分:3)

图像地图的使用不像以前那么多,但有几个网站(Facebook,MySpace,Flickr)使用它们来标记照片。这是一个链接,向您展示实现类似结果的方法。

CSS Image Maps

CSS Image Maps, Redux

A List Apart: Night of the Image Map

答案 2 :(得分:0)

改为使用a链接元素并使用CSS来定位它们。像这样的东西(虽然不完全如此):

<div id="myheader">
    <a href="#" class="link1"><span>Link text for people without CSS</span></a>
</div>

#myheader {position:relative}
#myheader a {position:absolute;display:block}
#myheader a.link1 {top:5px;left:10px;width:20px;height:50px}
#myheader a span {display:none}

答案 3 :(得分:0)

成功!

我找到了答案,感谢Ozone Asylum的某位导演我A List Apart article css sprites的人。你可以做同样的事情,但不是那么紧张。 (但它可以符合XHTML!)

我实际做了一个here,只需点击大红色箭头即可查看示例......

为了公平,虽然我承认,它看起来有点俗气......客户选择的照片,而不是我的!

答案 4 :(得分:0)

我做了一些研究,似乎浏览器还不支持XHTML Strict兼容的图像映射。

我最后的绊脚石是,大多数浏览器都需要usemap属性中的“#”才能正常工作,现在无效。

您可以通过检测浏览器是否接受内容类型application / xhtml + xml并仅使用该类型进行响应来满足对name属性的需求。 (然后它修复了Chrome,我认为Firefox不会破坏IE)。

我玩了几个css解决方案,最终使用了Oli的建议。简单而且有效。

答案 5 :(得分:-1)

老实说,如果您正在使用不正确的XHTML语义进行图像映射,那么很可能。你应该发布你想要做的事情,看看它们是否可行。