Html 重写此代码:可单击divs
我想改变这个:Html 重写此代码:可单击divs,html,css,w3c,Html,Css,W3c,我想改变这个: <a href='foo'> <div> Moo </div> </a> 符合标准(内联元素中不应该有块元素)。将javascript连接到DIV只是为了导航,这似乎是一种黑客行为,降低了可访问性。。在本例中,我的要求是在我的固定维度链接上设置两组边框,因此在应用样式后,上述不合规代码可以完美地工作 另外,“a{display:block;}”是否是规避验证的合法方式?为什么不使用而不是并在两个元素上设置displa
<a href='foo'>
<div> Moo </div>
</a>
符合标准(内联元素中不应该有块元素)。将javascript连接到DIV只是为了导航,这似乎是一种黑客行为,降低了可访问性。。在本例中,我的要求是在我的固定维度链接上设置两组边框,因此在应用样式后,上述不合规代码可以完美地工作
另外,“a{display:block;}
”是否是规避验证的合法方式?为什么不使用而不是并在两个元素上设置display:block
另外,要回答后一个问题:我不相信添加display:block发送到您的锚将使其通过验证。验证器检查你是否遵循(X)HTML规则,而不是如何向用户呈现页面。
我通常认为<代码> <代码>标签是用于此目的的特例。你应该能够将其应用到任何事情上——这是在超文本的整个观点之后(我想到了一个很好的例子)。但如果你必须通过某个验证器,我理解
你可以使用一个JavaScript <代码> OnCase<?/Cult>处理程序,并完全删除锚吗?
< P>你可能想考虑把<代码> div <代码>放在<代码> < < /代码>中,如果它只是为了显示的目的,除非外部边界是可点击的是重要的。或者:<div class="dbl_border_links"><a href="blah">Blah text</a></div>
或者这个:
<a class="dbl_border_links" href="blah"><span>Blah text</span></a>
将起作用,您可以使用以下内容:
<style>
.dbl_border_links, .dbl_border_links>* {
display: block;
border: 1px solid;
padding: 1px;
}
.dbl_border_links {
border-color: red;
}
.dbl_border_links > * {
border-color: blue;
}
</style>
.dbl\u边框链接,.dbl\u边框链接>*{
显示:块;
边框:1px实心;
填充:1px;
}
.dbl_边框_链接{
边框颜色:红色;
}
.dbl_边框链接>*{
边框颜色:蓝色;
}
以指定样式。就我个人而言,我会使用包含
a
的div
,但这两种方法都有效。首先,给出锚显示肯定没有什么错:block;我要说的是,这是人们用CSS做的比较常见的事情之一,完全符合标准。其次,有许多方法可以在HTML元素上实现双边框。首先,请查看“大纲”属性:
诚然,这只适用于更现代的浏览器,但由于大纲不占用页面的任何空间,因此应该优雅地降级。如果链接的内容是一个图像,你可以简单地给链接添加一些填充和背景颜色,以及一个普通边框(另一种颜色),以创建一个双边框的印象。或者给图像一个自己的边框。当然,您也可以按照您最初的想法做一些事情,尽管将HTML以另一种方式嵌套,只需为每个元素指定不同的边框。或者,您可以在链接内部使用一个内联元素(如a或a或其他),并将其设置为display:block;(是的,这也是有效的!)。快乐编码 如果我正确理解了您的意图,您应该像前面提到的那样,将div放置在锚之外,并且为了获得相同的演示,使锚
宽度:100%;高度:100%
。跨浏览器的差异可能会有所不同。
此外,您还可以完全转储div,并给出锚display:block代码>
你到底想做什么?是的,div的背景必须是可点击的。先生,你是对的,因为html和css验证是两个独立的动物。我不得不对表单按钮做类似的事情。这种策略在表单元素中效果较差,但它仍然有效,我们获得了双刃的边界。border style:double属性在浏览器中的实现非常糟糕,这真是一个遗憾……感谢您提供的信息性建议!我实际上是用CSS来代替一个使用不同GIF改变边框颜色和字体颜色的图像滚动系统,但是我试图减少页面的重量