0
내 응답 메뉴는 모바일 메뉴에서 잘 작동하지만 큰 화면 크기로 다시 브라우저 크기를 조정할 때 한 가지 문제가 있습니다. 모바일 메뉴가 계속 표시됩니다. 왜 아무도 알지 못해? 여기 jQuery로 응답 메뉴와 혼동하기
내 코드입니다 :CSS
.main-navigation ul {
z-index: 999;
float: right;
font-size: 1rem;
}
.main-navigation ul>li {
float: left;
position: relative;
}
.main-navigation ul>li a {
color: #555;
height: 42px;
line-height: 42px;
margin-left: .5em;
padding-right: 1em;
position: relative;
}
.main-navigation ul>li ul {
opacity: 0;
filter: alpha(opacity=0);
visibility: hidden;
-webkit-transition: opacity .1s ease-in;
-moz-transition: opacity .1s ease-in;
-o-transition: opacity .1s ease-in;
transition: opacity .1s ease-in;
position: absolute;
background: white;
left: -1em;
}
.main-navigation ul>li ul li {
float: none;
white-space: nowrap;
border-bottom: 1px solid rgba(0,0,0,0.2);
background: #f9f9f9;
}
.main-navigation ul>li ul li a {
padding: 0 1em;
margin-right: 0;
font-weight: normal;
}
.main-navigation ul>li ul li a::before {
content: '';
}
.main-navigation ul>li ul li ul {
border-top: 1px solid #fff;
position: absolute;
left: 100%;
top: -1px;
height: 21px;
line-height: 21px;
opacity: 0;
filter: alpha(opacity=0);
visibility: hidden;
-webkit-transition: opacity .1s ease-in;
-moz-transition: opacity .1s ease-in;
-o-transition: opacity .1s ease-in;
transition: opacity .1s ease-in;
}
.main-navigation ul>li:hover>ul {
opacity: 10;
filter: alpha(opacity=100);
visibility: visible;
}
.main-navigation ul>li:hover>a {
color: #e74c3c;
}
@media only screen and (max-width:479px) {
.main-navigation ul {
z-index: 999;
float: right;
font-size: 1rem;
}
.main-navigation ul>li {
float: left;
position: relative;
}
.main-navigation ul>li a {
color: #555;
height: 42px;
line-height: 42px;
margin-left: .5em;
padding-right: 1em;
position: relative;
}
.main-navigation ul>li ul {
opacity: 0;
filter: alpha(opacity=0);
visibility: hidden;
-webkit-transition: opacity .1s ease-in;
-moz-transition: opacity .1s ease-in;
-o-transition: opacity .1s ease-in;
transition: opacity .1s ease-in;
position: absolute;
background: white;
left: -1em;
}
.main-navigation ul>li ul li {
float: none;
white-space: nowrap;
border-bottom: 1px solid rgba(0,0,0,0.2);
background: #f9f9f9;
}
.main-navigation ul>li ul li a {
padding: 0 1em;
margin-right: 0;
font-weight: normal;
}
.main-navigation ul>li ul li a::before {
content: '';
}
.main-navigation ul>li ul li ul {
border-top: 1px solid #fff;
position: absolute;
left: 100%;
top: -1px;
height: 21px;
line-height: 21px;
opacity: 0;
filter: alpha(opacity=0);
visibility: hidden;
-webkit-transition: opacity .1s ease-in;
-moz-transition: opacity .1s ease-in;
-o-transition: opacity .1s ease-in;
transition: opacity .1s ease-in;
}
.main-navigation ul>li:hover ul {
opacity: 10;
filter: alpha(opacity=100);
visibility: visible;
}
.main-navigation ul>li:hover>a {
color: #e74c3c;
}
}
HTML :
<a href="#" id="rwd-nav-btn" >☰</a>
<div class="rwd-nav"></div> <!-- end rwd-nav -->
<nav class="main-navigation">
<ul class="fr">
<li><a href="">home</a></li>
<li><a href="">articles</a></li>
<li><a href="">portfolio</a></li>
<li>
<a href="">dropdown</a>
<ul>
<li><a href="">home</a></li>
<li><a href="">articles</a></li>
<li><a href="">portfolio</a></li>
<li>
<a href="">dropdown</a>
<ul>
<li><a href="">home</a></li>
<li><a href="">articles</a></li>
<li><a href="">portfolio</a></li>
<li>
<a href="">dropdown</a>
</li>
<li><a href="">about</a></li>
<li><a href="">contact</a></li>
</ul>
</li>
<li><a href="">about</a></li>
<li><a href="">contact</a></li>
</ul>
</li>
<li><a href="">about</a></li>
<li><a href="">contact</a></li>
</ul>
</nav>
jQuery를 :
jQuery(document).ready(function(){
jQuery('.main-navigation ul:first-child').clone().appendTo('.rwd-nav');
jQuery('#rwd-nav-btn').click(function(event){
event.preventDefault();
jQuery('.rwd-nav').slideToggle();
});
에
mymenu.open
를 설정, 나는 어떤 코드 부분이 표시되지 않았다 브라우저 변경 화면에서 활성화됩니다. 중 하나를 자바 스크립트의 크기를 조정하거나 CSS를 미디어 필터를 사용하여 다른 화면 크기에 CSS를 필터링해야합니다. –** 귀하는 ** css 미디어 쿼리 **도 ** 해당 ** js 코드 **도 게시하지 않았습니다. – Jai
jsfiddle 예제를 만들 수 있습니까? 나는 어떻게이 코드가 반응 메뉴를 만들 수 있는지 보지 않는다. –