62

Олег Мохов "Операция CSS3"

  • Upload
    yandex

  • View
    1.310

  • Download
    6

Embed Size (px)

DESCRIPTION

28 мая 2011, Я.Субботник в Киеве Олег Мохов "Операция CSS3" О докладе: О проблемах, которые возникают при использовании CSS3 на примере Яндекс.Почты. Когда мы делали новый интерфейс Яндекс.Почты, то одним из требований было максимально использовать современные техники верстки. Радость от того, что наконец-то можно начать в полный рост использовать возможности браузеров, сменилась негодованием от неподготовленности новых стандартов, а также особенностей их интерпретации разными браузерами. В докладе рассмотрены примеры того, как порой самые простые CSS3 свойства могут принести кучу проблем.

Citation preview

Page 1: Олег Мохов "Операция CSS3"
Page 2: Олег Мохов "Операция CSS3"

Олег МоховЯ.Субботник, Киев, 28 мая 2011 года

CSS3

Page 3: Олег Мохов "Операция CSS3"

Начните использовать CSS3 уже сейчас!

3

Page 4: Олег Мохов "Операция CSS3"

Огласите весь список!4

Page 5: Олег Мохов "Операция CSS3"

border-radius

box-shadow

:before

:after

content

:focus

text-shadow

border-image

background: gradient

5

Page 6: Олег Мохов "Операция CSS3"

border-radius

box-shadow

:before

:after

content

:focus

text-shadow

border-image

background: gradient

counter-increment

counter-reset

background-clip

counter-increment

background-origin

background-size

box-sizing

column-count

column-gap

column-rule

column-width

opacity

overflow-xoverflow-y

resize

text-align-last

text-overflow

word-wrap

writing-mode

background: gradientbackground: gradient

6

Page 7: Олег Мохов "Операция CSS3"

border-radius

box-shadow

:before

:after

content

:focus

text-shadow

border-image

background: gradient

counter-increment

counter-reset

background-clip

counter-increment

background-origin

background-size

box-sizing

column-count

column-gap

column-rule

column-width

opacity

overflow-xoverflow-y

resize

text-align-last

text-overflow

word-wrap

writing-mode

background: gradientbackground: gradient

:checked

:default

:disabled

:default:empty

:enabled

:first-of-type

:indeterminate

:invalid

:last-child

:last-of-type

:not

:nth-child

:nth-last-child

:nth-of-type

:only-child

:only-of-type

:optional

:read-only

:read-write

:required

:root

:target

:valid

:first-letter

:first-line

::selection

7

Page 8: Олег Мохов "Операция CSS3"

border-radius

box-shadow

:before

:after

content

:focus

text-shadow

border-image

background: gradient

counter-increment

counter-reset

background-clip

counter-increment

background-origin

background-size

box-sizing

column-count

column-gap

column-rule

column-width

opacity

overflow-xoverflow-y

resize

text-align-last

text-overflow

word-wrap

writing-mode

background: gradientbackground: gradient

:checked

:default

:disabled

:default:empty

:enabled

:first-of-type

:indeterminate

:invalid

:last-child

:last-of-type

:not

:nth-child

:nth-last-child

:nth-of-type

:only-child

:only-of-type

:optional

:read-only

:read-write

:required

:root

:target

:valid

:first-letter

:first-line

::selection

8

Page 9: Олег Мохов "Операция CSS3"

С какого начать?9

Page 10: Олег Мохов "Операция CSS3"

10

Page 11: Олег Мохов "Операция CSS3"

data:uri для иконок.example-icon{ background: url(b-icon.png);}

11

Page 12: Олег Мохов "Операция CSS3"

.example-icon{ background: url(b-icon.png); background: url(data:image/png;base64,iVBO…);}

data:uri для иконок

12

Page 13: Олег Мохов "Операция CSS3"

.example-icon{ background: url(b-icon.png);}

.example-icon:not(b){ background: url(data:image/png;base64,iVBO…);}

data:uri для иконок

13

Page 14: Олег Мохов "Операция CSS3"

data:uri для курсоров.b-grab{    cursor: move;}

