我想创建一个与屏幕边缘齐平的弹出菜单。似乎 popper 不喜欢这样,因为它总是强制留出 5px 的边距。我尝试将偏移量和填充值设置为 0,但它似乎不起作用。有没有办法做到这一点而不强迫它喜欢
margin-left: -5px !important
这是我包含的tippy选项和一个JSFiddle:
https://jsfiddle.net/tbgwknpf/1/
<div class="button">
click me!
<div id="menu-content">
this is a tippy!
</div>
</div>
</div>
body {
margin: 0;
}
.bar {
height: 100px;
width: 100%;
background: coral;
}
.button {
background: aquamarine;
height: 100%;
width: 200px;
display: flex;
align-items: center;
justify-content: center;
}
const menu = document.getElementById("menu-content");
menu.style.display = 'block';
tippy('.button',
{
content: menu,
allowHTML: true,
interactive: true,
trigger: 'click',
hideOnClick: 'toggle',
placement: 'bottom-start',
offset: [0, 0],
popperOptions: {
modifiers: [
{
name: 'offset',
options: {
offset: [0, 0]
}
},
{
name: 'flip',
options: {
padding: 0,
flipVariations: false
}
}
]
},
});
如果我向按钮元素添加边距,则tippy 将像我想要的那样与边缘对齐。只有当我要求它与屏幕齐平时,它才会添加 5px 的 translationX