在固定 table header 上显示工具提示

Display tooltip over fixed table header

我正在尝试让工具提示覆盖在 jquery 数据 table 中,并固定滚动 header。我在这里的 jsfiddle 中重现了这个问题:

http://jsfiddle.net/75e4ssgv/4/

范例html:

<section>
    <h2>I am content</h2>
</section>
<section class="content">
        <div><span data-tooltip="other text i want to see">Other text</span></div>
        <div><span data-tooltip="some text i want to see">Text</span></div>
</section>

基本上 datatables 将以下 css 强制到容器中:

section.content {
    position: relative;
    background-color: white;
    width: 90%; 
    overflow: auto;
    border: 1px solid gray;
    height: 125px;
}

这对于使其中出现的内容有意义scroll-able。

但是,我从另一个站点

上截取了一个非常简单的 css 工具提示
[data-tooltip] {
    position: relative;
    z-index: 10;
    cursor: help;
    color: orangered;
    text-decoration: none;
}
[data-tooltip]:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-top: 20px solid orangered;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    left: 0;
    bottom: 90%;
    display: none;
}

[data-tooltip]:after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 130%;
    right: -50%;
    background: orangered;
    padding: 5px 15px;
    color: black;
    border-radius: 10px;
    white-space: nowrap;
    display: none;
}

[data-tooltip]:hover:after {
    bottom: 100%;
}

[data-tooltip]:hover:before {
    bottom: 70%;
}

[data-tooltip]:hover:after, [data-tooltip]:hover:before {
    display:block;
}

但是到目前为止,对 css 进行再多的修改也没有产生任何令人满意的结果。添加更高的 z-index 没有任何作用,如果我将 position: absolute 添加到 [data-tooltip] 声明中,它会将文本移动到 table.[=20 内的奇怪位置=]

那么,有什么方法可以让这个工具提示显示在容器之外而不用添加 position: absolute 吗?

将其添加到容器中

overflow: visible;

check this fiddle

经过深思熟虑,我们向 CSS 文件添加了一些额外的覆盖规则:

table tr:first-child [data-tooltip]:hover:after {
    bottom: -60%;
    right: 170%;
}
table tr:first-child [data-tooltip]:hover:before {
    bottom: -35%;
    right: 140%;
    border-left: 20px solid orangered;
    border-top: 2px solid transparent;
    border-bottom: 18px solid transparent;
}

当无法显示在顶部时,这会将工具提示放置在内容的左侧。