Веб-разработка. Верстка презентация

Содержание

Слайд 2

Предпосылки

Предпосылки

Слайд 3

Предпосылки Веб-страницы развиваются. Растут требования к оформлению. Это уже не

Предпосылки

Веб-страницы развиваются. Растут требования к оформлению. Это уже не просто текстовый

документ, это менюшки, логотипы, баннеры, и прочее «оформление»
Слайд 4

Предпосылки CSS еще не является основным средством оформления. Для оформления

Предпосылки

CSS еще не является основным средством оформления. Для оформления используются
Многочисленные картинки
Атрибуты

на тэгах
Для создания «сетки» используются таблицы
Для задания фиксированных размеров в сетке использовали «спейсеры»
(http://en.wikipedia.org/wiki/Spacer_GIF)
Слайд 5

Предпосылки

Предпосылки

Слайд 6

Предпосылки Таблицы использовались даже для того, что бы сделать блок со скругленными углами!

Предпосылки

Таблицы использовались даже для того, что бы сделать блок со скругленными

углами!
Слайд 7

Предпосылки Недостатки: Все в одной куче Очень много кода Трудно

Предпосылки

Недостатки:
Все в одной куче
Очень много кода
Трудно вносить изменения
Страдает индексация поисковиками
Страдает совместимость

с устройствами
Слайд 8

Предпосылки Что же делать? CSS! Позволяет отделить стиль от оформления

Предпосылки

Что же делать? CSS!
Позволяет отделить стиль от оформления
Позволяет уменьшить размер сайта

(в байтах)
Улучшается кэширование
Лучше для поисковиков
Разные представления для разных устройств. Выше совместимость.
Слайд 9

CSS Box Model

CSS Box Model

Слайд 10

CSS Box Model Любой элемент на странице представляется прямоугольным блоком

CSS Box Model

Любой элемент на странице представляется прямоугольным блоком или боксом.
У

любого бокса есть размеры
Боксы можно вкладывать друг в друга
Слайд 11

CSS Box Model

CSS Box Model

Слайд 12

CSS Box Model Область содержимого (область контента) Здесь располагается содержимое

CSS Box Model

Область содержимого (область контента)
Здесь располагается содержимое блока (в т.ч.

и вложенные блоки)
На область контента распространяется фон (если есть)
Слайд 13

CSS Box Model Отступы (паддинги, padding) Промежуток между рамкой и

CSS Box Model

Отступы (паддинги, padding)
Промежуток между рамкой и областью содержимого
На отступ

распространяется фон (если он есть)
Слайд 14

CSS Box Model Граница, рамка, бордер (border) Рамка блока Может иметь толщину но быть прозрачной

CSS Box Model

Граница, рамка, бордер (border)
Рамка блока
Может иметь толщину но быть

прозрачной
Слайд 15

CSS Box Model Границы, маржины (margin) Отступ от данного блока до окружающих

CSS Box Model

Границы, маржины (margin)
Отступ от данного блока до окружающих

Слайд 16

CSS Box Model Размеры блока width height Размерность НЕ включает в себя padding и border

CSS Box Model

Размеры блока
width
height
Размерность НЕ включает в себя padding и border

Слайд 17

CSS Box Model .box { width: 200px; padding: 20px; border:

CSS Box Model

.box {
width: 200px;
padding: 20px;
border: 1px solid

red;
margin: 15px;
}
Итоговая ширина: 200 + 20 * 2 + 1 *2 = 242px
Слайд 18

CSS Box Model .box { width: 100%; padding: 20px; border:

CSS Box Model

.box {
width: 100%;
padding: 20px;
border: 1px solid

red;
margin: 15px;
}
???
Слайд 19

Позиционирование

Позиционирование

Слайд 20

Позиционирование 4 типа позиционирования: Static Absolute Relative Fixed

Позиционирование

4 типа позиционирования:
Static
Absolute
Relative
Fixed

Слайд 21

Позиционирование Static

Позиционирование

Static

Слайд 22

Позиционирование Absolute

Позиционирование

Absolute

Слайд 23

Позиционирование Relative

Позиционирование

Relative

Слайд 24

Позиционирование Fixed Так же, как и absolute, но НЕ скроллируется

Позиционирование

Fixed
Так же, как и absolute, но НЕ скроллируется вместе со страницей.
Если

не влез, то «скрытую» часть никогда не увидеть. Браузер не покажет для нее скролл.
Слайд 25

Координаты

Координаты

Слайд 26

Координаты При абсолютном и относительном позиционировании (absolute и relative) можно

Координаты

При абсолютном и относительном позиционировании (absolute и relative) можно управлять «координатами»

элемента.
.absBox {
left: 10px;
top: 20px;
}
Слайд 27

Координаты При абсолютном и относительном позиционировании (absolute и relative) можно

Координаты

При абсолютном и относительном позиционировании (absolute и relative) можно управлять «координатами»

элемента.
.absBox {
right: 30px;
bottom: 50px;
}
Слайд 28

Координаты При абсолютном и относительном позиционировании (absolute и relative) можно

Координаты

При абсолютном и относительном позиционировании (absolute и relative) можно управлять «координатами»

элемента.
.absBox {
left: 10px;
right: 30px;
top: 20px;
bottom: 50px;
}
Слайд 29

Координаты При абсолютном и относительном позиционировании (absolute и relative) можно

Координаты

При абсолютном и относительном позиционировании (absolute и relative) можно управлять «координатами»

элемента.
.absBox {
left: 0;
right: 0;
top: 0;
bottom: 0;
}
Слайд 30

«Точка отсчета»

«Точка отсчета»

Слайд 31

«Точка отсчета» Координаты для left, top, right, bottom рассчитываются от

«Точка отсчета»

Координаты для left, top, right, bottom рассчитываются от ближайшего предка

с позиционированием, отличным от static.
Если такового нет – рассчитываются от окна.
Для этого часто используют position: relative без задания каких-либо смещений.
Слайд 32

Поток

Поток

Слайд 33

Поток Два основных типа боксов Блочные Строчные Управление типом: свойство

Поток

Два основных типа боксов
Блочные
Строчные
Управление типом: свойство display
Блочные == block
Строчные == inline

Слайд 34

Поток В чем разница? Блочные: Занимают всю ширину если не

Поток

В чем разница?
Блочные:
Занимают всю ширину если не указано обратное
Высота рассчитывается

по вложенным боксам если не задано обратное
Слайд 35

Поток В чем разница? Строчные Ширина и высота – строго

Поток

В чем разница?
Строчные
Ширина и высота – строго по контенту
Не применяются вертикальные

маржины и паддинги
Слайд 36

Поток В потоке элементы стоят друг за другом. Строчные без переносов. Блочные – с переносом.

Поток

В потоке элементы стоят друг за другом.
Строчные без переносов.
Блочные –

с переносом.
Слайд 37

Поток Строка Строка с выделенным текстом Строка Строка с выделенным текстом

Поток

Строка


Строка с выделенным текстом


Строка
Строка с выделенным текстом

Слайд 38

Поток p { display: inline; } Строка Строка с выделенным текстом

Поток

p { display: inline; }
Строка Строка с выделенным текстом

Слайд 39

Поток p { display: inline; } strong { display: block; } Строка Строка с выделенным текстом

Поток

p { display: inline; }
strong { display: block; }
Строка Строка с


выделенным
текстом
Слайд 40

Поток Ширина блочного бокса по умолчанию рассчитывается автоматически. Блок будет

Поток

Ширина блочного бокса по умолчанию рассчитывается автоматически.
Блок будет занимать полную доступную

ширину с учетом маржинов, бордеров и паддингов
Слайд 41

Выравнивание блоков

Выравнивание блоков

Слайд 42

Выравнивание блоков Если ширина указана явно можно управлять выравниванием блока

Выравнивание блоков

Если ширина указана явно можно управлять выравниванием блока

Слайд 43

Выравнивание блоков Вертикальное выравнивание...

Выравнивание блоков

Вертикальное выравнивание...

Слайд 44

Выравнивание блоков

Выравнивание блоков

Слайд 45

Выравнивание блоков Flexbox! Вертикальное выравнивание! см. http://frontender.info/a-guide-to-flexbox/

Выравнивание блоков

Flexbox!
Вертикальное выравнивание!
см. http://frontender.info/a-guide-to-flexbox/

Слайд 46

Схлопывание границ

Схлопывание границ

Слайд 47

Схлопывание границ Заголовок Абзац текста... h1 { margin: 20px 0;

Схлопывание границ

Заголовок


Абзац текста...


h1 { margin: 20px 0; }
p { margin: 10px

0; }
Слайд 48

Схлопывание границ Заголовок Абзац текста... h1 { margin: 20px 0;

Схлопывание границ

Заголовок


Абзац текста...


h1 { margin: 20px 0; }
p { margin: 10px

0; }
Сколько между блоками?
Слайд 49

Схлопывание границ Заголовок Абзац текста... h1 { margin: 20px 0;

Схлопывание границ

Заголовок


Абзац текста...


h1 { margin: 20px 0; }
p { margin: 10px

0; }
Сколько между блоками?
Ответ: 30px


Слайд 50

Схлопывание границ Заголовок Абзац текста... h1 { margin: 20px 0;

Схлопывание границ

Заголовок


Абзац текста...


h1 { margin: 20px 0; }
p { margin: 10px

0; }
Сколько между блоками?
Ответ: 30px 20px


Слайд 51

Схлопывание границ Абзац... Абзац... div { margin: 5px 0; } p { margin: 10px 0; }

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0; }
p { margin:

10px 0; }
Слайд 52

Схлопывание границ Абзац... Абзац... div { margin: 5px 0; } p { margin: 10px 0; }


Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0; }
p { margin:

10px 0; }
Слайд 53

Схлопывание границ Абзац... Абзац... div { margin: 5px 0; } p { margin: 10px 0; }


Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0; }
p { margin:

10px 0; }

Слайд 54

Схлопывание границ Абзац... Абзац... div { margin: 5px 0; } p { margin: 10px 0; }

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0; }
p { margin:

10px 0; }

Слайд 55

Схлопывание границ Абзац... Абзац... div { margin: 5px 0; } p { margin: 10px 0; }

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0; }
p { margin:

10px 0; }

Слайд 56

Схлопывание границ Абзац... Абзац... div { margin: 5px 0 15px

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0 15px 0; }
p

{ margin: 10px 0; }
Слайд 57

Схлопывание границ Абзац... Абзац... div { margin: 5px 0 15px

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0 15px 0; }
p

{ margin: 10px 0; }

Слайд 58

Схлопывание границ Абзац... Абзац... div { margin: 5px 0 15px

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0 15px 0; }
p

{ margin: 10px 0; }

Слайд 59

Схлопывание границ Абзац... Абзац... div { margin: 5px 0 15px

Схлопывание границ


Абзац...


Абзац...



div { margin: 5px 0 15px 0; }
p

{ margin: 10px 0; }

Слайд 60

Схлопывание границ Зачем это нужно?

Схлопывание границ

Зачем это нужно?

Слайд 61

Схлопывание границ Зачем это нужно? p { margin: 5px 0;

Схлопывание границ

Зачем это нужно?
p { margin: 5px 0; }
Ожидание: 5px
Реальность: 10px
Схлопывание:

у элемента всегда те границы, которые ему нужны

Слайд 62

Схлопывание границ Зачем это нужно? ...

Схлопывание границ

Зачем это нужно?



  • ...





  • Слайд 63

    Схлопывание границ Зачем это нужно? ...

    Схлопывание границ

    Зачем это нужно?



    • ...





  • Слайд 64

    Схлопывание границ Зачем это нужно? ...

    Схлопывание границ

    Зачем это нужно?



    • ...





  • Слайд 65

    Схлопывание границ. Проблемы...

    Схлопывание границ. Проблемы...

    Слайд 66

    Проблемы Тензор С 1996 года... body, #heading { margin: 0

    Проблемы



    Тензор


    С 1996 года...


    body, #heading { margin: 0

    }
    #heading h1 { margin: 10px; }
    #heading p { margin: 5px; }
    Слайд 67

    Проблемы Тензор С 1996 года... body, #heading { margin: 0

    Проблемы



    Тензор


    С 1996 года...


    body, #heading { margin: 0

    }
    #heading h1 { margin: 10px; }
    #heading p { margin: 5px; }


    Слайд 68

    Проблемы Тензор С 1996 года... body, #heading { margin: 0

    Проблемы



    Тензор


    С 1996 года...


    body, #heading { margin: 0

    }
    #heading h1 { margin: 10px; }
    #heading p { margin: 5px; }



    Слайд 69

    Проблемы Тензор С 1996 года... body, #heading { margin: 0

    Проблемы



    Тензор


    С 1996 года...


    body, #heading { margin: 0

    }
    #heading h1 { margin: 10px; }
    #heading p { margin: 5px; }




    Слайд 70

    Проблемы Тензор С 1996 года... body, #heading { margin: 0

    Проблемы



    Тензор


    С 1996 года...


    body, #heading { margin: 0

    }
    #heading h1 { margin: 10px; }
    #heading p { margin: 5px; }
    Границы вывалились из #heading!!!



    Слайд 71

    Проблемы Как починить? Установить блоку, из которого вывалились границы бордер

    Проблемы

    Как починить?
    Установить блоку, из которого вывалились границы бордер или паддинг
    #heading {

    padding-top: 1px;
    /* или */
    border-top: 1px solid transparent;
    }
    Слайд 72

    Проблемы Как починить? Установить блоку, из которого вывалились границы бордер

    Проблемы

    Как починить?
    Установить блоку, из которого вывалились границы бордер или паддинг
    Плюсы: самый

    простой способ
    Минусы: размер блока увеличится
    Слайд 73

    Проблемы Как починить? Заменить маржин на паддинг с нужной стороны

    Проблемы

    Как починить?
    Заменить маржин на паддинг с нужной стороны
    h1 {
    margin:

    10px;
    margin: 0 10px 10px 10px;
    padding-top: 10px;
    }
    Слайд 74

    Проблемы Как починить? Заменить маржин на паддинг с нужной стороны

    Проблемы

    Как починить?
    Заменить маржин на паддинг с нужной стороны
    Плюсы: визуально полностью идентично

    тому, что хотели
    Минусы: неочевидный набор правил
    Слайд 75

    Проблемы Как починить? «Вырвать» из потока #heading { position: absolute; /* или */ float: left; }

    Проблемы

    Как починить?
    «Вырвать» из потока
    #heading {
    position: absolute;
    /* или */
    float:

    left;
    }
    Слайд 76

    Проблемы Как починить? «Вырвать» из потока Плюсы: визуальная идентичность ожидаемому Минусы: меняется раскладка, усложняются стили

    Проблемы

    Как починить?
    «Вырвать» из потока
    Плюсы: визуальная идентичность ожидаемому
    Минусы: меняется раскладка, усложняются стили

    Слайд 77

    Float

    Float

    Слайд 78

    Float ... ... ... #a #b #c

    Float


    ...

    ...

    ...



    #a

    #b

    #c

    Слайд 79

    Float ... ... ... #b { float: left; } #a #b #c

    Float


    ...

    ...

    ...


    #b {
    float: left;
    }


    #a

    #b

    #c

    Слайд 80

    Float Смещается к указанной стороне Перестает занимать место, схлопывается #a #b #c

    Float

    Смещается к указанной стороне
    Перестает занимать место, схлопывается


    #a

    #b

    #c

    Слайд 81

    Float Смещается к указанной стороне Перестает занимать место, схлопывается Следующие

    Float

    Смещается к указанной стороне
    Перестает занимать место, схлопывается
    Следующие за ним блочные боксы

    подтягиваются на его место


    #a

    #c

    #b

    Слайд 82

    Float Смещается к указанной стороне Перестает занимать место, схлопывается Следующие

    Float

    Смещается к указанной стороне
    Перестает занимать место, схлопывается
    Следующие за ним блочные боксы

    подтягиваются на его место
    Строчные боксы внутри пододвинувшихся начинают обтекать его.


    #a

    xxxx
    xxxxxxxx
    xxxxxxxxxx

    #b

    Слайд 83

    Float #b, #c { float: left } #a #c #b

    Float

    #b, #c { float: left }


    #a

    #c

    #b

    Слайд 84

    Float #b, #c { float: left } Если влезет, подтянется к предыдущему float-блоку #a #c #b

    Float

    #b, #c { float: left }
    Если влезет, подтянется к предыдущему float-блоку


    #a

    #c

    #b

    Слайд 85

    Float #b, #c { float: left } Если влезет, подтянется

    Float

    #b, #c { float: left }
    Если влезет, подтянется к предыдущему float-блоку
    Если

    не влезет, встанет за ним


    #a

    #c

    #b

    Слайд 86

    Float Что случается с родительским блоком? Он не учитывает float-боксы при расчете высоты #a #c #b

    Float

    Что случается с родительским блоком?
    Он не учитывает float-боксы при расчете высоты


    #a

    #c

    #b

    Слайд 87

    Float Что случается с родительским блоком? Он не учитывает float-боксы при расчете высоты #a #c #b

    Float

    Что случается с родительским блоком?
    Он не учитывает float-боксы при расчете высоты


    #a

    #c

    #b

    Слайд 88

    Float Что случается с родительским блоком? Он не учитывает float-боксы

    Float

    Что случается с родительским блоком?
    Он не учитывает float-боксы при расчете высоты
    При

    этом идущие за родителем блоки тоже подтянутся!


    xxxxxxxxxx
    xxxxxx
    xxx

    xxx
    xxx

    #a

    #c

    #b

    Слайд 89

    Float Что делать, если мы хотим предотвратить «подтягивание» блока? xxxxxxxxxx

    Float

    Что делать, если мы хотим предотвратить «подтягивание» блока?


    xxxxxxxxxx
    xxxxxx
    xxx

    xxx
    xxx

    #a

    #c

    #b

    Слайд 90

    Float Что делать, если мы хотим предотвратить «подтягивание» блока? Свойство

    Float

    Что делать, если мы хотим предотвратить «подтягивание» блока?
    Свойство clear
    Значения:
    left
    right
    both


    xxxxxxxxxx
    xxxxxx

    xxx

    xxx
    xxx

    #a

    #c

    #b

    Слайд 91

    Float Что делать, если мы хотим предотвратить «подтягивание» блока? Свойство

    Float

    Что делать, если мы хотим предотвратить «подтягивание» блока?
    Свойство clear
    Значения:
    left – нет

    флоатов слева
    right – нет флоатов справа
    both – нет по любой стороне


    xxxxxxxxxx
    xxxxxx
    xxx

    xxx
    xxx

    #a

    #c

    #b

    Слайд 92

    Float Что делать, если мы хотим предотвратить «подтягивание» блока? Свойство

    Float

    Что делать, если мы хотим предотвратить «подтягивание» блока?
    Свойство clear
    .someblock {
    clear:

    left;
    }


    .someblock

    #a

    #b

    Слайд 93

    Float Что делать, если мы хотим предотвратить «подтягивание» блока? Свойство

    Float

    Что делать, если мы хотим предотвратить «подтягивание» блока?
    Свойство clear
    .someblock {
    clear:

    left;
    }


    Xxxxxxxxxx
    Xxxxxx
    xxx

    #a

    #b

    Слайд 94

    Полезные ссылки

    Полезные ссылки

    Слайд 95

    Учебник http://softwaremaniacs.org/blog/category/primer/ - отличный учебник по верстке http://softwaremaniacs.org/blog/2005/09/05/css-layout-flow-margins/ http://softwaremaniacs.org/blog/2005/12/01/css-layout-float/

    Учебник

    http://softwaremaniacs.org/blog/category/primer/ - отличный учебник по верстке
    http://softwaremaniacs.org/blog/2005/09/05/css-layout-flow-margins/
    http://softwaremaniacs.org/blog/2005/12/01/css-layout-float/

    Слайд 96

    Вопросы есть?

    Вопросы есть?

    Имя файла: Веб-разработка.-Верстка.pptx
    Количество просмотров: 135
    Количество скачиваний: 0