我正在尝试创建一个“可点击”的区域。
<a
style="display: block"
href="http://stackoverflow.com">
StackOverflow
</a>A是一个内联元素,但CSS使其成为一个块。
如果上面的条件是有效的,那么下面的条件也应该有效:
<a
style="display: block"
href="http://stackoverflow.com">
<div>Some DIV that links to StackOverflow</div>
</a>但是validator.w3.org不应该将其标记为无效(它现在就是无效的)。
如果它是无效的,那么使块元素“可点击”并重定向到任意页面的最合适的方法是什么呢?我知道我可以使用JS onclick来实现这种行为,但是Google将如何看待这一点呢?
发布于 2009-07-01 15:41:01
验证器是正确的-你不能把<div>放在<a>里面,不管你后来用CSS做了什么。
正确的做法是在第一个代码块-- <a style="display: block;">中执行的操作
如果你想要一些内部的东西,你可以做<a style="display: block;"><span style="display: block;">
发布于 2009-07-01 15:56:54
不要混淆有效的HTML和有效的CSS。使用display css属性使内联元素成为块是有效的。将块HTML元素放在内联元素中是无效的。
发布于 2009-07-01 15:41:05
这并不意味着一个有效意味着另一个必须有效。HTML有嵌套规则,而div- is There并不适合它们,这就是为什么validator.w3.org会让你很为难。
如果你真的需要一个<span style="display: block">,而不是文本、图片或div,那是可以点击的,那么是的,你将不得不使用onclick事件。谷歌不会理解或承认该链接的存在。(除了onclick div之外,您还可以通过在锚点可以应用的内容上设置锚点来解决此问题。)
https://stackoverflow.com/questions/1069881
复制相似问题