121

«Книги в браузере»

  • Upload
    fdconf

  • View
    4.431

  • Download
    0

Embed Size (px)

Citation preview

Page 1: «Книги в браузере»
Page 2: «Книги в браузере»
Page 3: «Книги в браузере»

Книги в браузере

Олег Мохов

Page 4: «Книги в браузере»

Зачем?

Page 5: «Книги в браузере»
Page 6: «Книги в браузере»
Page 7: «Книги в браузере»

7

Page 8: «Книги в браузере»
Page 9: «Книги в браузере»
Page 10: «Книги в браузере»

Приложения

Kindle

iBooks

FBReader

Adobe Reader

FuturePress EPUB Reader

10

Page 11: «Книги в браузере»
Page 12: «Книги в браузере»

12

Page 13: «Книги в браузере»
Page 14: «Книги в браузере»

Сделать читалку книг

Page 15: «Книги в браузере»

Сделать читалку книглучшую

Page 16: «Книги в браузере»

Даже бабушка сможет юзать

Page 17: «Книги в браузере»

16

Page 18: «Книги в браузере»

https://vimeo.com/82527410

Page 19: «Книги в браузере»

* Межстрочные интервалы, размеры шрифта и отступы

reset.css*

Page 20: «Книги в браузере»
Page 21: «Книги в браузере»

Иллюстрация из книги Яна Чихольда «Облик Книги»

Page 22: «Книги в браузере»

Иллюстрация из книги Яна Чихольда «Облик Книги»

Page 23: «Книги в браузере»

Две страницы

Paged Media

CSS Books

scroll

margin, transition, left, etc

22

Page 24: «Книги в браузере»

Две страницы

Paged Media

CSS Books

scroll

margin, transition, left, etc

23

Page 25: «Книги в браузере»

Две страницы

Paged Media

CSS Books

scroll

margin, transition, left, etc

23

Page 26: «Книги в браузере»

Две страницы

Paged Media

CSS Books

scroll

margin, transition, left, etc

23

Page 27: «Книги в браузере»

Две страницы

Paged Media

CSS Books

scroll

margin, transition, left, etc

23

Page 28: «Книги в браузере»

Две страницы

Paged Media

CSS Books

columns

margin, transition, left, etc

24

Page 29: «Книги в браузере»

columns

http://dev.w3.org/csswg/css-multicol-1/#columns

Page 30: «Книги в браузере»
Page 31: «Книги в браузере»

columns: 2;

Page 32: «Книги в браузере»

Перелистывание страниц

Page 33: «Книги в браузере»

columns: 2;

Page 34: «Книги в браузере»

columns: 2;

Page 35: «Книги в браузере»

columns: 2;

Page 36: «Книги в браузере»

Перелистывание страницы

〉 scroll

〉 CSS (margin, left, transition, etc…)

30

Page 37: «Книги в браузере»

Перелистывание страницы

〉 scroll

〉 CSS (margin, left, transition, etc…)

30

Page 38: «Книги в браузере»

columns: 2;

Page 39: «Книги в браузере»

columns: 1;

Page 40: «Книги в браузере»

columns: 1;

Page 41: «Книги в браузере»

columns: 1;

Page 42: «Книги в браузере»

http://dev.w3.org/csswg/css-multicol-1/#the-multi-column-model

A multicol element is an element whose column-count property is not auto… Multi-column layout introduces a new type of container … the column box or column… Column boxes in a multi-column element are arranged into rows …

Page 43: «Книги в браузере»

columns: 1;

Page 44: «Книги в браузере»

ИИспользован фрагмент передачи КВН, правообладателем передачи является Первый Канал, Россия

Page 45: «Книги в браузере»

ИИспользован фрагмент передачи КВН, правообладателем передачи является Первый Канал, Россия

Page 46: «Книги в браузере»

columns: 1;

Page 47: «Книги в браузере»

columns: 1; width: 200%;

Page 48: «Книги в браузере»

columns: 2; width: 200%;

Page 49: «Книги в браузере»

“Ни единого разрыва”

Page 50: «Книги в браузере»
Page 51: «Книги в браузере»

Разрывы заголовков

-webkit-column-break-inside: avoid; /* webkit */

page-break-inside: avoid; /* firefox */

break-inside: avoid; /* ie10+ */

42

Page 52: «Книги в браузере»
Page 53: «Книги в браузере»
Page 54: «Книги в браузере»
Page 55: «Книги в браузере»

Заголовок

h1 {

margin-bottom: 1em;

}

45

заголовокОднажды в студёную зимнюю

Page 56: «Книги в браузере»

Заголовок

h1 {

padding-bottom: 2em;

}

46

заголовок

Однажды в студёную зимнюю

заголовокОднажды в студёную зимнюю

заголовок

Page 57: «Книги в браузере»

h1 {

padding-bottom: 2em;

margin-bottom: -1em;

}

Однажды в студёную зимнюю

Заголовок

47

заголовокзаголовокОднажды в студёную зимнюю

заголовокзаголовокОднажды в студёную зимнюю

заголовок

Page 58: «Книги в браузере»

Главы

Page 59: «Книги в браузере»
Page 60: «Книги в браузере»
Page 61: «Книги в браузере»

Разрыв страницы

51

Page 62: «Книги в браузере»

