Повноекранна книга за допомогою jquery і css3

Повноекранна книга за допомогою jQuery і CSS3

У наш час майже все є в онлайні - музика, фільми, ігри, книги. Ось останнє було значно зручніше читати якби книги імітували справжні книги, була анімація перегортання сторінок, зміст. І в цьому уроці ми створимо таку книгу, в якій будуть присутні всі ці елементи. В уроці ми будемо використовувати кілька jQuery плагінів, які допоможуть досягти потрібного ефекту.

Взагалі, легше побачити та зрозуміти що я тут хочу вам сказати # 128578; . Приклад таблиць з плаваючими колонками і заголовком можна побачити тут:

Подивитися прімерСкачать

використовувані плагіни

Нам знадобляться наступні jQuery плагіни:

  1. BookBlock
  2. Custom jQuery ++
  3. jScrollPane
  4. jQuery Mouse Wheel Plugin
  5. Custom Modernizr

HTML частина

Створимо структуру книги з тих елементів, з яких вона зазвичай складається (стрілки на наступну і попередню сторінку, кнопка виклику змісту і саме зміст, а також кожну сторінку в окремому блоці з класом bb-item і ідентифікатором item #):

123456789101112131415161718192021222324252627282930313233343536373839
lt;div id="Container" class="Container"gt;lt;div class="Menu-panel"gt;lt;h3gt; Змістlt;/h3gt;lt;ul id="Menu-toc" class="Menu-toc"gt;lt;li class="Menu-toc-current"gt; lt;a href="# Item1"gt; Сторінка 1lt;/agt; lt;/ligt;lt;ligt; lt;a href="# Item2"gt; Сторінка 2lt;/agt; lt;/ligt;lt;ligt; lt;a href="# Item3"gt; Сторінка 3lt;/agt; lt;/ligt;lt;ligt; lt;a href="# Item4"gt; Сторінка 4lt;/agt; lt;/ligt;lt;ligt; lt;a href="# Item5"gt; Сторінка 5lt;/agt; lt;/ligt;lt;/ulgt;lt;/divgt;lt;div class="Bb-custom-wrapper"gt;lt;div id="Bb-bookblock" class="Bb-bookblock"gt;lt;div class="Bb-item" id="Item1"gt;lt;div class="Content"gt;lt;div class="Scroller"gt;lt;h2gt; Сторінка 1lt;/h2gt;lt;pgt; ...lt;/pgt;lt;/divgt;lt;/divgt;lt;/divgt;lt;div class="Bb-item" id="Item2"gt;lt;/divgt;lt;div class="Bb-item" id="Item3"gt;lt;/divgt;lt;div class="Bb-item" id="Item4"gt;lt;/divgt;lt;div class="Bb-item" id="Item5"gt;lt;/divgt;lt;/divgt;lt;a id="Bb-nav-prev" href="#"gt; lt;/agt;lt;a id="Bb-nav-next" href="#"gt; lt;/agt;lt;/navgt;lt;span id="Tblcontents" class="Menu-button"gt; Змістlt;/spangt;lt;/divgt;lt;/divgt;

CSS частина

Всі стилі плагіна BookBlock знаходяться в файлі bookblock.css.

Спочатку підключаємо необхідний шрифт:

1
@import url (https://fonts.googleapis.com/css?family=Lato:300,400,700) -

Книга у нас буде на всю висоту, тому висоту виставляємо 100%. Також прописуємо колір і шрифт тексту:

1234567891011
html {height: 100%-}body {font-family: `Lato`, Calibri, Arial, sans-serif-font-weight: 400-font-size: 100%-color: # 333-height: 100%-}

Відео: Робимо слайдер карусель на html5, css3 і jquery

Визначаємо стиль посилань:

12345678
a {color: # 555-text-decoration: none-}a: hover {color: # 000-}

Головний контейнер з текстом займає всю ширину екрану 100х100 відсотків. А зміст у нас буде як би зрушувати частина з текстом при відкритті.

123456789101112
.container,.bb-custom-wrapper,.bb-bookblock {width: 100%-height: 100%-}.container {position: relative-left: 0px-transition: left 0.3s ease-in-out-}
Книга на всю ширину вікна

Коли ми натискаємо на кнопку щоб розкрити зміст, ми додаємо ще один клас, в якому міститься ширина змісту:

123
.slideRight {left: 240px-}

Без javascript у нас не вийде динамічно привласнити властивість, тому відразу зробимо відступ зліва:

123
.no-js .container {padding-left: 240px-}

За замовчуванням зміст у нас зліва:

12345678910
.menu-panel {background: # f1103a-width: 240px-height: 100%-position: fixed-z-index: 1000-top: 0-left: 0-text-shadow: 0 1px 1px rgba(0,0,0,0.1)-}
Зміст зліва

Коли javascript включений, ми можемо визначення від`ємного значення і заховати зміст:

1234
.js .menu-panel {position: absolute-left: -240px-}

Задамо стилі для елементів змісту:

123456789101112131415161718192021222324252627
.menu-panel h3 {font-size: 1.8em-padding: 20px-font-weight: 300-color: #fff-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.05)-}.menu-toc {list-style: none-}.menu-toc li a {display: block-color: #fff-font-size: 1.1em-line-height: 3.5-padding: 0 20px-cursor: pointer-background: # f1103a-border-bottom: 1px solid # dd1338-}.menu-toc li a: hover,.menu-toc li.menu-toc-current a{background: # dd1338-}

Навігація по сторінках знаходиться завжди вгорі і вона зафіксована:

123456
.bb-custom-wrapper nav {top: 20px-left: 60px-position: absolute-z-index: 1000-}
Навігація по сторінках

Також пропишемо стилі для стрілок, які також здійснюють «перегортання» сторінок:

Відео: jQuery. Урок 22. Зміна CSS стилів за допомогою jQuery

12345678910111213141516171819202122232425
.bb-custom-wrapper nav span,.menu-button {position: absolute-width: 32px-height: 32px-top: 0-left: 0-background: # f1103a-border-radius: 50%-color: #fff-line-height: 30px-text-align: center-speak: none-font-weight: bold-cursor: pointer-}.bb-custom-wrapper nav span: Last-child {left: 40px-}.bb-custom-wrapper nav span: hover,.menu-button: hover {background: # 000-}

Кнопка відкриття / закриття змісту розташовується в лівому верхньому кутку:

123456
.menu-button {z-index: 1000-left: 20px-top: 20px-text-indent: -9000px-}
Кнопка відкриття / закриття змісту

Зараз створимо маленьку іконку змісту:

1234567891011
.menu-button: after {position: absolute-content: ``-width: 50%-height: 2px-background: #fff-top: 50%-margin-top: -1px-left: 25%-box-shadow: 0 -4px #fff, 0 4px #fff-}

Відео: Shake Effect Login Form using HTML 5, CSS 3 & jQuery

Але в разі, коли javascript відключений, нам не потрібні елементи відкриття / закриття змісту, тому їх можна заховати:

1234
.no-js .bb-custom-wrapper nav span,.no-js .menu-button {display: none-}

Відео: Animated Sidebar Menu with jQuery and CSS3 - Transforming Hamburger Menu - Simple jQuery Tutorials

javascript частина

Підключаємо всі необхідні плагіни в кінці сторінки:

123456
lt;script src="Http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"gt; lt;/scriptgt;lt;script src="Js / jquery.mousewheel.js"gt; lt;/scriptgt;lt;script src="Js / jquery.jscrollpane.min.js"gt; lt;/scriptgt;lt;script src="Js / jquerypp.custom.js"gt; lt;/scriptgt;lt;script src="Js / jquery.bookblock.js"gt; lt;/scriptgt;lt;script src="Js / page.js"gt; lt;/scriptgt;

Все необхідне для правильної роботи з класами, які задані зараз, прописано в файлі page.js.

Нам лише залишається вставити в кінці сторінки невеликої javascript код виклику функції:

12345
lt;scriptgt; $ (function () {Page.init () -}) -lt;/scriptgt;

висновок

Дійсно гарна книга. Її читати було б дуже зручно, якщо б ті сайти, на яких можна читати книги онлайн, зробили це у виді такої ось книги # 128578; .

Успіхів!

джерело: https://tympanus.net/codrops/2012/12/11/fullscreen-pageflip-layout/

Поділися в соц мережах:
Cхоже

Увага, тільки СЬОГОДНІ!