SlideShare a Scribd company logo
Box model, display & position
Стажировка HTML5
Света Шарипова
Box-model
ШИРИНА
Высота
2
Задание
На codepen создайте блок с общей шириной и общей высотой по 100px,
любым заметным фоном, паддингом 10px и бордером 2px
Посмотрите box-model этого блока в инспекторе
3
Должно получиться:
.block {
width: 76px;
height: 76px;
padding: 10px;
border: 2px solid;
background: grey;
}
<div class="block"></div>
4
Box-sizing
content-box
border-box
5
Вложенные элементы занимают 100% ширины,
но padding в эту ширину не входит
.block {
width: 76px;
height: 76px;
padding: 10px;
border: 2px solid;
background: grey;
}
<div class="block">
<div class="block__element">
</div>
</div>
.block__element {
width: 100%;
height: 100%;
background: white;
}
6
Задание
Влияет ли border-box на вложенный элемент?
а) Если использовать border-box, то вложенный элемент займет всю ширину
родителя, в том числе padding
b) Если использовать border-box, то вложенный элемент займет всю ширину
родителя, но не padding
Проверьте на codepen
7
Задание
Влияет ли border-box на вложенный элемент?
а) Если использовать border-box, то вложенный элемент займет всю ширину
родителя, в том числе padding
b) Если использовать border-box, то вложенный элемент займет всю ширину
родителя, но не padding
8
В чем разница между инлайн и блочными тегами?
1. Расположение
2. Ширина
3. Пробелы
4. Margin
9
Часто используемые значения display:
none
block
inline-block
inline
table
table-cell
...
10
Display: inline-block;
1. Расположение (как у inline элемента)
2. Ширина (по дефолту как у inline, но может
быть задана любая другая, как у block)
3. Пробелы (как у inline)
4. Margin (как у block)
11
Display: inline-block - несколько элементов с разной
высотой и разным количеством контента
12
Вертикальное выравнивание по дефолту - baseline
Vertical-align фикс для inline-block:
vertical-align: bottom;
13
vertical-align: top;
vertical-align: middle;
Margin collapse блочных элементов
1. Margin collapse внутри родительского блока
(лечится добавлением padding’а, clearfix, overflow: auto родительскому
блоку)
1. Margin collapse нескольких блочных элементов, расположенных подряд
14
Margin collapse блочных элементов
body {
background: #aaa;
}
.block {
background: #f1652a;
}
.block__element {
width: 100px;
height: 100px;
margin: 20px;
border: 1px solid;
}
<div class="block">
<div class="block__element"></div>
<div class="block__element"></div>
</div>
15
Margin collapse отсутствует у inline-block
body {
background: #aaa;
}
.block {
background: #f1652a;
}
.block__element {
width: 100px;
height: 100px;
margin: 20px;
border: 1px solid;
display: inline-block;
}
<div class="block">
<div class="block__element"></div>
<div class="block__element"></div>
</div>
16
Нормальный поток (normal flow)
- то, как в браузере отображаются элементы
относительно друг друга.
По умолчанию, родительский элемент принимает высоту
своих дочерних элементов
17
Элемент выбивается из потока, если:
К нему применяется:
1. float
2. отрицательный margin (в случае
когда возможен margin collapse)
3. position: absolute; или position: fixed;
4. display: none;
18
Выбившийся из потока элемент не влияет на высоту
родителя
.block {
background: gray;
width: 200px;
padding: 30px;
}
.block__element {
width: 200px;
height: 100px;
background: #f1652a;
}
19
.block__element {
float: left;
}
В потоке:
Clearfix
Для случая с float проблему c высотой родителя можно решить,
добавив ему clearfix
20
.block::after {
content: ' ';
display: table;
clear: both;
}
Скрываем элемент:
display vs. visibility
21
.block__element {
display: none;
}
.block__element {
visibility: hidden;
}
position
static - по дефолту
relative
absolute
fixed
22
position: relative
Элемент не выбивается из потока,
но смещается относительно своего нормального положения:
23
.block__element {
position: relative;
left: 100px;
}
position: absolute
Элемент выбивается из потока.
Новое положение рассчитывается относительно окна браузера
или родительского элемента с position: relative;
24
.block__element {
position: absolute;
left: 100px;
top: 0;
}
.block {
position: relative;
}
.block {
position: static;
}
position: fixed
Элемент выбивается из потока.
Новое положение рассчитывается относительно окна браузера.
Блок остается на месте при скролле.
25
.block__element {
position: fixed;
left: 100px;
top: 0;
}
Полезные ссылки:
Clearfix:
http://nicolasgallagher.com/micro-clearfix-hack/
26

More Related Content

Viewers also liked

Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
Noveo
 
