如果导入 bootstrap CSS,Popper.js 不工作?
Popper.js not working if bootstrap CSS is imported?
我 运行 遇到了一个 确实 不寻常的问题,其中 Popper.js 和 Tooltip.js 在我使用Bootstrap CSS.
这是我用来测试的代码:
<script src="https://unpkg.com/popper.js/dist/umd/popper.min.js"></script>
<script src="https://unpkg.com/tooltip.js/dist/umd/tooltip.min.js"></script>
<span id="test-tooltip" data-tooltip="Testing tooltips!">Hover over me, I dare you.</span>
<script>
document.addEventListener('DOMContentLoaded', function() {
var referenceElement = document.getElementById("test-tooltip");
var instance = new Tooltip(referenceElement, {
title: referenceElement.getAttribute('data-tooltip'),
placement: "bottom",
});
});
</script>
还有一些CSS,但是很长,所以我把它放在底部。
如果我在任何地方包含 Bootstrap,整个事情就会停止工作。悬停时什么也没有显示。
<link rel="stylesheet" href="CSS/bootstrap.css">
我正在使用最新版本的 bootstrap,我什至还尝试了一些旧版本。
这是用于设置工具提示样式的 CSS:
.popper,
.tooltip {
position: absolute;
background: rgb(75, 75, 75);
color: white;
min-width: 80px;
border-radius: 3px;
box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
padding: 12px;
text-align: center;
}
.popper .popper__arrow,
.tooltip .tooltip-arrow {
width: 0;
height: 0;
border-style: solid;
position: absolute;
margin: 5px;
}
.tooltip .tooltip-arrow,
.popper .popper__arrow {
border-color: rgb(75, 75, 75);
}
.popper[x-placement^="top"],
.tooltip[x-placement^="top"] {
margin-bottom: 6px;
}
.popper[x-placement^="top"] .popper__arrow,
.tooltip[x-placement^="top"] .tooltip-arrow {
border-width: 5px 5px 0 5px;
border-left-color: transparent;
border-right-color: transparent;
border-bottom-color: transparent;
bottom: -5px;
left: calc(50% - 5px);
margin-top: 0;
margin-bottom: 0;
}
.popper[x-placement^="bottom"],
.tooltip[x-placement^="bottom"] {
margin-top: 6px;
}
.tooltip[x-placement^="bottom"] .tooltip-arrow,
.popper[x-placement^="bottom"] .popper__arrow {
border-width: 0 5px 5px 5px;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
top: -5px;
left: calc(50% - 5px);
margin-top: 0;
margin-bottom: 0;
}
.tooltip[x-placement^="right"],
.popper[x-placement^="right"] {
margin-left: 6px;
}
.popper[x-placement^="right"] .popper__arrow,
.tooltip[x-placement^="right"] .tooltip-arrow {
border-width: 5px 5px 5px 0;
border-left-color: transparent;
border-top-color: transparent;
border-bottom-color: transparent;
left: -5px;
top: calc(50% - 5px);
margin-left: 0;
margin-right: 0;
}
.popper[x-placement^="left"],
.tooltip[x-placement^="left"] {
margin-right: 6px;
}
.popper[x-placement^="left"] .popper__arrow,
.tooltip[x-placement^="left"] .tooltip-arrow {
border-width: 5px 0 5px 5px;
border-top-color: transparent;
border-right-color: transparent;
border-bottom-color: transparent;
right: -6px;
top: calc(50% - 5px);
margin-left: 0;
margin-right: 0;
}
有谁知道为什么会发生这种不寻常的事情?
我尝试过的事情:
- 正在从 bootstrap.css
中删除与工具提示相关的所有内容
- 正在代码中导入 bootstrap before/after Popper.js 相关内容。
- 将自定义 CSS 放入 bootstrap.css。
还有很多其他的事情,我在试图解决这个问题时忘记了所有这些事情。
我已经检查了您的代码并且它运行良好,问题仅在于工具提示的不透明度。
添加此代码以显示您的工具提示
.tooltip[aria-hidden="false"]{
opacity:1;
}
Link 开始工作 fiddle here
我 运行 遇到了一个 确实 不寻常的问题,其中 Popper.js 和 Tooltip.js 在我使用Bootstrap CSS.
这是我用来测试的代码:
<script src="https://unpkg.com/popper.js/dist/umd/popper.min.js"></script>
<script src="https://unpkg.com/tooltip.js/dist/umd/tooltip.min.js"></script>
<span id="test-tooltip" data-tooltip="Testing tooltips!">Hover over me, I dare you.</span>
<script>
document.addEventListener('DOMContentLoaded', function() {
var referenceElement = document.getElementById("test-tooltip");
var instance = new Tooltip(referenceElement, {
title: referenceElement.getAttribute('data-tooltip'),
placement: "bottom",
});
});
</script>
还有一些CSS,但是很长,所以我把它放在底部。
如果我在任何地方包含 Bootstrap,整个事情就会停止工作。悬停时什么也没有显示。
<link rel="stylesheet" href="CSS/bootstrap.css">
我正在使用最新版本的 bootstrap,我什至还尝试了一些旧版本。
这是用于设置工具提示样式的 CSS:
.popper,
.tooltip {
position: absolute;
background: rgb(75, 75, 75);
color: white;
min-width: 80px;
border-radius: 3px;
box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
padding: 12px;
text-align: center;
}
.popper .popper__arrow,
.tooltip .tooltip-arrow {
width: 0;
height: 0;
border-style: solid;
position: absolute;
margin: 5px;
}
.tooltip .tooltip-arrow,
.popper .popper__arrow {
border-color: rgb(75, 75, 75);
}
.popper[x-placement^="top"],
.tooltip[x-placement^="top"] {
margin-bottom: 6px;
}
.popper[x-placement^="top"] .popper__arrow,
.tooltip[x-placement^="top"] .tooltip-arrow {
border-width: 5px 5px 0 5px;
border-left-color: transparent;
border-right-color: transparent;
border-bottom-color: transparent;
bottom: -5px;
left: calc(50% - 5px);
margin-top: 0;
margin-bottom: 0;
}
.popper[x-placement^="bottom"],
.tooltip[x-placement^="bottom"] {
margin-top: 6px;
}
.tooltip[x-placement^="bottom"] .tooltip-arrow,
.popper[x-placement^="bottom"] .popper__arrow {
border-width: 0 5px 5px 5px;
border-left-color: transparent;
border-right-color: transparent;
border-top-color: transparent;
top: -5px;
left: calc(50% - 5px);
margin-top: 0;
margin-bottom: 0;
}
.tooltip[x-placement^="right"],
.popper[x-placement^="right"] {
margin-left: 6px;
}
.popper[x-placement^="right"] .popper__arrow,
.tooltip[x-placement^="right"] .tooltip-arrow {
border-width: 5px 5px 5px 0;
border-left-color: transparent;
border-top-color: transparent;
border-bottom-color: transparent;
left: -5px;
top: calc(50% - 5px);
margin-left: 0;
margin-right: 0;
}
.popper[x-placement^="left"],
.tooltip[x-placement^="left"] {
margin-right: 6px;
}
.popper[x-placement^="left"] .popper__arrow,
.tooltip[x-placement^="left"] .tooltip-arrow {
border-width: 5px 0 5px 5px;
border-top-color: transparent;
border-right-color: transparent;
border-bottom-color: transparent;
right: -6px;
top: calc(50% - 5px);
margin-left: 0;
margin-right: 0;
}
有谁知道为什么会发生这种不寻常的事情? 我尝试过的事情:
- 正在从 bootstrap.css 中删除与工具提示相关的所有内容
- 正在代码中导入 bootstrap before/after Popper.js 相关内容。
- 将自定义 CSS 放入 bootstrap.css。
还有很多其他的事情,我在试图解决这个问题时忘记了所有这些事情。
我已经检查了您的代码并且它运行良好,问题仅在于工具提示的不透明度。 添加此代码以显示您的工具提示
.tooltip[aria-hidden="false"]{
opacity:1;
}
Link 开始工作 fiddle here