Позиционирование, Декоративные элементы

Содержание

Слайд 2

Позиционирование Гибкий механизм расположения элементов. Не используется для создания сеток. Используется

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

Гибкий механизм расположения элементов.
Не используется для создания сеток.
Используется для создания декоративных

эффектов и многослойных элементов интерфейса.
Слайд 3

Свойства позиционирования

Свойства позиционирования

Слайд 4

Режимы позиционирования

Режимы позиционирования

Слайд 5

Относительное позиционирование Смещение элемента относительно своего положения. Управление точкой отсчёта абсолютных

Относительное позиционирование

Смещение элемента относительно своего положения.
Управление точкой отсчёта абсолютных элементов.
Участвует в

«наслаивании».

position:

relative;

Слайд 6

Смещение элемента div 1 position: static; div 3 position: static; div 2 position: relative;



Смещение элемента

div 1
position: static;

div 3
position: static;

div 2
position: relative;

Слайд 7

Смещение элемента div 1 position: static; div 3 position: static; div



Смещение элемента

div 1
position: static;

div 3
position: static;

div 2
position: relative;

Место в потоке

Слайд 8

Смещение элемента div 1 position: static; div 3 position: static; div



Смещение элемента

div 1
position: static;

div 3
position: static;

div 2
position: relative; height: 100px;

Место в

потоке
Слайд 9

/* смещение вправо-влево */ right left /* смещение вверх-вниз */ top

/* смещение

вправо-влево */

right left

/* смещение

вверх-вниз */

top bottom

Смещение элемента

Не используйте противоположные свойства

одновременно
— они конфликтуют.
Слайд 10

Смещение элемента div 1 position: static; div 3 position: static; div

Смещение элемента



div 1
position: static;

div 3
position: static;

div 2
position: relative; top: 50px;
left: 100px;

Место

в потоке

100px
50px

Слайд 11

Абсолютное позиционирование Элемент выпадает из потока. Сжимается под содержимое. Гибкая модель

Абсолютное позиционирование

Элемент выпадает из потока.
Сжимается под содержимое.
Гибкая модель позиционирования.
Свойства задания координат

ведут себя по-другому.
Участвует в «наслаивании».

position:

absolute;

Слайд 12

Выпадение из потока div 1 position: static; div 3 position: static;



Выпадение из потока

div 1
position: static;

div 3
position: static;

div 2
position: static;

div 1
position: static;
position

div

2 div 3 absolute; static;
Слайд 13

Координаты абсолютного элемента (0, 0) Y X

Координаты абсолютного элемента

(0, 0)

Y

X

Слайд 14

Привязка к верхнему левому углу position: absolute; top: 50px; left: 50px; 50px 50px

Привязка к верхнему левому углу

position: absolute; top: 50px;
left: 50px;
50px
50px

Слайд 15

Привязка к правому нижнему углу position: absolute; bottom: 50px; right: 50px; 50px 50px

Привязка к правому нижнему углу

position: absolute; bottom: 50px; right: 50px;
50px
50px

Слайд 16

Изменение точки привязки position: absolute; bottom: 50px; right: 50px; 50px 50px position: relative;

Изменение точки привязки

position: absolute; bottom: 50px; right: 50px;
50px
50px
position: relative;

Слайд 17

Изменение точки привязки position: absolute; bottom: 50px; right: 50px; 50px 50px position: relative;

Изменение точки привязки

position: absolute; bottom: 50px; right: 50px;
50px
50px
position: relative;

Слайд 18

Размеры с помощью координат position: absolute; left: 50px; right: 50px; 50px 50px

Размеры с помощью координат

position: absolute; left: 50px;
right: 50px;
50px 50px

Слайд 19

Изменение точки привязки Если среди родителей абсолютного элемента есть тег с

Изменение точки привязки

Если среди родителей абсолютного элемента есть тег с относительным

позиционированием, то абсолютный привязывается к нему.
Если относительных родителей несколько, то выбирается ближайший.
Слайд 20

Относительные координаты position: absolute; top: 50%; left: 50%; 50% высоты браузера 50% ширины браузера

Относительные координаты

position: absolute; top: 50%;
left: 50%;
50% высоты браузера
50% ширины браузера

Слайд 21

Относительные координаты relative top: 50%; left: 50%; 50% высоты блока 50% ширины блока position: absolute;

Относительные координаты

relative

top: 50%;
left: 50%;

50% высоты блока

50% ширины блока
position: absolute;

Слайд 22

Центровка position: absolute;

Центровка
position: absolute;

Слайд 23

Центровка position: absolute; top: 50%; left: 50%; width: 100px; height: 100px; margin-top: -50px; margin-left: -50px;

Центровка
position: absolute; top: 50%;
left: 50%; width: 100px; height: 100px;
margin-top: -50px; margin-left:

-50px;
Слайд 24

Относительные размеры Привязка происходит не только для точки отсчёта координат, но

