我发现我对这类问题可能不清楚,所以我会尽力用两种格式解释它:
1)目前我正在研究我的网站的响应性和可用性。由于我的菜单在 pc 上看起来不错,但在移动设备上不好看,我想使用一个导航栏,它只在智能手机上可见。我在 W3Schools 上找到了一些帮助,但它不会让我有针对不同分辨率的单独菜单。如何在我的 html 页面上添加一个在电脑屏幕或平板电脑上不可见但在手机上可见的 div?
2) 这就是我要找的:我想要 2 个菜单,一个仅用于个人电脑/笔记本电脑或平板电脑屏幕,另一个仅用于智能手机。我想在智能手机菜单上使用导航栏(使用汉堡菜单)。如果我在主页上使用导航栏的类,它会以每种格式显示,而如果我使用 display: none; 它不会在任何地方显示。我该如何解决?
我在stackoverflow(和其他网站)上搜索了这个问题并找到了一个类似的问题,尽管到目前为止那里的解决方案对我没有用。如果那里的答案实际上满足了我在这里提出的问题,那么我做错了什么?
当前代码:
html:
<div class="topnav">
<a href="#home" class="active">Logo</a>
<div id="myLinks">
<a href="#news">News</a>
<a href="#contact">Contact</a>
<a href="#about">About</a>
</div>
<a href="javascript:void(0);" class="icon" onclick="myFunction()">
<i class="fa fa-bars"></i>
</a>
</div>
<script type="text/javascript">
function myFunction() {
var x = document.getElementById("myLinks");
if (x.style.display === "block") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
CSS:
/*I won't put all css in here, as it would get a bit messy*/
* {
box-sizing: border-box;
}
.topnav {
display: block;
}
@media only screen and (max-height: 768px){
.topnav {
overflow: hidden;
background-color: #333;
position: relative;
}
.topnav #myLinks {
display: none;
}
.topnav a {
color: white;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
display: block;
}
.topnav a:hover {
background-color: #ddd;
color: black;
}
.active {
background-color: #4CAF50;
color: white;
}
}
繁星淼淼
红颜莎娜
相关分类