You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整Materialize CSS中select下拉选项的位置?

修复方案

  • 首先删除你代码中默认选中option上的style="margin-top: 43px"属性,这个额外的边距会干扰组件默认的位置计算逻辑,是引发覆盖问题的常见诱因。
  • 新增自定义CSS样式强制指定下拉框的位置:
.dropdown-content.select-dropdown {
  top: 100% !important;
  transform: translateY(0) !important;
  margin-top: 4px !important; /* 可自行调整输入框和下拉框的间距 */
}
  • 确认select组件的初始化时机正确,必须在DOM完全加载完成后执行初始化:
document.addEventListener('DOMContentLoaded', function() {
  const selectElements = document.querySelectorAll('select');
  M.FormSelect.init(selectElements);
});

Materialize CSS的select组件会默认隐藏原生select标签,生成自定义的.dropdown-content下拉结构,当父容器存在transform、overflow等特殊样式,或者默认位置计算受干扰时,就会出现下拉框偏移覆盖输入框的问题,上述样式会强制下拉框从输入框容器的底部开始渲染,彻底解决覆盖问题。

原问题参考

select下拉框覆盖输入框问题

我遇到的问题是:打开Materialize CSS的select组件时,下拉选项会覆盖输入框,我希望下拉选项显示在输入框的下方。

原问题代码:

<div class="input-field  ">
    <select>
        <option value="" disabled selected style="margin-top: 43px">Choose your option</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
    </select>
    <label>Sort By</label>
</div>

内容的提问来源于stack exchange,提问作者Samira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:45:00