HTML 链接超过文本问题

发布于 2024-08-31 02:10:47 字数 747 浏览 6 评论 0原文

我需要在整个 div 上添加一个链接,其中包含更多 div。看起来像这样:

div.top
{
  width: 150px;
  height: 150px;
  position: relative;
}

a.link
{
  width: 150px;
  height: 150px;
  position: absolute;
  top: 0;
}

<div class="top">
  <div class="text1">Text 1</div>
  <div class="text2">Text 2</div>

  <a class="link" href="http://something"></a>
</div>

所以我在里面放了一个链接,并将其设置为顶部 div 的大小。一切在 Firefox、Safari 和 Chrome 中都运行良好。在 IE 和 Opera 中,每当我将鼠标光标悬停在该区域以及文本上时,光标都会更改为选择光标,而不是手(意味着没有链接)。每当我将光标从文本上移开时,链接就会再次可用。

如何使链接完全“覆盖”文本?我尝试添加 z-index:

div.top
{
  z-index: 0;
}

a.link
{
  z-index: 1;
}

没有帮助。

有什么想法吗?

I need to add a link over the entirety of a div which contains some more divs. Looks like this:

div.top
{
  width: 150px;
  height: 150px;
  position: relative;
}

a.link
{
  width: 150px;
  height: 150px;
  position: absolute;
  top: 0;
}

<div class="top">
  <div class="text1">Text 1</div>
  <div class="text2">Text 2</div>

  <a class="link" href="http://something"></a>
</div>

So I put a link inside and made it the size of the top div. Everythign works fine in Firefox, Safari and Chrome. In IE and Opera, whenever I hover mouse cursor over that area but also over a text, the cursor is changing to selection cursor, not a hand (meaning no link). Whenever I move the cursor off the text, the link is available again.

How can I make the link to "cover" the text completely? I tried adding z-index:

div.top
{
  z-index: 0;
}

a.link
{
  z-index: 1;
}

doesn't help.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

只是偏爱你 2024-09-07 02:10:47
span.text1
{
    float: left;
}
span.text2
{
    clear: left;
    float: left;
}
a.link
{       
}


<a class="link" href="http://something">
    <span class="text1">Text 1</span>
    <span class="text2">Text 2</span>
</a>
span.text1
{
    float: left;
}
span.text2
{
    clear: left;
    float: left;
}
a.link
{       
}


<a class="link" href="http://something">
    <span class="text1">Text 1</span>
    <span class="text2">Text 2</span>
</a>
辞旧 2024-09-07 02:10:47

Ewww,我建议几件事:

  1. 使用脚本来更改鼠标悬停时的页面(而不是单击时,这很烦人)并将外部分区设置为具有指针光标(注意:不是 手)。

  2. 将所有内容包裹在锚点中,并使用其中的跨度对文本执行不同的操作(请记住,不应该在锚点内包含块级元素)。

您正在做的事情在所有浏览器上的工作方式永远不会相同。

Ewww, a couple of things I would suggest:

  1. Use scripting to change the page on-mouse-up (not on-click, that's annoying) and set the outer division to have the pointer cursor (note: not hand).

  2. Wrap everything in the anchor and use spans inside it to do different things with the text (remember you're not supposed to have block-level elements inside an anchor).

What you're doing will never work the same across all browsers.

铃予 2024-09-07 02:10:47

我建议,你最好将 onclick 事件用 js 放置到顶部 div 元素,重定向到你需要的地方。
您还可以使用 css 将鼠标光标更改为手形。

<div style="cursor:pointer;cursor:hand" class="top" onclick="location.href='http://something'">
  <div class="text1">Text 1</div>
  <div class="text2">Text 2</div>
</div>

I suggest, you would better put onclick event to the top div element with js, that redirects somewhere you need.
You can also change mouse cursor to hand with css.

<div style="cursor:pointer;cursor:hand" class="top" onclick="location.href='http://something'">
  <div class="text1">Text 1</div>
  <div class="text2">Text 2</div>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文