css - CSS/SCSS 位置:绝对工具提示 - 防止离开屏幕
问题描述
我有一个使用 position: absolute 和 pseudo 元素制作的工具提示。问题是当与工具提示关联的元素太靠近侧面时 - 工具提示部分会超出屏幕并且不可读。有没有办法可以计算/防止工具提示离开屏幕?
http://jsfiddle.net/o9s4dy0t/25/
这是CSS代码:
.tooltip {
display: inline;
position: relative;
}
.tooltip:after {
background: #111;
background: rgba(0,0,0,.8);
border-radius: .5em;
bottom: 1.35em;
color: #fff;
content: attr(title);
display: table;
padding: .3em 1em;
position: absolute;
text-shadow: 0 1px 0 #000;
max-width:200px;
right:60px;
z-index: 98;
}
.tooltip:before {
border: solid;
border-color: #111 transparent;
border-color: rgba(0,0,0,.8) transparent;
border-width: .4em .4em 0 .4em;
bottom: 1em;
content: "";
display: block;
left: 0;
position: absolute;
z-index: 99;
}
如果箭头不亮也没关系 - 我将来可能会删除它。
解决方案
这需要进行计算。使用纯 CSS 我认为这是不可能的。但是,已经有各种图书馆这样做了。其中之一是: https ://getbootstrap.com/docs/4.1/components/popovers/ 您可以在代码中使用它并使其工作。
推荐阅读
- python - Python Mock Factory 子类和方法
- c# - 当我收到异常时,在 Startup.cs 文件中使用 Configure() 中的 IEmailSender
- bash - 如何从 Bash 中的电子邮件列表中获取域名列表?
- android - Android 会暂停 UI 线程以运行后台线程吗?
- python - 如何使此函数能够使用 numpy 数组作为参数并在 python 中返回一个数组?
- assembly - 找到最小值和最大值,其中一项是数组的 nCr 组合的总和,另一项是剩余项的总和
- django - 如果字段没有输入,在django中如何让它不被过滤
- c# - 使用密钥库存储的自签名证书在 azure 密钥库中创建证书
- android - 颤振 - 如何随机小部件序列/顺序
- asp.net - 创建实体框架 LINQ 组连接查询以返回 DTO 的属性子集和另一个 DTO 的列表,ASP.net 核心