我可以让一个 div 类可点击吗?

Posted

技术标签:

【中文标题】我可以让一个 div 类可点击吗?【英文标题】:Can I make a div class clickable? 【发布时间】:2014-04-18 17:08:18 【问题描述】:

我尝试将href 添加到cart-button 类中,如下面的html 代码:

    <div class="cart-button" href="#shopping-cart" ><span>Shopping Cart (0)</span>
      <div class="cart-dropdown">
        <p class="emptycart">Your shopping cart is empty.</p>
      </div>
    </div>

如您所见,我将href 插入到cart-button 类中,但是当我单击按钮时,页面不会前进到href 页面。

是否可以像上面那样将href 变成div,或者这是错误的?

这是上面 HTML 代码的 CSS:

    .cart-button 
      position: relative;
      left: 700px;
      bottom: 57px;
      width: 180px;
      height:30px;
      cursor: pointer;
      background: url("images/cart-sprite.png") no-repeat 0 0;
    

    .cart-button:hover  background: url("images/cart-sprite.png") no-repeat 0 -30px; 

    .cart-button span 
      white-space: nowrap;
      position: absolute;
      font-size: 13px;
      font-weight: bold;
      color: #373737;
      padding: 9px 10px 10px 53px;
    

    .cart-button span:hover  color: #000; 

    .cart-dropdown 
      position: relative;
      top: 30px;
      right: 71px;
      width: 250px;
      height: 100px;
      background: #fff;
      border: 1px solid #ddd;
      display: none;
      opacity: 0;
    

    .cart-button:hover .cart-dropdown 
      display: block;
      opacity: 1;
    

    .emptycart 
      position: relative;
      font-size: 11px;
      font-weight: bold;
      padding-top: 8px;
      padding-bottom: 8px;
      color: #fff;
      background: #202020;
      text-align: center;
    

【问题讨论】:

【参考方案1】:

使用&lt;a&gt; 标签。您不能将href 属性添加到任意元素以使其可点击。不是href 使&lt;a&gt; 标签可点击,而是&lt;a&gt; 标签。

您可以使用 javascript 实现类似的功能,但您不应该这样做。使用语义上表示可点击元素的标签 - &lt;a&gt;&lt;button&gt;

【讨论】:

我明白了,谢谢你让我知道,让我更清楚了。还在学习 HTML 和 CSS :)【参考方案2】:

在 html5 中,您可以将块元素包装在 &lt;a&gt; 标签中。

http://html5doctor.com/block-level-links-in-html-5/

所以...

<a href="#"><div>...</div></a>

【讨论】:

我喜欢你提到这一点,因为以前它是无效的。但是,meagar 的答案更完整-如果这些答案在同一个答案中,我会很高兴;) 哈哈,是的,耻辱。不过还是觉得不对劲。【参考方案3】:

试试

  <a href="https://www.google.co.in/"><div class="cart-button"  ></div></a>

DEMO

【讨论】:

【参考方案4】:

如果不使用锚标记,您将无法真正做到这一点。

但是,您可以将 onClick 事件添加到 div 以触发您想要的任何事件。不过,我个人更喜欢前者。

【讨论】:

【参考方案5】:

如果你愿意,你也可以使用 JQuery,这样你的代码就会看起来像这样:

$(function () 
     $('.cart-button').click(function() 
          //GO SOMEWHERE or DO SOMETHING HERE
     );
);

不要忘记在您的页面中链接 JQuery 库。

快乐编码...

【讨论】:

以上是关于我可以让一个 div 类可点击吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不应该让一个类可序列化?

可以创建一个 div 来充当下拉菜单吗?

我可以让一个 1000 像素宽的 <div> 包含一个 1300 像素宽的 <div> 吗?

CSS里鼠标点击div里的LI中的文字时,切换其他文字怎么实现???

我们可以使元素(div)对鼠标事件透明吗? [复制]

js实现点击显示一个div,点击其他任何地方div消失,如何实现