2017-02-09 3 views
0

Итак, у меня есть скрытая боковая панель, которая появится, когда мышь наведет ее.показать боковую панель от наведения до кнопки нажмите

это HTML-код:

<div id="mySidenav" class="sidenav"> 
    <img class="logo1" src="../img/logo1.png"><br><br> 
    <a href="#">Home</a> 
    <a href="#">About</a> 
    <a href="#">Contact</a> 
</div> 

и код CSS:

.sidenav { 
    height: 100%; 
    width: 100px; 
    position: fixed; 
    z-index: 1; 
    top: 0; 
    left: 0; 
    background-color: #111; 
    overflow-x: hidden; 
    padding-top: 60px; 
    transition: 0.8s; 
} 

.sidenav:hover{ 
    width: 250px; 
} 

мой вопрос, как я могу изменить парить стать нажмите кнопку, чтобы показать боковую панель. Он будет использоваться для мобильной версии, поэтому, когда сеть открыта на маленьком устройстве, она автоматически изменит ширину боковой панели до нуля и появится «кнопка меню». пример похож на эту ссылку: http://bootsnipp.com/snippets/featured/sidebar-responsive, но мой - сначала наведите курсор, и я не использовал jquery. возможно? спасибо

ответ

0

Вы можете добиться этого с помощью CSS только с помощью :target вместо :hover.

.sidenav:target { 
    width: 250px; 
} 

Теперь вам нужна только привязка для привязки к целевому элементу.

<a href="#mySidenav">Click</a> 

Даунсайд является то, что, потому что ваши ссылки также содержат пустые якорные ссылки (#), боковая панель будет терять фокус, когда они щелкают и размер будет вплоть до его оригинальной ширины.

Вот пример, основанный на вашем коде.
https://jsfiddle.net/PaulvdDool/rkxeyf1g/

+0

что я имею в виду, когда я открываю его с рабочего стола, он отображает боковую панель, используемую hover, и если я открою ее с мобильного устройства, зависание отключится и изменится с помощью кнопки, а на боковой панели нет ширина. или вы можете увидеть пример с https://la24.org/, чтобы открыть настольную и мобильную версию, вы увидите, что я имею в виду. спасибо до – Rian

+0

используйте различные стили на основе [медиа-запросов] (http://www.w3schools.com/cssref/css3_pr_mediaquery.asp). : наведите указатель мыши на большие видовые экраны и: цель меньше. –

0

Добавить CSS:

.sidenav a{ float:left; width:100%;} 
.mobiletoggle img{ width:25px; height:25px; float:right;} 
.mobiletoggle{ float:right; width:50px; cursor:pointer;} 
@media screen and (min-width:768px){.mobiletoggle{ display:none;}} 
@media screen and (max-width:767px){.sidenav{ width:0px; }.sidenav.open{ width:100px; }} 

Добавить это Js:

$(document).ready(function() { 


$('.mobiletoggle').on("click", function(e) { 
$('.sidenav').toggleClass("open"); 

});

}); 

Добавить этот HTML код с Уре

<div class="mobiletoggle"><img src="../favicon.ico"></div> 

Он работает, как, как вы дали реф. Просто работайте над этим, дайте мне знать комментарии.

+0

Да, изображение появляется при открытии на мобильном устройстве, но когда я нажимаю на него, он не отображает боковую панель. почему это? спасибо – Rian

+0

мы можем сделать это с помощью CSS тоже? возможно? – Rian

+0

Для этого наведите указатель мыши на указатель img или где-нибудь –