Разрыв страницы

-webkit-column-break-after: always;

51

Page 63: «Книги в браузере»

Разрыв страницы

-webkit-column-break-after: always;

page-break-after: always;

51

Page 64: «Книги в браузере»

Разрыв страницы

-webkit-column-break-after: always;

page-break-after: always;

page-break-inside: avoid;

52

Page 65: «Книги в браузере»

Картинки

Page 66: «Книги в браузере»

Иллюстрация из книги «Human Transit: How clearer Thinking about Pulbic Transit Can Enrich Our Communities and Our Lives»

Page 67: «Книги в браузере»

Текст из книги «Human Transit: How clearer Thinking about Pulbic Transit Can Enrich Our Communities and Our Lives»

Page 68: «Книги в браузере»
Page 69: «Книги в браузере»

Картинки

img {

max-width: 100%;

max-height: 100%;

}

57

Page 70: «Книги в браузере»

58

Page 71: «Книги в браузере»

58

div {

position: absolute;

}

img {

max-width: 100%;

max-height: 100%;

}

opacity: 0;

Page 72: «Книги в браузере»

Картинки

img {

max-width: 100%;

max-height: 100%;

}

59

Page 73: «Книги в браузере»

Использован фрагмент передачи КВН, правообладателем передачи является Первый Канал, Россия

Page 74: «Книги в браузере»

И вычислять при ресайзе :(

Зафиксировать размеры

Page 75: «Книги в браузере»
Page 76: «Книги в браузере»
Page 77: «Книги в браузере»

63

Page 78: «Книги в браузере»

64

height: 20px;

Page 79: «Книги в браузере»

64

height: 20px;

height: 100px;

Page 80: «Книги в браузере»

64

height: 20px;

height: 100px;

height: 200px;

Page 81: «Книги в браузере»

64

height: 20px;

height: 100px;

height: 200px;

height: 201px;

Page 82: «Книги в браузере»

65

height: 20px;

height: 100px;

height: 200px;

height: 201px;

max-height: 100%;

Page 83: «Книги в браузере»

66

Page 84: «Книги в браузере»

66

overflow: hidden;

Page 85: «Книги в браузере»

max: 100%

Page 86: «Книги в браузере»

display: flex;

flex-direction: column;max: 100%

Page 87: «Книги в браузере»

68

Page 88: «Книги в браузере»

68

Page 89: «Книги в браузере»

69

Page 90: «Книги в браузере»

70

Page 91: «Книги в браузере»

70

.image-wrapper {

overflow: hidden;

}

Page 92: «Книги в браузере»

71

Page 93: «Книги в браузере»

71

flex-shrink: 0;

Page 94: «Книги в браузере»
Page 95: «Книги в браузере»

display: flex; flex-direction: column; max-height: 100%; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid;

Page 96: «Книги в браузере»

display: flex; flex-direction: column; max-height: 100%; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid;

flex-shrink: 1; overflow: hidden; background-image: url(..) background-size: contain;

Page 97: «Книги в браузере»

display: flex; flex-direction: column; max-height: 100%; -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid;

flex-shrink: 1; overflow: hidden; background-image: url(..) background-size: contain;

flex-shrink: 0;

Page 98: «Книги в браузере»

73

Page 99: «Книги в браузере»

Сноски

Page 100: «Книги в браузере»
Page 101: «Книги в браузере»
Page 102: «Книги в браузере»
Page 103: «Книги в браузере»
Page 104: «Книги в браузере»
Page 105: «Книги в браузере»
Page 106: «Книги в браузере»

И ещё

Page 107: «Книги в браузере»

Фичи

79

Page 108: «Книги в браузере»

Фичи

〉 Сохранение позиции при изменении шрифта

79

Page 109: «Книги в браузере»

Фичи

〉 Сохранение позиции при изменении шрифта

〉 Сохранение позиции при переходе к сноске

79

Page 110: «Книги в браузере»

Фичи

〉 Сохранение позиции при изменении шрифта

〉 Сохранение позиции при переходе к сноске

〉Ширина листа в символах и браузерная математика

79

Page 111: «Книги в браузере»

Фичи

〉 Сохранение позиции при изменении шрифта

〉 Сохранение позиции при переходе к сноске

〉Ширина листа в символах и браузерная математика

〉 Примерное время чтения книги

79

Page 112: «Книги в браузере»

80

Page 113: «Книги в браузере»

Использованы кадры сериала «The big bang theory», правообладатель телеканал CBS, США

Page 114: «Книги в браузере»

Использованы кадры сериала «The big bang theory», правообладатель телеканал CBS, США

Page 115: «Книги в браузере»
Page 116: «Книги в браузере»

Сделать читалку книглучшую

Page 117: «Книги в браузере»

Сделать читалку книглучшую

Page 118: «Книги в браузере»

OpenSource is coming…@chitalkajs

Page 119: «Книги в браузере»

Привет, Вадим!

Page 120: «Книги в браузере»

86

Олег Мохов

Разработчик интерфейсов

Контакты

@olmokhov

olmokhov

+7 (912) 621 45 27

[email protected]

Page 121: «Книги в браузере»

Ссылки

Доклад Лёши Иванова про Justify

Спецификация Multicolumn Layout

Спецификация CSS Books

Спецификация Paged Media

87