作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个网站,在标题的导航栏中,左侧有 Logo ,右侧有指向其他页面的链接,当浏览器调整到小于 600 像素时,所有链接都应该进入一个图标,但 Logo 仍然存在。
当我单击该图标时,链接的格式和图标更改为默认设置,我希望链接一个接一个地显示在彼此下方 like this (示例取自 www.W3Schools.com)。
我希望有人能帮我解决这个错误。
谢谢。
<div class="slideshow_nav">
<div class="navbar-wlogo">
<img src="/Users/yanikwick/Documents/canvas_website/logo.png" alt="logo" class="logo "width = "175px">
<nav class="topnav" id="myTopnav">
<a href="/html/contact">CONTACT</a>
<a href="/html/about">ABOUT</a>
<a href="/html/portfolio">PORTFOLIO</a>
<a href="/html/">HOME</a>
<a href="javascript:void(0);" style="font-size:30px;" class="icon" onclick="myFunction()">☰</a>
</nav>
</div>
这是导航栏的 html。
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
这是javascript。
header .logo{
float: left;
margin: 0px;
padding: 10px 10px 5px 10px;
}
header .topnav{
overflow: hidden;
margin-right: 20px;
}
header .topnav a{
float: right;
display: block;
color: #f2f2f2;
text-align: center;
margin-top: 2%;
margin-bottom: 2%;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.topnav .icon {
display: none;
}
.topnav a:hover {
background-color: #ddd;
color: black;
}
@media screen and (max-width: 600px){
.topnav a:not(:last-child) {display: none;}
.topnav a.icon {
display: inline-block;
float: right;
}
@media screen and (max-width: 600px) {
.topnav .responsive {
position: relative;
}
.topnav .responsive .icon {
float: right;
}
.topnav .responsive a{
float: none;
display: block;
text-align: left;
}
}
CSS
如果你能帮我解决这个问题,我将不胜感激。谢谢。
最佳答案
问题是,如果 .topnav 得到响应应用,您不会设置链接的可见性...
所以像这样:
.topnav.responsive a {
display:block;
}
内部:
@media screen and (max-width: 600px){
...
}
这里是一个工作的 jsbin ;) http://jsbin.com/vupizuyeji/edit?html,css,js,output
干杯 :)
关于javascript - 如何在javascript中打开一个图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43141298/
我是一名优秀的程序员,十分优秀!