【发布时间】:2026-02-10 02:55:02
【问题描述】:
在this 响应式模板中,当宽度低于某个像素阈值时,会出现一个名为 navbar-toggler 的按钮。它适用于桌面中所有调整大小的浏览器,以及应该模拟移动设备的 LT 浏览器,但不适用于真正的 iphone。
在运行最新 iOS 的 iPhone 上的所有浏览器上,导航栏切换按钮不可见 - 但可以点击它应该所在的空间以显示侧边栏。如何让这个元素出现在手机上?
完整代码可以在here下载。我相信这是相关的 css:
/* Hide the leftside bar */
@media (max-width: 991px) {
.tm-sidebar {
left: -280px;
transition: all 0.3s ease;
}
.navbar-toggler {
display: block;
position: fixed;
left: 0;
top: 0;
background-color: rgb(0 102 153 / 0.80);
color: white;
padding: 10px 15px;
transition: all 0.3s ease;
border-radius: 0;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
top: 40px;
z-index: 10000;
}
.navbar-toggler:focus { outline: none; }
.tm-sidebar.show { left: 0; }
.tm-sidebar.show .navbar-toggler { left: 280px; }
.tm-parallax {
width: 280px;
left: -280px;
}
.tm-section-wrap {
width: calc(100% - 280px);
margin-left: 280px;
}
.tm-section {
padding-left: 30px;
padding-right: 30px;
}
.tm-text-container { max-width: 100%; }
}
@media (max-width: 700px) {
.tm-parallax {
position: static;
height: 360px;
width: 100%;
}
.tm-section-wrap {
width: 100%;
margin-left: 0;
}
}
当元素被点击时,这个js添加了show类:
$(".navbar-toggler").on("click", function(e) {
$(".tm-sidebar").toggleClass("show");
e.stopPropagation();
});
【问题讨论】:
-
“但它可以被点击以显示侧边栏” - 那你在点击什么 - 如果它一开始没有显示?整个按钮是否不显示 - 或者只是缺少三行“汉堡”?该按钮的唯一内容似乎是一个令人敬畏的图标 - 这些图标通常在这些设备上的页面其余部分上工作吗?
-
我正在点击我知道按钮应该在的空间,它按预期工作:出现侧边栏。 fa图标全部使用,它们都在手机上正常显示。一件奇怪的事情是,如果我足够“捏”手机浏览器,那么我可以看到 fa-bars 图标,但是当我松开捏时它会以全宽闪烁一帧然后消失。