Задать вопрос
@Mihail_Mel

Как отловить input:checked в safari?

Здравствуйте, товарищи, помогите с кодом!
При построении данной конструкции, вложенное меню (первый пункт) открывается только по второму клику, хотя само меню нормально открывается по первому

<nav class="dws-menu">
	<input type="checkbox" name="toggle" id="menu" class="toggleMenu">
	<label for="menu" class="toggleMenu"><i class="fa fa-bars"></i>Меню</label>
    
	<ul id="horizontal-multilevel-menu">
			<li>
            	<input type="checkbox" name="toggle" class="toggleSubmenu" id="sub_m1">
            	<a href="#" ><i class="fa"></i>Первый пункт</a>   
                <label for="sub_m1" class="toggleSubmenu"><i class="fa"></i></label>
                
				<ul class="sub_menu">
                	<li><a href="#" >Первый подпункт</a>
					<li><a href="#" >Второй подпункт</a>
				</ul>
            </li>
			<li><a href="#" >Второй пункт</a></li>
            <li><a href="#" >Третий пункт</a></li>
            <li><a href="#" >Четвртый пункт</a></li>
	</ul>
<nav>


.dws-menu *{
 margin: 0;
 padding: 0;
}
.dws-menu ul,
.dws-menu ol{
 list-style: none;
}
.dws-menu > ul{
 display: flex;
 justify-content: center;
}
.dws-menu > ul li{
 position: relative;
 border-right: 1px solid #c7c8ca;
}
.dws-menu > ul li:first-child{
 border-left: 1px solid #b2b3b5;
}
.dws-menu > ul li:last-child{
 border-right: 1px solid #babbbd;
}
.dws-menu > ul li > a i.fa{
 position: absolute;
 top: 15px;
 left: 12px;
 font-size: 18px;
}
.dws-menu > ul li a{
 display: block;
 /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c9c9c9+0,f6f6f6+2,c4c5c7+98,757577+100;Custom+3 */
 background: rgb(201,201,201); /* Old browsers */
 background: -moz-linear-gradient(top,  rgba(201,201,201,1) 0%, rgba(246,246,246,1) 2%, rgba(196,197,199,1) 98%, rgba(117,117,119,1) 100%); /* FF3.6-15 */
 background: -webkit-linear-gradient(top,  rgba(201,201,201,1) 0%,rgba(246,246,246,1) 2%,rgba(196,197,199,1) 98%,rgba(117,117,119,1) 100%); /* Chrome10-25,Safari5.1-6 */
 background: linear-gradient(to bottom,  rgba(201,201,201,1) 0%,rgba(246,246,246,1) 2%,rgba(196,197,199,1) 98%,rgba(117,117,119,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c9c9c9', endColorstr='#757577',GradientType=0 ); /* IE6-9 */

 padding: 15px 30px 15px 40px;
 font-size: 14px;
 color: #454547;
 text-decoration: none;
 text-transform:uppercase;
 transition: all 0.3s ease;
}
.dws-menu li a:hover{
 /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e0e1e5+0,454547+2,454547+98,e0e1e5+100 */
 background: rgb(224,225,229); /* Old browsers */
 background: -moz-linear-gradient(top,  rgba(224,225,229,1) 0%, rgba(69,69,71,1) 2%, rgba(69,69,71,1) 98%, rgba(224,225,229,1) 100%); /* FF3.6-15 */
 background: -webkit-linear-gradient(top,  rgba(224,225,229,1) 0%,rgba(69,69,71,1) 2%,rgba(69,69,71,1) 98%,rgba(224,225,229,1) 100%); /* Chrome10-25,Safari5.1-6 */
 background: linear-gradient(to bottom,  rgba(224,225,229,1) 0%,rgba(69,69,71,1) 2%,rgba(69,69,71,1) 98%,rgba(224,225,229,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0e1e5', endColorstr='#e0e1e5',GradientType=0 ); /* IE6-9 */

 color: #ffffff;
 box-shadow: 1px 5px 10px -5px black;
 transition: all 0.3s ease;
}

/*sub menu*/
.dws-menu li ul{
 position: absolute;
 min-width: 150px;
 display: none;
}
.dws-menu li > ul li{
 border: 1px solid #c7c8ca;
}
.dws-menu li > ul li a{
 padding: 10px;
 text-transform: none;
 background: #e4e4e5;
}
.dws-menu li > ul li ul{
 position: absolute;
 right: -150px;
 top: 0;
}
.dws-menu li:hover > ul{
 display: block;
}

/*==== MEDIA ====*/
.dws-menu [type="checkbox"],
.dws-menu label.toggleSubmenu{
 display: block; z-index: 10;
}
.dws-menu label.toggleMenu{
 /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#c9c9c9+0,f6f6f6+2,c4c5c7+98,757577+100;Custom+3 */
 background: rgb(201,201,201); /* Old browsers */
 background: -moz-linear-gradient(top,  rgba(201,201,201,1) 0%, rgba(246,246,246,1) 2%, rgba(196,197,199,1) 98%, rgba(117,117,119,1) 100%); /* FF3.6-15 */
 background: -webkit-linear-gradient(top,  rgba(201,201,201,1) 0%,rgba(246,246,246,1) 2%,rgba(196,197,199,1) 98%,rgba(117,117,119,1) 100%); /* Chrome10-25,Safari5.1-6 */
 background: linear-gradient(to bottom,  rgba(201,201,201,1) 0%,rgba(246,246,246,1) 2%,rgba(196,197,199,1) 98%,rgba(117,117,119,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c9c9c9', endColorstr='#757577',GradientType=0 ); /* IE6-9 */

 display: none;
 padding: 15px 40px;
 text-transform: uppercase;
 font-size: 14px;
 cursor: pointer;
 position: relative;
}

.dws-menu label.toggleMenu .fa{
 position: absolute;
 top: 15px;
 left: 12px;
 font-size: 18px;
}
@media all and (max-width: 800px){
 .dws-menu{
  overflow: hidden;
 }
 .dws-menu ul{
  display: block;
  max-height: 0;
  transition: max-height 0.3s;
 }
 .dws-menu li>ul li ul{
  position: absolute;
  right: auto;
  top: auto;
 }
 .dws-menu label.toggleMenu{
  display: block;
 }
 input.toggleMenu:checked + label.toggleMenu{
  background: #000;
  color: #fff;
 }
 input.toggleMenu:checked ~ ul,
 input.toggleSubmenu:checked ~ ul {
  display: block;
  position: relative;
  max-height: 5000px;
  transition: max-height 2s ease-in;
 }
 
 .dws-menu label.toggleSubmenu{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  display: block;
 }
 input.toggleSubmenu:checked ~ a{
  background: #454547;
  color: #fff;
 }
 .dws-menu label.toggleSubmenu .fa:before{
  content: "\f0d7";
  color: #454547;
 }
 .dws-menu label.toggleSubmenu .fa{
  position: absolute;
  top: 15px;
  right: 30px;
 }
 .dws-menu input.toggleSubmenu:checked ~ label.toggleSubmenu .fa::before{
  content: "\f0d8";
  color: #ffffff;
 }
}
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы