Я пытаюсь создать веб-страницу, которая будет динамически работать с настольными компьютерами, планшетами и мобильными устройствами.Я сделал раскрывающееся меню только для CSS на основе селектора наведения (я думаю, что так оно и называется, я все еще новичок).Он отлично работает на настольном компьютере, он отлично отображается на мобильных устройствах, моя проблема в том, что выпадающее меню не будет скрываться на мобильном устройстве, когда с ним не взаимодействуют.Я понимаю, что hover не переводит волю на мобильные устройства, я надеялся, что, нажав на выпадающее меню, он снова скроется.
Я попытался воссоздать выпадающее меню с помощью кнопки инемного javascript, но попытка расположить элементы с помощью css стала беспорядком.Кажется, что только CSS-подход наименее сложен для стиля.Я открыт для идей, связанных с javascript.
PS, пожалуйста, простите за грязный CSS, я еще не убрал его.Это то, с чем я все еще учусь работать.
<nav class="nav-main">
<ul>
<a href="index.html"><li>Home</li></a>
<a href="index.html#main"><li>About</li></a>
<li class="dropdown">
<a href="javascript:void(0)" class="dropbtn">Services</a>
<div id="menu-box" class="dropdown-content">
<a href="index.html#main">Overview</a>
<a href="index.html#main">General Practice</a>
<a href="index.html#main">Sports Physicals</a>
<a href="index.html#main">Weight Loss</a>
</div>
</li>
<a href="index.html#main"><li>Doctor's Daily Dose</li></a>
<a href="index.html#main"><li>Contact</li></a>
</ul>
</nav>
}
nav ul li:hover{
background-color: #D7868C;
border-radius: 0.3em;
}
@media only screen and (max-width: 874px){
nav ul {
display: flex;
flex-direction: column;
width: 100%;
}
nav ul li{
text-align: center;
flex-direction: column;
}
header {
flex-direction: column;
width: 100%
}
nav ul a{
display: flex;
flex-direction: column;
width: 100%;
}
nav{
flex-direction: column;
}
#logo {
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 0.2em;
}
}
footer{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-top: 1px solid #343434;
padding-top: 1em;
margin-left: 0.1em;
margin-right: 0.1em;
}
@media only screen and (max-width: 439px) {
.footSec{
display: inline-block;
width: 100%;
margin-left: auto;
margin-right: auto;
text-align: center;
}
}
li.dropdown {
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #D7868C;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
text-align: left;
}
.dropdown-content a:hover {
background-color: #CEDDE6;
color: black;
}
.dropdown:hover .dropdown-content {
display: block;
}
Раскрывающееся меню появится на мобильном телефоне, если вы нажмете пункт списка услуг.Он просто не исчезнет даже после нажатия на него, только если вы откроете другую ссылку или обновите страницу.Я надеялся, что его снятие будет действовать так же, как удаление курсора из точки зависания.Кажется, это не так.