html - White-space: pre 导致水平滚动, white-space: pre-wrap 导致收缩。如何结合使用两者?
问题描述
我有表格和元素行,我需要在悬停时显示工具提示。单元格元素的大小是固定的,但悬停元素更宽且有多行。问题是使用“空白:pre”,当有空间时,它会按预期工作,但当悬停发生在靠近容器右侧时,会导致水平滚动,同时设置“空白: pre-wrap" 导致文本在有空间时缩小,应该更宽,但在没有空间时按预期操作。
如何使悬停的文本在有可用空间时完全展开,但在没有可用空间时缩小,例如靠近容器的右侧?
.container {
/* only to limit redundant code and simulate approaching to right edge of screen*/
width: 400px;
height: 120px;
overflow: hidden;
border: 1px solid black;
}
.tooltip {
position: relative;
width: 40px;
text-align: center;
}
.tooltip::after {
content: attr(data-title);
position: absolute;
left: 0;
background: blue;
display: none;
white-space: pre;
border: 1px solid black;
}
.tooltip:hover::after {
display: block;
}
<div class="container">
<table class="tab">
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
<td class=" tooltip" data-title="Lorem Ipsum
Lorem Ipsum Lorem Ipsum aaa
Lorem Ipsum"><button>btn</button></td>
</table>
</div>
解决方案
推荐阅读
- linux - 缓冲区中值的跳跃索引
- html - 来自 HTML 的 Typescript Pass 访问器函数
- r - 查找两个数据集 R 之间的最近坐标
- flutter - Flutter Assets/Images 文件夹加上文件显示未跟踪/包含强调的项目错误
- javascript - 在前一个函数完成后执行一个函数
- docker - Docker:通过 VPN 容器将流量从一个容器路由到另一个容器
- docker - 在 FROM 指令中使用 Content Trust 时忽略 Docker --build-arg
- firebase - 在设备离线时响应本机应用程序发送推送通知
- java - Mediaplayer没有在android中启动
- powershell - 为什么 write-host 输出到成绩单但 write-information 没有?