Относительные размеры

Привязка происходит не только для точки отсчёта координат, но и

для относительных размеров.

position:

absolute;

/* ширина и

высота

абсолютного

равны

половине

width: height:

50%;
50%;

ширины и

высоты

родителя */

Слайд 25

position: absolute; width: 50%; height: 50%; Относительные координаты 50% ширины браузера 50% высоты браузера

position: absolute; width: 50%;
height: 50%;

Относительные координаты
50% ширины браузера
50% высоты браузера

Слайд 26

Относительные координаты position: absolute; width: 50%; height: 50%; 50% ширины блока 50% высоты блока relative

Относительные координаты
position: absolute; width: 50%;
height: 50%;
50% ширины блока
50% высоты блока
relative

Слайд 27

Положение по умолчанию Положение по умолчанию — это когда у всех

Положение по умолчанию

Положение по умолчанию — это когда у всех координат

значение auto.
top: auto;

right: bottom:

auto; auto;

left: auto;

Слайд 28

Координаты по умолчанию static static static

Координаты по умолчанию

static

static

static

Слайд 29

Координаты по умолчанию static static absolute

Координаты по умолчанию

static

static

absolute

Слайд 30

Координаты по умолчанию static static absolute right: 50px;

Координаты по умолчанию

static
static
absolute right: 50px;

Слайд 31

Координаты по умолчанию static static absolute right: 50px; static

Координаты по умолчанию

static
static
absolute right: 50px;

static

Слайд 32

Положение по умолчанию Если абсолютному элементу не задавать никаких координат, то

Положение по умолчанию

Если абсолютному элементу не задавать никаких координат, то он

привязывается левым верхним углом к той точке, где был бы, если бы был нормальным.
Если эта точка смещается — он смещается вместе с ней.
Из этой точки его можно смещать внешними отступами
(margin).
Слайд 33

Фиксированное позиционирование Похоже на абсолютное позиционирование. Отсчёт координат всегда привязан к

Фиксированное позиционирование

Похоже на абсолютное позиционирование.
Отсчёт координат всегда привязан к окну браузера.
Элемент

«прибивается» к точке экрана и не смещается даже при прокрутке.
Участвует в «наслаивании».

position:

fixed;

Слайд 34

Закреплённое позиционирование Комбинация относительного и фиксированного. Поддержка пока слабая. http://caniuse.com/#feat=css-sticky Демонстрация. http://jsfiddle.net/daker/ecpTw/light position: sticky;

Закреплённое позиционирование

Комбинация относительного и фиксированного.
Поддержка пока слабая. http://caniuse.com/#feat=css-sticky
Демонстрация. http://jsfiddle.net/daker/ecpTw/light

position:

sticky;

Слайд 35

Управление порядком слоёв z-index: 10; У кого больше индекс, тот и

Управление порядком слоёв

z-index: 10;
У кого больше индекс, тот и выше.
Выше тот,

кто дальше в коде, если индекса нет или он одинаковый.
Индекс работает только для относительных, абсолютных и фиксированных.
Слайд 36

Управление порядком слоёв … class="layer2"> class="layer3"> … … z-index: 3; z-index: 2; z-index: 1;

Управление порядком слоёв



class="layer2">

class="layer3">




z-index: 3;

z-index: 2;

z-index: 1;

Слайд 37

Управление порядком слоёв div.layer2 position: relative; z-index: 2; div.layer3 position: absolute;

Управление порядком слоёв

div.layer2 position: relative; z-index: 2;

div.layer3 position: absolute; z-index: 4;

div.layer5

position:

relative;

z-index: 1;

div.layer6 position: absolute; z-index: 3;
div.layer4

position: relative;

z-index: 6;

div.layer1
position: relative; z-index: 5;

Слайд 38

div::before { content: ""; } div::after { content: ""; } Псевдоэлементы

div::before { content: "";
}
div::after { content: "";
}

Псевдоэлементы

Слайд 39

Псевдоэлементы

Псевдоэлементы

Слайд 40

::before или :before? В стандарте псевдоэлементы используют ::, псевдоклассы :

::before или :before?

В стандарте псевдоэлементы используют ::,
псевдоклассы :

Слайд 41

Растровые спрайты

Растровые спрайты

Слайд 42

Растровые спрайты

Растровые спрайты

Слайд 43

Растровые спрайты

Растровые спрайты

Слайд 44

Нормализация стилей Если хочется нормализовать стили, то можно использовать normalize.css. http://necolas.github.io/normalize.css/

Нормализация стилей

Если хочется нормализовать стили, то можно использовать
normalize.css.
http://necolas.github.io/normalize.css/

Слайд 45

Подключение normalize.css

Подключение normalize.css

Слайд 46

Текстовая «Барбершопа» без стилей

Текстовая «Барбершопа» без стилей

Слайд 47

Текстовая с нормализацией

Текстовая с нормализацией