Android - 10 - Graphics
Android - 10 - GraphicsAndroid - 10 - Graphics
Android - 10 - Graphics
Noveo
 
Webinar: Разработка мобильного приложения для заучивания стихов в Delphi
Webinar: Разработка мобильного приложения для заучивания стихов в DelphiWebinar: Разработка мобильного приложения для заучивания стихов в Delphi
Webinar: Разработка мобильного приложения для заучивания стихов в Delphi
Denis Vasilyev
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)
Noveo
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
Noveo
 
Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)
Noveo
 
Android - 05 - Android basics
Android - 05 - Android basicsAndroid - 05 - Android basics
Android - 05 - Android basics
Noveo
 
Lec 10
Lec 10Lec 10
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
Noveo
 
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
Denis Vasilyev
 
Thread
ThreadThread
Canvas
CanvasCanvas
Lec 13
Lec 13Lec 13
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++
Denis Vasilyev
 
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложенийWebinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
Denis Vasilyev
 
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)Антон Звонов
 
Lec 12
Lec 12Lec 12
Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)
Noveo
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
Noveo
 

Viewers also liked (19)

Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)Push Notifications (Lecture 22 – push notifications)
Push Notifications (Lecture 22 – push notifications)
 
Android - 10 - Graphics
Android - 10 - GraphicsAndroid - 10 - Graphics
Android - 10 - Graphics
 
Webinar: Разработка мобильного приложения для заучивания стихов в Delphi
Webinar: Разработка мобильного приложения для заучивания стихов в DelphiWebinar: Разработка мобильного приложения для заучивания стихов в Delphi
Webinar: Разработка мобильного приложения для заучивания стихов в Delphi
 
Database (Lecture 14 – database)
Database (Lecture 14 – database)Database (Lecture 14 – database)
Database (Lecture 14 – database)
 
Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)Стилизация текста (HTML5 тема 05 - стилизация текста)
Стилизация текста (HTML5 тема 05 - стилизация текста)
 
Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)Работа с графической подсистемой (Lecture 10 – Graphics)
Работа с графической подсистемой (Lecture 10 – Graphics)
 
Android - 05 - Android basics
Android - 05 - Android basicsAndroid - 05 - Android basics
Android - 05 - Android basics
 
Lec 10
Lec 10Lec 10
Lec 10
 
Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)Работа с соцсетями (Lecture 19 – social)
Работа с соцсетями (Lecture 19 – social)
 
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
Webinar: Использование UWP/WinRT Contracts и Notification в Windows 10
 
Thread
ThreadThread
Thread
 
Canvas
CanvasCanvas
Canvas
 
Lec 13
Lec 13Lec 13
Lec 13
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++
 
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложенийWebinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
Webinar: Возможности RAD Studio 10 Seattle для разработки Windows 10 приложений
 
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
DIOR-DNA, Anton Zvonov, Part 1, Activities (жизненный цикл)
 
Lec 12
Lec 12Lec 12
Lec 12
 
Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)Системы автоматизированной сборки (Lecture 05 – gradle)
Системы автоматизированной сборки (Lecture 05 – gradle)
 
Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)Toolbar (Lecture 16 – toolbar)
Toolbar (Lecture 16 – toolbar)
 

Similar to Box model, display and position (HTML5 тема 07 - box model, display position)

Сетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостаткиСетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостатки
UXkontur
 
Сетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостаткиСетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостатки
Vasiliy Aksyonov
 
Сетки для всего или как использовать чужие недостатки (Василий Аксенов)
Сетки для всего или как использовать чужие недостатки (Василий Аксенов)Сетки для всего или как использовать чужие недостатки (Василий Аксенов)
Сетки для всего или как использовать чужие недостатки (Василий Аксенов)Ontico
 
04 - Web-технологии. CSS - язык описания стилей
04 - Web-технологии. CSS - язык описания стилей04 - Web-технологии. CSS - язык описания стилей
04 - Web-технологии. CSS - язык описания стилей
Roman Brovko
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
Olga Pirozhenko
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layoutDarkestMaster
 
Михаил Черномордиков Ie9
Михаил Черномордиков   Ie9Михаил Черномордиков   Ie9
Михаил Черномордиков Ie9Siel01
 
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
DataArt
 
004 divs&amp;spans (presentation)
004 divs&amp;spans (presentation)004 divs&amp;spans (presentation)
004 divs&amp;spans (presentation)
sivorka
 
МАПО Лаба №1
МАПО Лаба №1МАПО Лаба №1
МАПО Лаба №1
Олег Гудаев
 
Принципы разработки гибких и поддерживаемых интерфейсов
Принципы разработки гибких и поддерживаемых интерфейсовПринципы разработки гибких и поддерживаемых интерфейсов
Принципы разработки гибких и поддерживаемых интерфейсовVasiliy Aksyonov
 
DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...
DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...
DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...it-people
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4Technopark
 
Лекция 4 Client-side
Лекция 4 Client-sideЛекция 4 Client-side
Лекция 4 Client-side
Technosphere1
 
презентация 6
презентация 6презентация 6
презентация 6
Rusov1
 
Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"
Yandex
 
Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...
Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...
Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...Ontico
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»Yandex
 

Similar to Box model, display and position (HTML5 тема 07 - box model, display position) (20)

Сетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостаткиСетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостатки
 
Сетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостаткиСетки для всего или как использовать чужие недостатки
Сетки для всего или как использовать чужие недостатки
 
Сетки для всего или как использовать чужие недостатки (Василий Аксенов)
Сетки для всего или как использовать чужие недостатки (Василий Аксенов)Сетки для всего или как использовать чужие недостатки (Василий Аксенов)
Сетки для всего или как использовать чужие недостатки (Василий Аксенов)
 
04 - Web-технологии. CSS - язык описания стилей
04 - Web-технологии. CSS - язык описания стилей04 - Web-технологии. CSS - язык описания стилей
04 - Web-технологии. CSS - язык описания стилей
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layout
 
Михаил Черномордиков Ie9
Михаил Черномордиков   Ie9Михаил Черномордиков   Ie9
Михаил Черномордиков Ie9
 
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
 
004 divs&amp;spans (presentation)
004 divs&amp;spans (presentation)004 divs&amp;spans (presentation)
004 divs&amp;spans (presentation)
 
МАПО Лаба №1
МАПО Лаба №1МАПО Лаба №1
МАПО Лаба №1
 
Принципы разработки гибких и поддерживаемых интерфейсов
Принципы разработки гибких и поддерживаемых интерфейсовПринципы разработки гибких и поддерживаемых интерфейсов
Принципы разработки гибких и поддерживаемых интерфейсов
 
DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...
DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...
DUMP-2013 Frontend - Принципы разработки поддерживаемых и гибких интерфейсов ...
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
 
Лекция 4 Client-side
Лекция 4 Client-sideЛекция 4 Client-side
Лекция 4 Client-side
 
презентация 6
презентация 6презентация 6
презентация 6
 
Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"Владимир Гриненко "Инструменты фронтенд-разработчика"
Владимир Гриненко "Инструменты фронтенд-разработчика"
 
Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...
Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...
Принципы разработки поддерживаемых и гибких интерфейсов / Василий Аксёнов (Ян...
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»Владимир Варанкин — «БЭМ»
Владимир Варанкин — «БЭМ»
 

More from Noveo

Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Noveo
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
Noveo
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)
Noveo
 
Yii2
Yii2Yii2
Yii2
Noveo
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизация
Noveo
 
Rest
RestRest
Rest
Noveo
 
PHP basic
PHP basicPHP basic
PHP basic
Noveo
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP Advanced
Noveo
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
Noveo
 
MySQL
MySQLMySQL
MySQL
Noveo
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
Noveo
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)
Noveo
 
Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)
Noveo
 
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Noveo
 
XML, JSON (Lecture 11 – XML, JSON)
XML, JSON (Lecture 11 – XML, JSON)XML, JSON (Lecture 11 – XML, JSON)
XML, JSON (Lecture 11 – XML, JSON)
Noveo
 
Android - 16 - QR
Android - 16 - QRAndroid - 16 - QR
Android - 16 - QR
Noveo
 
03 коллекции
03   коллекции03   коллекции
03 коллекции
Noveo
 

More from Noveo (17)

Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
Ссылки, списки и меню (HTML5 тема 06 - ссылки, списки и меню)
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
 
Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)Структура HTML документа (HTML5 тема 01 - структура html документа)
Структура HTML документа (HTML5 тема 01 - структура html документа)
 
Yii2
Yii2Yii2
Yii2
 
Сессии и авторизация
Сессии и авторизацияСессии и авторизация
Сессии и авторизация
 
Rest
RestRest
Rest
 
PHP basic
PHP basicPHP basic
PHP basic
 
PHP Advanced
PHP AdvancedPHP Advanced
PHP Advanced
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
MySQL
MySQLMySQL
MySQL
 
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
 
Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)Работа с геоданными (Lecture 18 – geolocation)
Работа с геоданными (Lecture 18 – geolocation)
 
Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)Material Design (Lecture 15 – material design)
Material Design (Lecture 15 – material design)
 
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
Многопоточность, работа с сетью (Lecture 12 – multithreading, network)
 
XML, JSON (Lecture 11 – XML, JSON)
XML, JSON (Lecture 11 – XML, JSON)XML, JSON (Lecture 11 – XML, JSON)
XML, JSON (Lecture 11 – XML, JSON)
 
