是否有制作图像地图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;,但我尝试了它们,但它们在我尝试的任何浏览器中都不起作用。
答案 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)使用它们来标记照片。这是一个链接,向您展示实现类似结果的方法。
答案 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语义进行图像映射,那么很可能。你应该发布你想要做的事情,看看它们是否可行。