【发布时间】:2017-11-21 14:16:42
【问题描述】:
我的网站上有一个响应式菜单。现在我正在尝试通过媒体查询来响应网站的其他部分。
我添加了这 2 个媒体查询,但在那之后,响应式菜单不再起作用,我不知道为什么。
@media(最小宽度:768px)和(最大宽度:980px)
@media(最大宽度:767px)
这是菜单的代码:
CSS
.topnav {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden; /*overflow help you to create a new row below because you used float left*/
background-color: #f6f6f6;
border: 1px solid #d1d1d1;
}
.topnav a {
float: left;
border-left: 1px solid #d1d1d1;
display: block; /*"li a" is an inline element by default so we have to convert it in block element for modify the layout*/
color: #0099cc;
text-align: center;
padding: 14px 22px;
text-decoration: none;
}
.topnav .active {
background-color: #f29323;
color: #ffffff;
}
.topnav a:hover {
text-decoration: none;
}
.topnav a:hover:not(.active) {
background-color: #f29323;
color: #fff;
text-decoration: none;
}
.topnav .icon {
display: none;
}
@media screen and (max-width: 600px) {
.topnav a {
display: none;
}
.topnav a.icon {
float: right;
display: block;
}
}
@media screen and (max-width: 600px) {
.topnav.responsive {
position: relative;
}
.topnav.responsive .icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
}
@media screen and (max-width: 600px) {
.topnav {
padding: 0 0;
}
}
HTML
<div class="topnav" id="myTopnav">
<a <?php echo ($page == "information") ? "class='active'" : ""; ?> href="/nutickets2/index.php">INFORMATION</a>
<a <?php echo ($page == "report") ? "class='active'" : ""; ?> href="/nutickets2/report.php">Tickets</a>
<a href="">Info</a>
<a href="javascript:void(0);" style="font-size:15px;" class="icon" onclick="myFunction()">☰</a>
</div>
JS
<script>
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
</script>
这是我为使网站响应而添加的代码:
@media (min-width: 768px) and (max-width: 980px) {
.text-head-div div {
display: block;
}
.text-head-div span {
display: block;
}
}
@media (max-width: 767px) {
.text-head-div div {
display: block;
}
.text-head-div span {
display: block;
}
}
此后,响应式菜单不再起作用。
如果我删除最后一个代码,响应式菜单将重新启动。
【问题讨论】:
-
这个类在 HTML
text-head-div中在哪里?请正确解释问题。 -
你的
text-head-div元素在html中在哪里?
标签: html css menu responsive-design response