css flexible box layout — будущее? Настоящее! / Роман Бубнов (mail.ru)

66
CSS Flexible Box Layout — будущее? Настоящее! Роман Бубнов

Upload: ontico

Post on 18-Jun-2015

153 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

CSS Flexible Box Layout — будущее?Настоящее!

Роман Бубнов

Page 2: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

2

Две колонки

Page 3: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

3

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

float

Page 4: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

4

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

.col-1,

.col-2 {float:left;

}

float

Page 5: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

5

<table><tr>

<td class="col-1"> Колонка 1

</td><td class="col-2">

Колонка 2</td>

</tr></table>

table

Page 6: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

6

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

inline-block

Page 7: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

7

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

.col-1,

.col-2 {

display:inline-block;}

inline-block

Page 8: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

8

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

position

Page 9: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

9

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

.col-1 {

position:absolute;left:0;

}

position

Page 10: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

10

<div class="col-1">Колонка 1

</div><div class="col-2">

Колонка 2</div>

.col-1 {

position:absolute;left:0;

}.col-2 {

position:absolute;right:0;

}

position

Page 11: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

11

Как?flexbox

Page 12: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

12

CSS Flexible Box Layout

Page 13: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

13

Firefox[ 18 + ]

Opera[ 12.1 + ]

IE[ 10 + ]

Chrome[ 4 + ]

Safari[ 3.1 + ]

Поддержка браузерами

Page 14: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

14

Firefox[ 18 + ]

Opera[ 12.1 + ]

IE[ 10 + ]

Chrome[ 4 + ]

Safari[ 3.1 + ]

2009 ✔ ✘ ✘ ✔ ✔

Поддержка браузерами

Page 15: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

15

Firefox[ 18 + ]

Opera[ 12.1 + ]

IE[ 10 + ]

Chrome[ 4 + ]

Safari[ 3.1 + ]

2009 ✔ ✘ ✘ ✔ ✔

2012 ✘ ✘ ✔ ✘ ✘

Поддержка браузерами

Page 16: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

16

Firefox[ 18 + ]

Opera[ 12.1 + ]

IE[ 10 + ]

Chrome[ 4 + ]

Safari[ 3.1 + ]

2009 ✔ ✘ ✘ ✔ ✔

2012 ✘ ✘ ✔ ✘ ✘

2012 + ✘ ✔ ✘ ✔ ✘

Поддержка браузерами

Page 17: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

17

• Sass —sass-lang.com• LESS —lesscss.org• Stylus —learnboost.github.com/stylus• …

CSS-препроцессор

Page 18: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

18

Page 19: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

19

Page 20: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

20

Page 21: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

21

Page 22: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

22

Page 23: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

23

Page 24: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

24

Page 25: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

25

Page 26: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

26

Page 27: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

27

justify-content

Page 28: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

28

justify-content

Page 29: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

29

justify-content

Page 30: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

30

justify-content

Page 31: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

31

justify-content

Page 32: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

32

justify-content

Page 33: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

33

justify-content + flex-direction

Page 34: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

34

Page 35: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

35

Page 36: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

36

Page 37: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

37

Page 38: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

38

Page 39: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

39

align-items

Page 40: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

40

align-items

Page 41: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

41

align-items

Page 42: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

42

align-items

Page 43: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

43

align-items

Page 44: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

44

align-items

Page 45: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

45

Page 46: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

46

Page 47: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

47

Page 48: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

48

order

Page 49: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

49

<div class="flex"><div

class="el-1">1</div><div

class="el-2">2</div></div>

order

Page 50: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

50

<div class="flex"><div

class="el-1">1</div><div

class="el-2">2</div></div>

order

Page 51: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

51

<div class="flex"><div class="el-1">1</div><div class="el-2">2</div>

</div><style>

.flex { display:flex; }

.el-1 { order:2; }

.el-2 { order:1; }</style>

order

Page 52: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

52

<div class="flex"><div class="el-1">1</div><div class="el-2">2</div>

</div><style>

.flex { display:flex; }

.el-1 { order:2; }

.el-2 { order:1; }</style>

order

Page 53: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

53

Page 54: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

54

Page 55: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

55

Page 56: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

56

Page 57: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

57

Так как же?flexbox

Page 58: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

58

<div class="flex"><div class="col-1">

Колонка 1</div><div class="col-2">

Колонка 2</div>

</div>

flexbox

Page 59: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

59

<div class="flex"><div class="col-1">

Колонка 1</div><div class="col-2">

Колонка 2</div>

</div>

.flex {display:flex;

}

flexbox

Page 60: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

60

Что дальше?

Page 61: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

61

69.79%

Page 62: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

62

• mail.ru/tv

Что дальше?

Page 63: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

63

• mail.ru/tv• bit.ly/flexplorer

Что дальше?

Page 64: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

64

• mail.ru/tv• bit.ly/flexplorer• Ссылка на гитхаб с миксином

Что дальше?

Page 65: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

65

• mail.ru/tv• bit.ly/flexplorer• Ссылка на гитхаб с миксином• bit.ly/spec-2009• bit.ly/spec-2012• bit.ly/spec-last

Что дальше?

Page 66: CSS Flexible Box Layout — будущее? Настоящее! / Роман Бубнов (Mail.Ru)

66

Разработчик клиентской части Главной страницы Mail .Ru

[email protected] .ru

Роман Бубнов