【发布时间】:2018-07-23 10:40:12
【问题描述】:
我的 media.css 文件中有以下规则:
@media only screen and (max-width : 991px) {
.menu nav { display: none; }
.menu nav ul li {
display: block;
border-top: 1px solid #fff;
}
}
它不会在宽度为 991 像素时触发,但在 990 像素或更低时会触发。 我试图将值更改为 992px,但它完全违反了我的规则。
如果重要的话,我会在我的 html 中使用 bootstrap 3.0 网格系统。
完整的html:
<div class="menu">
<div class="container">
<div class="row">
<div class="hidden-lg hidden-md col-sm-12 col-xs-12">
<div id="touch-menu"><img src="img/menu_icon.png" alt="Меню"></div>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<nav class="menu-nav">
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">О компании</a></li>
<li><a href="#">Вакансии</a></li>
<li><a href="#">Продукция</a></li>
<li><a href="#">Фотогалерея</a></li>
<li><a href="#">Новости</a></li>
<li><a href="#">Статьи</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
完整的CSS:
.menu {
position: fixed;
top: 0;
width: 100%;
background-color: #01983b;
background-image: url(../img/header_pattern.png);
background-repeat: repeat;
box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.5),
inset 0 -3px rgba(255, 255, 255, 0.2);
overflow-x: hidden;
min-height: 50px;
z-index: 2;
}
#touch-menu {
display: inline-block;
float: right;
}
.menu nav ul {
margin: 0;
padding: 0;
text-align: center;
}
.menu nav li {
display: inline-block;
}
.menu nav ul li a {
display: inline-block;
position: relative;
padding: 20px 15px;
text-transform: uppercase;
font-family: Arial, sans-serif;
font-size: 14px;
color: #fff;
}
.menu nav ul li a:hover {
text-decoration: none;
}
@media only screen and (min-width : 992px) {
.menu nav { display: block; }
}
@media only screen and (max-width : 991px) {
.menu nav { display: none; }
.menu nav ul li {
display: block;
border-top: 1px solid #fff;
}
}
+js
$(document).ready(function() {
var menu = $('.menu-nav');
$('#touch-menu').on('click', function(e) {
menu.slideToggle();
return false;
});
$(window).resize(function() {
if ( $(window).width() > 991 && menu.is(':hidden') ) {
menu.removeAttr('style');
}
});
});
【问题讨论】:
-
工作正常。看看这个小提琴jsfiddle.net/709uwseg。我也在那个小提琴中使用引导程序。
-
但它完全违反了我的规则而且规则是......?
-
范围规则包括在内。
-
按规则我认为他是指该媒体查询下的 css 规则。
-
我遇到了这个问题!就我而言,问题是由于在与 Windows 笔记本电脑连接的外接显示器上显示我的屏幕(如果重要,通过 hdmi)。在那种情况下,我会让媒体查询以与您描述它们的方式完全相同的方式关闭 1px。但是,如果我在笔记本电脑显示器上显示我的屏幕,则不再发生这种情况,一切正常,css 媒体查询完全按预期工作。