首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建有效的XHTML可单击块区域

创建有效的XHTML可单击块区域
EN

Stack Overflow用户
提问于 2009-07-01 15:38:18
回答 7查看 2K关注 0票数 4

我正在尝试创建一个“可点击”的区域。

代码语言:javascript
复制
<a
  style="display: block"
  href="http://stackoverflow.com">
  StackOverflow
</a>

A是一个内联元素,但CSS使其成为一个块。

如果上面的条件是有效的,那么下面的条件也应该有效:

代码语言:javascript
复制
<a
  style="display: block"
  href="http://stackoverflow.com">
  <div>Some DIV that links to StackOverflow</div>
</a>

但是validator.w3.org不应该将其标记为无效(它现在就是无效的)。

如果它是无效的,那么使块元素“可点击”并重定向到任意页面的最合适的方法是什么呢?我知道我可以使用JS onclick来实现这种行为,但是Google将如何看待这一点呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-01 15:41:01

验证器是正确的-你不能把<div>放在<a>里面,不管你后来用CSS做了什么。

正确的做法是在第一个代码块-- <a style="display: block;">中执行的操作

如果你想要一些内部的东西,你可以做<a style="display: block;"><span style="display: block;">

票数 10
EN

Stack Overflow用户

发布于 2009-07-01 15:56:54

不要混淆有效的HTML和有效的CSS。使用display css属性使内联元素成为块是有效的。将块HTML元素放在内联元素中是无效的。

票数 3
EN

Stack Overflow用户

发布于 2009-07-01 15:41:05

这并不意味着一个有效意味着另一个必须有效。HTML有嵌套规则,而div- is There并不适合它们,这就是为什么validator.w3.org会让你很为难。

如果你真的需要一个<span style="display: block">,而不是文本、图片或div,那是可以点击的,那么是的,你将不得不使用onclick事件。谷歌不会理解或承认该链接的存在。(除了onclick div之外,您还可以通过在锚点可以应用的内容上设置锚点来解决此问题。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1069881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档