html - 两个具有相同 css 的菜单,但只有一个在触摸设备上工作

标签 html css wordpress touch

在我的网站(链接:https://damaristhalmann.ch/)上有两个吸尘器下拉菜单(“菜单(照片)”+“联系人”),吸尘器打开时。在触摸屏设备上,“联系人”下拉菜单有效,但下拉菜单“菜单(照片)”无效。

据我了解,CSS 结构相同但结果不同。 HTML 标记有一些细微差别,但由于菜单 (fotografie) 是 WordPress 生成的菜单,我不想更改它。

你能帮我分析一下这个 hoover 下拉“菜单(照片)”在触摸设备上不起作用的问题吗?

感谢您的帮助!

最美好的祝愿 大号

最佳答案

它不适用于 Fotografie,因为您没有任何元素正在保存下拉列表状态(无论是否显示)。 然而,在 Kontackt 链接中,有一个复选框类型的隐藏输入,它管理 li 元素的状态。

你想对所有下拉标题都有这样的东西:

* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style: none;
}

.nav {
  padding: 1em;
  width: 20vw;
  height: 100vh;
  background: -webkit-gradient(linear, left top, right bottom, from(lightblue), to(lightgreen));
  background: linear-gradient(to bottom right, lightblue, lightgreen);
}

.nav .main_item {
  position: relative;
}

.nav .main_item h3 {
  cursor: pointer;
}

.nav .main_item h3::after {
  content: "\25B8";
}

.nav .main_item .flow-control:checked + h3::after {
  content: "\25BE";
}

.nav .main_item .flow-control {
  opacity: 0;
  position: absolute;
  top: 6px;
  width: 100%;
  cursor: pointer;
}

.nav .main_item .flow-control:checked ~ ul {
  display: block;
}

.nav .main_item ul {
  margin-bottom: 1em;
  display: none;
}
  <ul class="nav">
        <li class="main_item">
            <input type="checkbox" class="flow-control">
            <h3>Header 1</h3>
            <ul>
                <li class="sub_item">Sub-item 1</li>
                <li class="sub_item">Sub-item 2</li>
                <li class="sub_item">Sub-item 3</li>
            </ul>
        </li>

        <li class="main_item">
            <input type="checkbox" class="flow-control">
            <h3>Header 2</h3>
            <ul>
                    <li class="sub_item">Sub-item 1</li>
                    <li class="sub_item">Sub-item 2</li>
                    <li class="sub_item">Sub-item 3</li>
            </ul>
        </li>
        
        <li class="main_item">
            <input type="checkbox" class="flow-control">
            <h3>Header 3</h3>
            <ul>
                    <li class="sub_item">Sub-item 1</li>
                    <li class="sub_item">Sub-item 2</li>
                    <li class="sub_item">Sub-item 3</li>
            </ul>
        </li>
    </ul>

每个标题都有其独特的复选框,用于管理 ul 状态。

关于html - 两个具有相同 css 的菜单,但只有一个在触摸设备上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57920377/

相关文章:

jquery - 为什么我的 jQuery .Change 没有被触发?

html - CSS:子菜单对齐和样式(严格的 CSS;没有 javascript)

android - 如何放置移动的元素

javascript - 为什么我的原型(prototype)不起作用?

javascript - 将 HTML5 Canvas 调整为浏览器宽度

javascript - 四个div区域没有同时加载

html - 将 CSS 应用于 Wordpress 中父页面的子页面

javascript - 使用 Javascript 更改线性渐变不起作用

javascript - Firefox 中转换后的 svg 子项的奇怪渲染/事件处理

html - 阻止 WordPress 在 CDATA 中包含脚本