把一个div变成一个链接

我有一个带有一些花哨的视觉内容的<div>块,我不想改变它。 我想让它成为一个可点击的链接。

我正在寻找类似<a href="…"><div> … </div></a> ,但这是有效的XHTML 1.1。


来到这里希望能找到我的更好的解决方案,但我不喜欢这里提供的任何解决方案。 我想你们有些人误解了这个问题。 OP想要让一个充满内容的行为像链接一样。 其中一个例子就是Facebook广告 - 如果你看,他们实际上是正确的标记。

对我来说,no-nos是:javascript(不应该只需要一个链接,并且非常糟糕的SEO /可访问性); 无效的HTML。

本质上是这样的:

  • 使用普通的CSS技术和有效的HTML构建你的面板。
  • 在那里的某个地方放置了一个链接,如果用户点击面板,你想要成为默认链接(你也可以有其他链接)。
  • 在该链接中,放置一个空的span标签( <span></span> ,而不是<span /> - 谢谢@Campey)
  • 给小组的立场:相对
  • 将下面的CSS应用于空跨度:

    { 
      position:absolute; 
      width:100%;
      height:100%;
      top:0;
      left: 0;
    
      z-index: 1;
    
      /* fixes overlap error in IE7/8, 
         make sure you have an empty gif */
      background-image: url('empty.gif');
    }   
    

    现在它将覆盖面板,并且它位于<A>标记内,它是一个可点击的链接

  • 给出面板位置内的任何其他链接:相对和合适的z-索引(> 1),以使它们位于默认跨度链接的前面

  • 你不能让div本身成为一个链接,但是你可以使一个<a>标签作为一个block ,与<div>具有相同的行为。

    a {
        display: block;
    }
    

    然后你可以设置它的宽度和高度。


    这是一个古老的问题,但我想我会回答它,因为这里的每个人都有一些疯狂的解决方案。 这其实很简单...

    一个锚标签是这样工作的 -

    <a href="whatever you want"> EVERYTHING IN HERE TURNS INTO A LINK </a>
    

    SOOO ...

    <a href="whatever you want"> <div id="thediv" /> </a>
    

    虽然我不确定这是否有效。 如果这是口头解决方案背后的推理,那么我很抱歉...

    链接地址: http://www.djcxy.com/p/36511.html

    上一篇: Make a div into a link

    下一篇: How do I get a div to float to the bottom of its container?