我正在尝试编辑下拉元素的位置,但我似乎无法让它工作。我将 Bootstrap 4 与 Popper.js 一起使用,我只是在我的页面中添加了一个没有任何替代样式的默认下拉列表,但它会自动将以下内容添加到下拉列表的样式属性中:
position: absolute;
transform: translate3d(4px, 90px, 0px);
top: 0px;
left: 0px;
will-change: transform;
现在我想改变转换后的位置,我尝试使用自定义样式并添加 '!important' 但到目前为止没有结果。
我的触发器+下拉列表:
<a href="#" class="account_nav_link" role="button" id="dropdownAccount" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<i class="account_nav_icon fab fa-accessible-icon"></i>
</a>
<div class="dropdown-menu dropdown_account" id="dropdownAccount-menu" aria-labelledby="dropdownAccount">
<span class="dropdown_arrow"></span>
<div class="dropdown_wrap">
<ul class="dropdown_nav">
<li class="content_item"></li>
<li class="content_item"></li>
</ul>
</div>
</div>
我还使用在 github 上找到的 JS 尝试了以下解决方案,但也没有任何结果。谁能帮我解决这个问题?
var reference = $('#dropdownAccount');
var popper = $('#dropdownAccount-menu');
var anotherPopper = new Popper(
reference,
popper,
{
modifiers: {
computeStyle: {enabled: false, gpuAcceleration: false},
},
}
);
最佳答案
我不确定这是否适合你,但这是我的故事:
我也将 BS4 与 popper.js 一起使用。在大多数情况下,transform 属性对我来说工作得很好。但是,在屏幕宽度为 478 像素或更小的移动 View 中,它会稍微滚动到屏幕外,因为它稍微向右偏移。
所以我所做的就是检查站点代码以找到最初为我的下拉列表设置的转换元素值:
transform: translate3d(5px, 38px, 0px);
并在我的样式表中添加了一个媒体查询来覆盖它:
.dropdown-menu {
transform: translate3d(0px, 38px, 0px) !important;
}
也许在您的样式表中,这些方面的内容也对您有用(显然,将我自己的值更改为您的值)。我只是不想坐在那里篡改脚本,因为这是我在样式表中只需几行代码即可实现的最快解决方案。
关于html - Bootstrap 4 Popper.js 编辑样式属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49244463/