Как я могу изменить расположение вложенного ul-файла на адаптивном веб-сайте

#html #css #responsive-design

#HTML #css #адаптивный дизайн

Вопрос:

Я разрабатываю адаптивный веб-сайт, и у меня возникла небольшая проблема с меню. Я покажу изображения ниже, чтобы было легче понять, что происходит…

Меню на рабочем столе отображается следующим образом:

введите описание изображения здесь

А на мобильном устройстве это должно отображаться следующим образом:

введите описание изображения здесь

И в настоящее время мой код отображается следующим образом:

введите описание изображения здесь

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

Вот мой HTML-код:

 <ul id="menu">
    <li><a href="#">Home</a></li>
    <li><a href="#">Portfolio</a></li>
    <li>
        <ul id="sub-menu">
            <li><a href="#">Todas as categorias</a></li>
            <li><a href="#">Logo</a></li>
            <li><a href="#">Campanha</a></li>
            <li><a href="#">Print</a></li>
            <li><a href="#">Digital</a></li>
            <li><a href="#">Indoor</a></li>
            <li><a href="#">Projetos Especiais</a></li>
        </ul>
    </li>
    <li><a href="#">Trabalhe Conosco</a></li>
    <li><a href="#">Quem Somos</a></li>
    <li><a href="#">Prêmios</a></li>
    <li><a class="select" href="#">Contato</a></li>
</ul>
  

Код Css для desktop:

 #menu{
    position: relative;
    width: 200px;
    margin: 0px 10px 0 0;
    float: right;
    background: rgba(255,255,255,0);
    text-align: left;
    text-transform:uppercase;
}
#menu li{
    list-style: none;
}
#menu li a{
    list-style: none;
    font-family: 'swiss921_btregular';
    text-decoration: none;
    font-size: 22px;
    line-height: 32px;
    color: #231f20;
}
#menu li a:hover{
    color: #ed1d24;
}
#menu li #sub-menu li a{
    margin: 0 0 0 20px;
    list-style: none;
    font-size: 17px;
    line-height: 34px;
    font-family: 'swiss921_btregular';
}
#menu li a.select{
    color: #ed1d24;
}
  

И фактический код Css для мобильных устройств:

 @media screen and (min-width: 0px) and (max-width: 768px){
    #menu{
        width: 100%;
        margin: 50px auto;
        float: none;
        text-align: center;
    }
    #menu li{
        display: inline-block;
        width: auto;
        margin: 0 13px;
    }
    #menu li #sub-menu li a{
        margin: 0;
    }
}
  

Я должен изменить его:http://jsfiddle.net/r3zeB

В принципе, это все, надеюсь, кто-нибудь сможет мне помочь и извините за мой плохой английский. Спасибо.

Комментарии:

1. впервые вижу, как кто-то запрашивает горизонтальное меню в режиме просмотра с мобильных устройств: D

Ответ №1:

Вы всегда можете разместить другую копию своего подменю там, где вы хотите, чтобы оно было на мобильном устройстве. Затем используйте display:none; , чтобы он отображался только тогда, когда вы этого хотите, и скрывал другой.

Возможно, это неправильный способ сделать это, но это определенно сработает

Комментарии:

1. Да, используйте запросы medias, чтобы скрыть / показать тот, который вы хотите

2. Я понимаю это, поэтому я просто дублирую подменю? Вместо одной html-структуры я размещаю две из них.

3. @CaioKawasaki это действительно плохая идея. у вас может быть единое меню, использовать медиа-запросы для определения размера экрана и изменения визуального представления