Android - 16 - QR
Android - 16 - QRAndroid - 16 - QR
Android - 16 - QR
 
03 коллекции
03   коллекции03   коллекции
03 коллекции
 

Box model, display and position (HTML5 тема 07 - box model, display position)

  • 1. Box model, display & position Стажировка HTML5 Света Шарипова
  • 3. Задание На codepen создайте блок с общей шириной и общей высотой по 100px, любым заметным фоном, паддингом 10px и бордером 2px Посмотрите box-model этого блока в инспекторе 3
  • 4. Должно получиться: .block { width: 76px; height: 76px; padding: 10px; border: 2px solid; background: grey; } <div class="block"></div> 4
  • 6. Вложенные элементы занимают 100% ширины, но padding в эту ширину не входит .block { width: 76px; height: 76px; padding: 10px; border: 2px solid; background: grey; } <div class="block"> <div class="block__element"> </div> </div> .block__element { width: 100%; height: 100%; background: white; } 6
  • 7. Задание Влияет ли border-box на вложенный элемент? а) Если использовать border-box, то вложенный элемент займет всю ширину родителя, в том числе padding b) Если использовать border-box, то вложенный элемент займет всю ширину родителя, но не padding Проверьте на codepen 7
  • 8. Задание Влияет ли border-box на вложенный элемент? а) Если использовать border-box, то вложенный элемент займет всю ширину родителя, в том числе padding b) Если использовать border-box, то вложенный элемент займет всю ширину родителя, но не padding 8
  • 9. В чем разница между инлайн и блочными тегами? 1. Расположение 2. Ширина 3. Пробелы 4. Margin 9
  • 10. Часто используемые значения display: none block inline-block inline table table-cell ... 10
  • 11. Display: inline-block; 1. Расположение (как у inline элемента) 2. Ширина (по дефолту как у inline, но может быть задана любая другая, как у block) 3. Пробелы (как у inline) 4. Margin (как у block) 11
  • 12. Display: inline-block - несколько элементов с разной высотой и разным количеством контента 12 Вертикальное выравнивание по дефолту - baseline
  • 13. Vertical-align фикс для inline-block: vertical-align: bottom; 13 vertical-align: top; vertical-align: middle;
  • 14. Margin collapse блочных элементов 1. Margin collapse внутри родительского блока (лечится добавлением padding’а, clearfix, overflow: auto родительскому блоку) 1. Margin collapse нескольких блочных элементов, расположенных подряд 14
  • 15. Margin collapse блочных элементов body { background: #aaa; } .block { background: #f1652a; } .block__element { width: 100px; height: 100px; margin: 20px; border: 1px solid; } <div class="block"> <div class="block__element"></div> <div class="block__element"></div> </div> 15
  • 16. Margin collapse отсутствует у inline-block body { background: #aaa; } .block { background: #f1652a; } .block__element { width: 100px; height: 100px; margin: 20px; border: 1px solid; display: inline-block; } <div class="block"> <div class="block__element"></div> <div class="block__element"></div> </div> 16
  • 17. Нормальный поток (normal flow) - то, как в браузере отображаются элементы относительно друг друга. По умолчанию, родительский элемент принимает высоту своих дочерних элементов 17
  • 18. Элемент выбивается из потока, если: К нему применяется: 1. float 2. отрицательный margin (в случае когда возможен margin collapse) 3. position: absolute; или position: fixed; 4. display: none; 18
  • 19. Выбившийся из потока элемент не влияет на высоту родителя .block { background: gray; width: 200px; padding: 30px; } .block__element { width: 200px; height: 100px; background: #f1652a; } 19 .block__element { float: left; } В потоке:
  • 20. Clearfix Для случая с float проблему c высотой родителя можно решить, добавив ему clearfix 20 .block::after { content: ' '; display: table; clear: both; }
  • 21. Скрываем элемент: display vs. visibility 21 .block__element { display: none; } .block__element { visibility: hidden; }
  • 22. position static - по дефолту relative absolute fixed 22
  • 23. position: relative Элемент не выбивается из потока, но смещается относительно своего нормального положения: 23 .block__element { position: relative; left: 100px; }
  • 24. position: absolute Элемент выбивается из потока. Новое положение рассчитывается относительно окна браузера или родительского элемента с position: relative; 24 .block__element { position: absolute; left: 100px; top: 0; } .block { position: relative; } .block { position: static; }
  • 25. position: fixed Элемент выбивается из потока. Новое положение рассчитывается относительно окна браузера. Блок остается на месте при скролле. 25 .block__element { position: fixed; left: 100px; top: 0; }