.b-grab:not(b){    cursor:url(data:image/gif;base64,R0lGODlhEAAQAJECAP///wAAAAAAAAAA) 8 8,move;}

14

Page 15: Олег Мохов "Операция CSS3"

Плавные движения

15

Page 16: Олег Мохов "Операция CSS3"

Транзишены

.b-transition{     -moz-transition: linear 1s margin;    -webkit-transition: linear 1s margin;     -o-transition: linear 1s margin;     transition: linear 1s margin;}

16

Page 17: Олег Мохов "Операция CSS3"

Проблемы

17

Page 18: Олег Мохов "Операция CSS3"

Конфликт «одинаковых» свойств18

Page 19: Олег Мохов "Операция CSS3"

19

Page 20: Олег Мохов "Операция CSS3"

.example-round{ -moz-border-radius: 100px; -webkit-border-radius: 100px; border-radius: 100px;}

20

Page 21: Олег Мохов "Операция CSS3"

Safari, Chrome21

Page 22: Олег Мохов "Операция CSS3"

Firefox 3.6, Opera 11/Next22

Page 23: Олег Мохов "Операция CSS3"

Firefox 4/5b23

Page 24: Олег Мохов "Операция CSS3"

Много кода

24

Page 25: Олег Мохов "Операция CSS3"

.example-gradient{ background: -moz-linear-gradient(90deg,…); background: -o-linear-gradient(90deg,…); background: -webkit-gradient(linear,…); background: -webkit-linear-gradient(90deg,…); background: linear-gradient(90deg,…); filter:progid:DXImageTransform.Microsoft.gradient…;-ms-filter:”progid:DXImageTransform.Microsoft.gradient…”;}

25

Page 26: Олег Мохов "Операция CSS3"

.example-gradient{ background: linear-gradient(90deg,…);}

26

Page 27: Олег Мохов "Операция CSS3"

Несовершенство стандартов

27

Page 28: Олег Мохов "Операция CSS3"

Дай дизайнеру в руки CSS3...

28

Page 29: Олег Мохов "Операция CSS3"

29

Page 30: Олег Мохов "Операция CSS3"

30

Page 31: Олег Мохов "Операция CSS3"

31

Page 32: Олег Мохов "Операция CSS3"

32

Page 33: Олег Мохов "Операция CSS3"

33

Page 34: Олег Мохов "Операция CSS3"

34

Page 35: Олег Мохов "Операция CSS3"

.example-shadow{ position: relative;}

35

Page 36: Олег Мохов "Операция CSS3"

.example-shadow{ position: relative;}

.example-shadow:before{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: block; content: “”;}

36

Page 37: Олег Мохов "Операция CSS3"

.example-shadow{ position: relative;}

.example-shadow:before{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; display: block; content: “”;}

37

Page 38: Олег Мохов "Операция CSS3"

.example-shadow{ position: relative;}

.example-shadow:before{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; display: block; content: “”; box-shadow: 0 0 14px #fff;}

38

Page 39: Олег Мохов "Операция CSS3"

39

Page 40: Олег Мохов "Операция CSS3"

40

Page 41: Олег Мохов "Операция CSS3"

41

Page 42: Олег Мохов "Операция CSS3"

42

Page 43: Олег Мохов "Операция CSS3"

43

Page 44: Олег Мохов "Операция CSS3"

.example-border-image{ position: relative;}

44

Page 45: Олег Мохов "Операция CSS3"

.example-border-image{ position: relative;}

.example-border-image:before{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: block; content: “”;}

45

Page 46: Олег Мохов "Операция CSS3"

.example-border-image{ position: relative;}

.example-border-image:before{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; display: block; content: “”;}

46

Page 47: Олег Мохов "Операция CSS3"

.example-border-image{ position: relative;}

.example-border-image:before{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; z-index: -1; display: block; content: “”; border-image: ...;}

47

Page 48: Олег Мохов "Операция CSS3"

– А где бабуля?– Я за неё

Page 49: Олег Мохов "Операция CSS3"

border-image " -o-border-image

49

Page 50: Олег Мохов "Операция CSS3"

border-image " -o-border-image

50

Page 51: Олег Мохов "Операция CSS3"

А компот?51

Page 52: Олег Мохов "Операция CSS3"

52

Page 53: Олег Мохов "Операция CSS3"

Photoshop Browser

53

Page 54: Олег Мохов "Операция CSS3"

54

Page 55: Олег Мохов "Операция CSS3"

Photoshopsmoothness 100%

Photoshopsmoothness 0%

Browser

55

Page 56: Олег Мохов "Операция CSS3"

И главное

56

Page 57: Олег Мохов "Операция CSS3"

Начните использовать CSS3 уже сейчас!

57

Page 58: Олег Мохов "Операция CSS3"

Не бойтесь58

Page 59: Олег Мохов "Операция CSS3"

пробовать 59

Page 60: Олег Мохов "Операция CSS3"

разное60

Page 61: Олег Мохов "Операция CSS3"

и вы всегда будете на шаг впереди

61

Page 62: Олег Мохов "Операция CSS3"

А теперь вопросы

Олег Мохов[email protected]