3D галерея в комнате

В данном уроке мы представляем очередной эксперимент 3D: галерея в виде комнаты 3D. Идея заключается в создании реалистичного окружения для представления изображений с помощью трансформаций CSS3. Изображения "развешаны" на стенах, которые имеют границы.Как только достигается конец стены, происходит вращение и зритель поворачивается к другой стене со следующими изображениями. Для создания реалистичности пребывания в комнате используется только четыре стены и угла. Каждое изображение имеет небольшой ярлык с описанием, при нажатии на него снизу выскальзывает большое описание.

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

Для лучшего представления просматривайте демонстрации в браузере Google Chrome.

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

<div id="gr-gallery" class="gr-gallery">
 
    <div class="gr-main">
 
        <figure>
            <div><img src="/images/11.jpg" alt="img01" /></div>
            <figcaption>
                <h2><span>Penn. Station, Madison Square Garden and Empire State Building</span></h2>
                <div><p>New York City, 2009, by <a href="http://www.flickr.com/photos/thomasclaveirole">Thomas Claveirole</a></p></div>
            </figcaption>
        </figure>
 
        <figure>
            <!-- -->
        </figure>
 
        <!-- -->
    </div>
     
</div>

Мы трансформируем ее в другую структуру, которая содержит “комнату” с основной “стеной”:

<div id="gr-gallery" class="gr-gallery">
 
    <div class="gr-main" style="display: none;">
        <!-- -->
    </div>
 
    <div class="gr-room">
        <div class="gr-wall-main">
            <div class="gr-floor" style="width: 3382px;"></div>
            <figure></figure>
            <figure></figure>
            <!-- -->
        </div>
    </div>
 
    <nav>
        <span class="gr-prev">prev</span>
        <span class="gr-next">next</span>
    </nav>
 
    <div class="gr-caption">
        <span class="gr-caption-close">x</span>
    </div>
     
</div><!-- /gr-gallery -->

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

Gallery.init( {
    layout : [3,2,3,2]
} );

Когда мы достигаем конца стены и поворачиваемся для взгляда на следующую стену, она будет добавляться динамически и устанавливать правильные трансформации, чтобы находиться под правильным углом к основной стене.

Рассмотрим несколько снимков экрана. Галерея начинается с просмотра первого изображения, которое центрируется в области просмотра. На больших экранах также будет видно соседние изображения в зависимости от ширины окна:

При нажатии на маленьком ярлыке с описанием снизу всплывает большой блок с информацией:

При нажатии на стрелке навигации (мы нажимаем вправо) происходит смещение к следующему или предыдущему изображению. При достижении конца стены происходит поворот:

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

После завершения поворота стены обновляются и у нас остается единственная главная стена.

Самыми большими проблемами данного эксперимента является различие в управлении 3D трансформациями в браузерах и производительность. При пробах с большими размерами  появляются  искажения при выводе, так как вращение должно происходит перед взором наблюдателя. Чем шире элемент, тем большая перспектива должна использоваться для него.

К сожалению производительность падает при добавлении дополнительных эффектов, например, теней. Поэтому демонстрация имеет ряд ограничений может выглядеть несколько ущербно. Но целью данного эксперимента является демонстрация 3D эффекта с максимально возможной плавностью.


Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/-LkTogWGbcc/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

3D галерея в комнате | | 2013-01-27 13:40:06 | | Статьи Web-мастеру | | В данном уроке мы представляем очередной эксперимент 3D: галерея в виде комнаты 3D. Идея заключается в создании реалистичного окружения для представления изображений с помощью трансформаций CSS3. | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: