gpt4 book ai didi

html - CSS IE 悬停效果 - 重叠元素、显示 :Block, 和崩溃

转载 作者:行者123 更新时间:2023-11-28 13:50:37 25 4
gpt4 key购买 nike

在一个相当简单的网页中,将鼠标悬停在某些链接上时会出现一些类似于工具提示的文本。

首先,这是我正在使用的测试页:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Tooltip Test Page</title>
<style type="text/css">
html, body, form, table, tr, td, div, p, h1, h2, h3, h4, h5 {
border:0;
margin:0;
padding:0;
}

body {
margin:10px;
}

html, body, table {
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
}

h1 {
font-weight:bold;
font-size:16px;
}

table {border-collapse:collapse;}
td {padding:0 8px 0 0;}

a.tooltip {
z-index:24;
text-decoration:none;
cursor:default;
position:relative;
color:#000;
display:block;
width:100px;
}
a.tooltip span {display:none;}
a.tooltip:hover, a.tooltip:active {
z-index:25;
color:;
background:;
/*
the color and background actually don't matter for their values,
it's just that these have to change for IE to apply this style properly.
Leaving out the color or the background makes this fail in different ways.
*/
}

a.tooltip:hover span, a.tooltip:active span {
display:block;
position:absolute;
color:black;
background-color:#FFFFCC;
border:1px solid black;
padding:1px;
text-align:left;
top:0;
left:0;
margin-top:-1px;
}

td span.s5 {color:#ff0000}
td span.s6 {color:#0000ff}

</style>
<script type="text/javascript">
function labelSubmit(label) {
document.getElementById('o').value=label;
document.BackAt.submit();
}
</script>
</head>
<body>
<h1>tooltip Test Page</h1>
<table>
<tbody>
<tr>
<td><span class="s6">&#x25a0;</span> Name 3</td>
<td class="status"><a class="tooltip" href="" onclick="return false;">Status 6<span>Some very long tooltip text to demonstrate the problem by overlapping the cells below.</span></a></td>
</tr>
<tr>
<td><span class="s6">&#x25a0;</span> Name 1</td>
<td class="status"><a class="tooltip" href="" onclick="return false;">Status 6</a></td>
</tr>
<tr>
<td><span class="s6">&#x25a0;</span> Name 2</td>
<td class="status"><a class="tooltip" href="" onclick="return false;">Status 6<span>Some tooltip text</span></a></td>
</tr>
<tr>
<td><span class="s6">&#x25a0;</span> Name 4</td>
<td class="status"><a class="tooltip" href="" onclick="return false;">Status 6</a></td>
</tr>
<tr>
<td><span class="s5">&#x25a0;</span> Name 5</td>
<td class="status"><a class="tooltip" href="" onclick="return false;">Status 5<span>More Notes</span></a></td>
</tr>
<tr>
<td><span class="s6">&#x25a0;</span> Name 6</td>
<td class="status"><a class="tooltip" href="" onclick="return false;">Status 6<span>Yet more notes</span></a></td>
</tr>
</tbody>
</table>
</body>
</html>

我遇到的问题是来自其他值的文本通过工具提示文本显示。

将鼠标悬停在第一行第二列上可以看到效果。

我想完成几件事:

  • 使悬停的激活区域更宽,因此将鼠标悬停在“状态 6”右侧的某个空间上会调出工具提示(例如,目标总宽度为 100-150 像素)。起初,当我将 display:block 添加到 a.tooltip 时,IE 在悬停时终止。我通过从 a.tooltip:hover 中删除 width:14em 解决了这个问题。在 a 元素上设置悬停事件的宽度 + display.block 会做坏事。

  • 更改工具提示的宽度而不更改列/父 a 元素的宽度(因此工具提示可以更宽并占用更少的垂直空间)。使工具提示的宽度随其内容变化到最大宽度的选项,此时换行会很棒,但在 IE 中可能是不可能的。一旦我在 a.tooltip 上设置了宽度,悬停源之外的其他行上方的工具提示部分就会让文本从这些单元格中显示出来。移除宽度,您会看到文本不再显示。

  • 悬停效果适用于整个工具提示,因此如果工具提示覆盖 3 行,当向下移动鼠标时,接下来的 2 行不会激活,因为光标尚未离开工具提示。悬停效果是否仅适用于悬停的初始元素而不适用于工具提示本身,以便向下移动鼠标将在每行中显示每个工具提示?

  • 如果链接永远不会被激活(它们无法获得焦点)就好了。我不知道这是否可能。可惜 IE 不支持悬停在除链接以外的任何元素上。

注意:很快 IE6 将被 IE7 取代。如果它有很大的不同,那么 IE7 可以作为目标浏览器。

感谢您的帮助。

最佳答案

单靠 css 是无法解决这些问题的。如您所知,IE 不支持 :hover 伪选择器,因此您需要通过添加 href="javascript:void(0);"使链接处于非事件状态。到您的链接。

我强烈推荐http://craigsworks.com/projects/qtip/作为 jquery 解决方案。您可以专门设置悬停条件,功能会随着 js 关闭而降低,甚至可以与 IE6 一起使用。此外,您可以将这些工具提示应用于任何标签,从而解决您的 anchor 问题。

即使使用这个插件,您仍然会遇到工具提示与列表内容重叠的问题,因此您应该将它们放在列表的一侧。这样您就可以将鼠标直接悬停在列表下方,而不会受到工具提示的干扰。

关于html - CSS IE 悬停效果 - 重叠元素、显示 :Block, 和崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2384231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com