【发布时间】:2022-01-09 04:25:39
【问题描述】:
我需要一个靠近页面顶部的空间,它应该在左侧包含一个菜单,在右侧包含一个工具提示区域。当人们移动鼠标或点击事物时,工具提示中的文本会发生变化。
我想出的代码有点工作,但它阻止人们点击正文中的 stackoverflow 链接。不知何故,某种“幽灵”区域出现在链接的“顶部”。
在 Chrome 中检查页面显示 Chrome 认为消息 div 比屏幕上显示的要大,与链接重叠。
任何线索如何解决这个问题,或者找到一个更好的方法让这个工具提示 div 出现在它的位置?
window.addEventListener('load', () => {
d3.selectAll('span')
.on("mouseover", function(e) {
d3.select('#tooltip')
.text("Hello folks")
})
;
});
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
letter-spacing: 0.02em;
line-height: 1.5;
color: #354052;
}
header {
width: 100%;
height: 54px;
background: #14b2c7;
color: #ffffff;
vertical-align: middle;
overflow: hidden;
font-size: 2em;
font-weight: bold;
white-space: nowrap;
}
#body {
width: 100%;
overflow-wrap: break-word;
word-wrap: break-word;
padding: 10px;
}
.helper {
display: inline-block;
height: 100%;
vertical-align: middle;
}
div#menu2 {
color: #14b2c7;
height:27px;
overflow: hidden;
}
div#message {
height:27px;
position: relative;
}
span.link {
cursor: pointer;
font-size: 1.25em;
padding-right: 20px;
}
span.link.active {
text-decoration: underline;
}
div#tooltip {
position: absolute;
right: 12px;
bottom: 0;
height: 12px;
color: white;
background-color: #354052;
padding-bottom: 8px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<header>
<a href="https://stackoverflow.com"><img id="mainsite" src="https://stackoverflow.com/favicon.ico" /></a>
<span class="helper"> </span><span id="heading">My test page</span>
</header>
<div id="body">
<div id="message">
<div id="menu2">
<span class="link" data-id="search">Search</span>
<span class="link" data-id="filter">Filters</span>
<span class="link" data-id="gettingstarted">Getting started</span>
<span class="link" data-id="tips">Tips</span>
<span class="link" data-id="key">Key</span>
</div>
<div id="tooltip">
</div>
</div>
Here is a link to <a href="https://stackoverflow.com">stackoverflow</a>
</div>
【问题讨论】:
-
看起来错误是
#menu2和#tooltip之间的&nbsp;
标签: html css css-position