Mobile Toggle Menu - Как выдвинуть контент за пределы области просмотра? - PullRequest
3 голосов
/ 28 марта 2012

Я работаю над мобильным макетом и наткнулся на следующий вопрос.

Это скорее вопрос "существует ли общепринятый термин для описания того, что я описываю".В надежде найти учебные пособия / объяснения относительно этого метода - есть ли общепринятое имя для следующего сценария столбца макета / меню переключения?

Screenshot of my layout description

По существу, когда отображается меню переключенияисходное содержимое сайта перемещается вправо, частично из области просмотра, и отображается меню переключения.

У этого метода есть имя?Я не уверен, как описать это, чтобы найти ресурсы на лучшие практики?Кроме того, есть ли у кого-нибудь какие-либо идеи относительно того, какой тип CSS / jQuery Combo будет необходим для прокрутки / выталкивания исходного содержимого из области просмотра таким способом?или краткие объяснения с благодарностью!Спасибо!

Ответы [ 2 ]

3 голосов
/ 28 марта 2012

Итак ...

Предполагая, что (уродливая) разметка:

<meta name="viewport" content="width=device-width, initial-scale=1">
    <body>
    <div>
        <div>
            <div></div>
            <div></div>
        </div>
    </div>
    </body>

Два последних div - это ваше меню и ваш контент.

Затем CSS:

*
{
margin : 0;
padding : 0;
}

html, body
{
    width : 100%;
    height : 100%;
}

body > div
{
    width : 100%;
    max-width : 100%;
    height : 100%;
    overflow : hidden;
}

body > div > div
{
    width : 200%;
    height : 100%;
    -webkit-transform : translate(-40%);
    -webkit-transition : -webkit-transform 1s linear;
}

    body > div > div.hover
    {
         -webkit-transform : translate(0%);
    }

body > div > div > div
{
    float : left;
    height : 100%;
}

body > div > div > div:first-child
{
    width : 40%;
    background : red;
}
body > div > div > div:first-child+div
{
    width : 50%;
    background : blue;
}

Это довольно просто (даже если это может показаться непростым):

  1. первый div на 100% и переполнение: скрыто.это предотвратить свиток.Тело должно использоваться для этого, но странность iOS предотвращает это.

  2. второй div - это большой контейнер, который будет содержать два плавающих
    div.Этот более крупный контейнер переводится.

  3. третьи элементы - это ваше меню и содержимое, всплывающее.

Я рассчитал% на лету, вывозможно, придется настроить их.

Затем немного jQuery, чтобы проверить его:

<script>
$(document).on('touchstart', function()
{
    $("body > div > div").addClass("hover");
});
</script>

Вы не должны использовать событие touchstart, оно только для демонстрационных целей.

Протестировано на iOS 5.1 и Android 2.3.

2 голосов
/ 28 марта 2012

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

http://srobbin.com/jquery-plugins/pageslide/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...