【问题标题】:How to correctly customize the drop-down menu created by ul-li tags?如何正确自定义 ul-li 标签创建的下拉菜单?
【发布时间】:2021-10-06 15:47:41
【问题描述】:

我使用标签ulli 创建了一个下拉菜单。这可行,但我希望在打开菜单时,它不会像屏幕上那样移动下面的块。所以,这是我的 CSS:

#select-ul {
  display: block;
  cursor: pointer;
  border: 0.1px solid rgba(0, 0, 0, .1);
  border-top: 0;
  background-color: white;
  padding: 12px;
  height: 300px;
  overflow: auto;
  float: none;
  overflow-y:scroll;
}

【问题讨论】:

  • youtube.com/watch?v=Fc-oyl31mRI 使用一些 javascript 观看此视频,它看起来很棒,但会相当复杂。
  • 其实我用的是VueJS,所以JS不会有问题,不过这个是纯html+scss
  • 只要给它一个z-index: 1;position: absolute; 它对我来说也确实对你有用。
  • 顺便说一句,position: absolute; 有效,但下拉菜单不会按窗口大小缩放。我的意思是,窗口Preferences 的大小随浏览器窗口的大小而变化,但菜单是静态的。我该如何解决?

标签: html css frontend scss-mixins


【解决方案1】:

改变你的CSS有点像

旧 CSS

#select-ul {
  display: block;
  cursor: pointer;
  border: 0.1px solid rgba(0, 0, 0, .1);
  border-top: 0;
  background-color: white;
  padding: 12px;
  height: 300px;
  overflow: auto;
  float: none;
  overflow-y:scroll;
}

新的 CSS

#select-ul {
  z-index: 1;
  display: none;
  position: absolute;
  width: 100%; /* you can change but must give width */
  max-height: 300px;
  cursor: pointer;
  border: 1px solid #e5e5e5; /* 0.1px doesn't work */
  border-top: 0;
  padding: 12px;
  background-color: white;
  overflow: hidden scroll;
}

#select-ul.active {
  display: flex;
  flex-direction: column;
}

在你使用它时,还有一点 JavaScript 将其转换为 vue

const dropdown = document.querySelector('#select-ul');

dropdown.addEventListener('click', () => {
  dropdown.classList.add('active'); // you can also use toggle
});

// additionally 
dropdown.addEventListener('blur', () => {
  dropdown.classList.remove('active');
});

让我知道这是否有效! TBH 我不明白你在说什么缩放问题。 *再详细说明一下。

【讨论】:

  • 对不起,我可能无法获取,但是我必须在哪里添加这个 JS 代码?我的意思是,我有 scss 带有样式的文件和 vue (<template>, <script>, <style>) 文件。就是这样。
  • 其实,没关系,我已经在下面的块中添加了v-if。所以,当我打开ul-li 时,你不会看到Currency 和按钮Save preferences :D
猜你喜欢
  • 1970-01-01
  • 2013-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 2015-06-23
  • 2022-11-01
相关资源
最近更新 更多