SlideShare a Scribd company logo
CSS
Как задать оформление страницы ?
HTML, в отличие от XML, обладает семантикой, т.е. браузер знает
как отображать тот или иной HTML тэг. В HTML есть тэги для
управления внешним видом ( color , font , big , ...), но их
возможности явно недостаточны.
Решение - описывать внешний вид отдельно от структуры
документа c помощью языка Cascading Style Sheets.
2
Синтаксис CSS
.mid-play {
padding:13px 0px 0px 13px;
}
p.inner-play a {
color:#3c3c3c;
text-decoration: underline;
}
.big-top {
background-image: url(/img/pc/220_130_top.gif);
}
/* комментарии: cелектор { имя_стиля1: значение1; } */
3
Где могут быть заданы стили?
•   Встроенные в браузер стили
•   Во внешнем файле
<link rel="stylesheet" href="style.css">
•   В коде HTML документа
<style>...</style>
•   Стили могут быть привязаны к конкретному тэгу
<img style="margin: 3px" src="...">
4
Какие бывают стили ?
•   width , height ― размеры элемента
•   margin , padding ― границы и отступы
•   display , visibility ― режим отображения
•   top , left , right , bottom ― расположение
•   background ― фон элемента
•   font ― управление шрифтом
•   text-align ― выравнивание текста
5
CSS селекторы
Классы и идентификаторы
<div id="userpic"><img src="..."></div>
<button class="btn btn-main">Одобрить</div>
<button class="btn">Написать комментарий</div>
•   id - идентификатор элемента, должен быть уникален на странице
•   class - список классов элемента, классы могут повторяться
7
Базовые селекторы
•   Универсальный селектор
* { margin: 0px; padding: 0px; border: 0px; }
•   Имена тэгов
p { margin-top: 10px; }
•   Имена классов (с точки)
.btn { border: solid 1px gray; }
•   id тэгов (с решетки)
#userpic { padding: 10px }
8
Сложные селекторы
•   контекстные (вложенные)
div.article a { text-decoration: underline }
•   дочерние (вложенность = 1 уровень)
a > img { border: 2px }
•   соседние
h2.sic + p { margin-left: 30px }
•   группировка
h1, h2 { color: red }
9
Псевдоклассы
•   a:visited ― посещенная ссылка
•   a:link ― непосещенная ссылка
•   div:hover ― элемент при наведении мыши
•   input:focus ― элемент при получении фокуса
•   li:first-child ― выбирает первого потомка среди множества
элементов
10
Псевдоэлементы
•   #el:after ― виртуальный элемент сразу после #el
•   #el:before ― виртуальный элемент непосредственно перед #el
.jack-sparrow:before {
content: "Captain ";
display: inline;
}
11
Наследование и
приоритеты
Наследование стилей
<head>
<style>
body { color: darkgray; font-family: Arial; }
p { font-size: 110% }
</style>
</head>
<body>
<p> Привет, <a href=”/”>Мир</a> </p>
</body>
Не все стили наследуются.
13
Приоритеты стилей
В случае, если два разных стиля конфликтуют между собой,
применяется тот, что обладает большей специфичностью. Если
специфичность двух стилей совпадает, применяется тот, что
расположен ниже в HTML/CSS коде.
Указание в значение стиля флага !important позволяет
перекрыть проверку специфичности.
14
Правила расчета специфичности
•   id – 100
•   классы и псевдоклассы – 10
•   тэги и псевдоэлементы – 1
Так, например, селектор ul.info ol + li обладает
специфичностью 13, а селектор li.red.level специфичностью
21 балл
15
Отображение
элементов
Режимы отображения элементов
•   display: none ― элемент невидим, не занимает места
•   display: block ― элемент занимает максимальную ширину,
начинается с новой строки, учитывает width, height
•   display: inline ― элемент занимает минимальную ширину, и
не прерывает строку, игнорирует width, height
•   display: inline-block ― блочный элемент, но не разрывает
строку, примерно как img
17
<div class="t">ONE</div>
<div class="t">2</div>
<span class="t">ONE</span>
<span class="t">2</span>
<style>
.t {
width: 150px; height: 100px;
background: red; color: white;
margin: 30px; padding: 4px;
}
</style>
ONE
2
ONE 2
DIV vs. SPAN
18
float & clear
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Proin tempor iaculis massa. Fusce sollicitudin purus
viverra erat sollicitudin placerat sit amet ut diam.
Vivamus malesuada tristique elit. Proin nec eros tempor.
float: left - всплывание влево, float: right - всплывание
вправо, clear: both - отменяет всплывание, «проводит черту»
19
<div class="outer">
<div class="sqr fl"></div> ...
<div class="clr"></div>
<div class="sqr fr"></div> ...
</div>
<style>
.outer { float: left; width:300px }
.sqr { width: 70px; height: 70px }
.fl { float: left; }
.fr { float: right; }
.clr { clear: both; }
</style>
float & clear
20
Позиционирование
•   position: static ― обычное расположение
•   position: relative ― смещение относительно начального
местоположения на странице
•   position: absolute ― если родитель relative, absolute или fixed
– относительно родителя, иначе - относительно начала документа
•   position: fixed ― относительно окна браузера
•   top/right/bottom/left - отступы, могут быть отрицательными
21
Отступы и box-
model
Способы задания отступов:
margin: 10px;
margin: 10px 5px;
margin: 1px 2px 3px 4px;
margin-left: 10px;
Варианты box-sizing:
•   content-box (default)
•   border-box
Отступы
23
Bootstrap
Что такое Bootstrap?
Bootstrap - это готовая библиотека стилей (CSS-фреймворк) от
Twitter. Bootstrap позволяет быстро разработать приемлемый
дизайн даже при базовых знаниях CSS.
25
Что включает в себя Bootstrap?
•   Шаблон страниц
•   Сетка
•   Современные «стили по умолчанию»
•   Верстка: таблицы, формы, списки, кнопки, …
•   Компоненты: навигация, меню, пагинатор, …
•   JavaScript плагины
26
Сетка Bootstrap
<div class="row">
<div class="col-md-4 col-lg-2">LEFT</div>
<div class="col-md-8 col-lg-10">CONTENT</div>
</div>
27
Ad

More Related Content

What's hot (8)

Как создать сайт
Как создать сайтКак создать сайт
Как создать сайт
United Design
 
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
Yandex
 
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
DataArt
 
Арсений Форштретер: CSS-селекторы
Арсений Форштретер: CSS-селекторыАрсений Форштретер: CSS-селекторы
Арсений Форштретер: CSS-селекторы
Yandex
 
Tequila - язык для продвинутой генерации JSON
Tequila - язык для продвинутой генерации JSONTequila - язык для продвинутой генерации JSON
Tequila - язык для продвинутой генерации JSON
Ivan Nemytchenko
 
Web весна 2012 лекция 10
Web весна 2012 лекция 10Web весна 2012 лекция 10
Web весна 2012 лекция 10
Technopark
 
CSSO — минимизируем CSS
 CSSO — минимизируем CSS CSSO — минимизируем CSS
CSSO — минимизируем CSS
Roman Dvornov
 
Лекция 10. Основы CSS.
Лекция 10. Основы CSS.Лекция 10. Основы CSS.
Лекция 10. Основы CSS.
Alexey Furmanov
 
Как создать сайт
Как создать сайтКак создать сайт
Как создать сайт
United Design
 
Артем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTMLАртем Кувалдин: Основы HTML
Артем Кувалдин: Основы HTML
Yandex
 
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.Артем Маркушев — HTML и CSS по кирпичикам. Детали.
Артем Маркушев — HTML и CSS по кирпичикам. Детали.
DataArt
 
Арсений Форштретер: CSS-селекторы
Арсений Форштретер: CSS-селекторыАрсений Форштретер: CSS-селекторы
Арсений Форштретер: CSS-селекторы
Yandex
 
Tequila - язык для продвинутой генерации JSON
Tequila - язык для продвинутой генерации JSONTequila - язык для продвинутой генерации JSON
Tequila - язык для продвинутой генерации JSON
Ivan Nemytchenko
 
Web весна 2012 лекция 10
Web весна 2012 лекция 10Web весна 2012 лекция 10
Web весна 2012 лекция 10
Technopark
 
CSSO — минимизируем CSS
 CSSO — минимизируем CSS CSSO — минимизируем CSS
CSSO — минимизируем CSS
Roman Dvornov
 
Лекция 10. Основы CSS.
Лекция 10. Основы CSS.Лекция 10. Основы CSS.
Лекция 10. Основы CSS.
Alexey Furmanov
 

Viewers also liked (16)

03 - Web-технологии. Язык разметки HTML
03 - Web-технологии. Язык разметки HTML03 - Web-технологии. Язык разметки HTML
03 - Web-технологии. Язык разметки HTML
Roman Brovko
 
12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на Java12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на Java
Roman Brovko
 
09 - Java. Тестирование Java-программ
09 - Java. Тестирование Java-программ09 - Java. Тестирование Java-программ
09 - Java. Тестирование Java-программ
Roman Brovko
 
10 - Java. Многопоточность в Java: основы
10 - Java. Многопоточность в Java: основы10 - Java. Многопоточность в Java: основы
10 - Java. Многопоточность в Java: основы
Roman Brovko
 
11 - Java. Многопоточность в Java: средства стандартной библиотеки
11 - Java. Многопоточность в Java:  средства стандартной библиотеки11 - Java. Многопоточность в Java:  средства стандартной библиотеки
11 - Java. Многопоточность в Java: средства стандартной библиотеки
Roman Brovko
 
13 - Web-технологии. Отображение данных
13 - Web-технологии. Отображение данных13 - Web-технологии. Отображение данных
13 - Web-технологии. Отображение данных
Roman Brovko
 
14 - Web-технологии. Обработка форм
14 - Web-технологии. Обработка форм14 - Web-технологии. Обработка форм
14 - Web-технологии. Обработка форм
Roman Brovko
 
15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация
Roman Brovko
 
04-Hibernate. Создание проекта
04-Hibernate. Создание проекта04-Hibernate. Создание проекта
04-Hibernate. Создание проекта
Roman Brovko
 
03-Hibernate. Документация
03-Hibernate. Документация03-Hibernate. Документация
03-Hibernate. Документация
Roman Brovko
 
01-Hibernate. Понятие ORM-JPA
01-Hibernate. Понятие ORM-JPA01-Hibernate. Понятие ORM-JPA
01-Hibernate. Понятие ORM-JPA
Roman Brovko
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы
Roman Brovko
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
Roman Brovko
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений
Roman Brovko
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты
Roman Brovko
 
02-Hibernate. Hibernate
02-Hibernate. Hibernate02-Hibernate. Hibernate
02-Hibernate. Hibernate
Roman Brovko
 
03 - Web-технологии. Язык разметки HTML
03 - Web-технологии. Язык разметки HTML03 - Web-технологии. Язык разметки HTML
03 - Web-технологии. Язык разметки HTML
Roman Brovko
 
12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на Java12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на Java
Roman Brovko
 
09 - Java. Тестирование Java-программ
09 - Java. Тестирование Java-программ09 - Java. Тестирование Java-программ
09 - Java. Тестирование Java-программ
Roman Brovko
 
10 - Java. Многопоточность в Java: основы
10 - Java. Многопоточность в Java: основы10 - Java. Многопоточность в Java: основы
10 - Java. Многопоточность в Java: основы
Roman Brovko
 
11 - Java. Многопоточность в Java: средства стандартной библиотеки
11 - Java. Многопоточность в Java:  средства стандартной библиотеки11 - Java. Многопоточность в Java:  средства стандартной библиотеки
11 - Java. Многопоточность в Java: средства стандартной библиотеки
Roman Brovko
 
13 - Web-технологии. Отображение данных
13 - Web-технологии. Отображение данных13 - Web-технологии. Отображение данных
13 - Web-технологии. Отображение данных
Roman Brovko
 
14 - Web-технологии. Обработка форм
14 - Web-технологии. Обработка форм14 - Web-технологии. Обработка форм
14 - Web-технологии. Обработка форм
Roman Brovko
 
15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация
Roman Brovko
 
04-Hibernate. Создание проекта
04-Hibernate. Создание проекта04-Hibernate. Создание проекта
04-Hibernate. Создание проекта
Roman Brovko
 
03-Hibernate. Документация
03-Hibernate. Документация03-Hibernate. Документация
03-Hibernate. Документация
Roman Brovko
 
01-Hibernate. Понятие ORM-JPA
01-Hibernate. Понятие ORM-JPA01-Hibernate. Понятие ORM-JPA
01-Hibernate. Понятие ORM-JPA
Roman Brovko
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы
Roman Brovko
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP
Roman Brovko
 
01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений01 - Web-технологии. Архитектура Web приложений
01 - Web-технологии. Архитектура Web приложений
Roman Brovko
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты
Roman Brovko
 
02-Hibernate. Hibernate
02-Hibernate. Hibernate02-Hibernate. Hibernate
02-Hibernate. Hibernate
Roman Brovko
 
Ad

Similar to 04 - Web-технологии. CSS - язык описания стилей (20)

Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
Technopark
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layout
DarkestMaster
 
Scino: Front-end [part-1]
Scino: Front-end [part-1]Scino: Front-end [part-1]
Scino: Front-end [part-1]
SCINO
 
Web весна 2013 лекция 8
Web весна 2013 лекция 8Web весна 2013 лекция 8
Web весна 2013 лекция 8
Technopark
 
Css_pres
Css_presCss_pres
Css_pres
Eugin Baulin
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представлений
Vasya Petrov
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
Olga Pirozhenko
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
Roman Dvornov
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10
Technopark
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
The NGO Development Center
 
Блоки как элементы макета сайта
Блоки как элементы макета сайтаБлоки как элементы макета сайта
Блоки как элементы макета сайта
Sergei Dubrov
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
 
Css Intro. Vlad Savitsky
Css Intro. Vlad SavitskyCss Intro. Vlad Savitsky
Css Intro. Vlad Savitsky
Vlad Savitsky
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
Noveo
 
18. синтаксис css
18. синтаксис css18. синтаксис css
18. синтаксис css
Sergei Dubrov
 
Css part2
Css part2Css part2
Css part2
ISsoft
 
Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)
Noveo
 
Верстка писем. Часть 2
Верстка писем. Часть 2Верстка писем. Часть 2
Верстка писем. Часть 2
Alexander Rys
 
Верстка_Лекция2
Верстка_Лекция2Верстка_Лекция2
Верстка_Лекция2
itc73
 
Css
CssCss
Css
Andrey Dolinin
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
Technopark
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layout
DarkestMaster
 
Scino: Front-end [part-1]
Scino: Front-end [part-1]Scino: Front-end [part-1]
Scino: Front-end [part-1]
SCINO
 
Web весна 2013 лекция 8
Web весна 2013 лекция 8Web весна 2013 лекция 8
Web весна 2013 лекция 8
Technopark
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представлений
Vasya Petrov
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
Olga Pirozhenko
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
Roman Dvornov
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10
Technopark
 
Блоки как элементы макета сайта
Блоки как элементы макета сайтаБлоки как элементы макета сайта
Блоки как элементы макета сайта
Sergei Dubrov
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
Igor Sazonov
 
Css Intro. Vlad Savitsky
Css Intro. Vlad SavitskyCss Intro. Vlad Savitsky
Css Intro. Vlad Savitsky
Vlad Savitsky
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
Noveo
 
18. синтаксис css
18. синтаксис css18. синтаксис css
18. синтаксис css
Sergei Dubrov
 
Css part2
Css part2Css part2
Css part2
ISsoft
 
Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)Box model, display and position (HTML5 тема 07 - box model, display position)
Box model, display and position (HTML5 тема 07 - box model, display position)
Noveo
 
Верстка писем. Часть 2
Верстка писем. Часть 2Верстка писем. Часть 2
Верстка писем. Часть 2
Alexander Rys
 
Верстка_Лекция2
Верстка_Лекция2Верстка_Лекция2
Верстка_Лекция2
itc73
 
Ad

More from Roman Brovko (20)

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
Roman Brovko
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
Roman Brovko
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
Roman Brovko
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
Roman Brovko
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
Roman Brovko
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
Roman Brovko
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
Roman Brovko
 
Glesk worshop
Glesk worshopGlesk worshop
Glesk worshop
Roman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
Roman Brovko
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
Roman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
Roman Brovko
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
Roman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
Roman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
Roman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
Roman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
Roman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
Roman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
Roman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
Roman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
Roman Brovko
 
Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task Networking
Roman Brovko
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3
Roman Brovko
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernet
Roman Brovko
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2
Roman Brovko
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1
Roman Brovko
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flash
Roman Brovko
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2C
Roman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uart
Roman Brovko
 
Bare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensorBare metal training_04_adc_temp_sensor
Bare metal training_04_adc_temp_sensor
Roman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwm
Roman Brovko
 
Bare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttonsBare metal training_02_le_ds_and_buttons
Bare metal training_02_le_ds_and_buttons
Roman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_world
Roman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisites
Roman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advanced
Roman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advanced
Roman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advanced
Roman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окружения
Roman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advanced
Roman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basics
Roman Brovko
 

04 - Web-технологии. CSS - язык описания стилей

  • 1. CSS
  • 2. Как задать оформление страницы ? HTML, в отличие от XML, обладает семантикой, т.е. браузер знает как отображать тот или иной HTML тэг. В HTML есть тэги для управления внешним видом ( color , font , big , ...), но их возможности явно недостаточны. Решение - описывать внешний вид отдельно от структуры документа c помощью языка Cascading Style Sheets. 2
  • 3. Синтаксис CSS .mid-play { padding:13px 0px 0px 13px; } p.inner-play a { color:#3c3c3c; text-decoration: underline; } .big-top { background-image: url(/img/pc/220_130_top.gif); } /* комментарии: cелектор { имя_стиля1: значение1; } */ 3
  • 4. Где могут быть заданы стили? •   Встроенные в браузер стили •   Во внешнем файле <link rel="stylesheet" href="style.css"> •   В коде HTML документа <style>...</style> •   Стили могут быть привязаны к конкретному тэгу <img style="margin: 3px" src="..."> 4
  • 5. Какие бывают стили ? •   width , height ― размеры элемента •   margin , padding ― границы и отступы •   display , visibility ― режим отображения •   top , left , right , bottom ― расположение •   background ― фон элемента •   font ― управление шрифтом •   text-align ― выравнивание текста 5
  • 7. Классы и идентификаторы <div id="userpic"><img src="..."></div> <button class="btn btn-main">Одобрить</div> <button class="btn">Написать комментарий</div> •   id - идентификатор элемента, должен быть уникален на странице •   class - список классов элемента, классы могут повторяться 7
  • 8. Базовые селекторы •   Универсальный селектор * { margin: 0px; padding: 0px; border: 0px; } •   Имена тэгов p { margin-top: 10px; } •   Имена классов (с точки) .btn { border: solid 1px gray; } •   id тэгов (с решетки) #userpic { padding: 10px } 8
  • 9. Сложные селекторы •   контекстные (вложенные) div.article a { text-decoration: underline } •   дочерние (вложенность = 1 уровень) a > img { border: 2px } •   соседние h2.sic + p { margin-left: 30px } •   группировка h1, h2 { color: red } 9
  • 10. Псевдоклассы •   a:visited ― посещенная ссылка •   a:link ― непосещенная ссылка •   div:hover ― элемент при наведении мыши •   input:focus ― элемент при получении фокуса •   li:first-child ― выбирает первого потомка среди множества элементов 10
  • 11. Псевдоэлементы •   #el:after ― виртуальный элемент сразу после #el •   #el:before ― виртуальный элемент непосредственно перед #el .jack-sparrow:before { content: "Captain "; display: inline; } 11
  • 13. Наследование стилей <head> <style> body { color: darkgray; font-family: Arial; } p { font-size: 110% } </style> </head> <body> <p> Привет, <a href=”/”>Мир</a> </p> </body> Не все стили наследуются. 13
  • 14. Приоритеты стилей В случае, если два разных стиля конфликтуют между собой, применяется тот, что обладает большей специфичностью. Если специфичность двух стилей совпадает, применяется тот, что расположен ниже в HTML/CSS коде. Указание в значение стиля флага !important позволяет перекрыть проверку специфичности. 14
  • 15. Правила расчета специфичности •   id – 100 •   классы и псевдоклассы – 10 •   тэги и псевдоэлементы – 1 Так, например, селектор ul.info ol + li обладает специфичностью 13, а селектор li.red.level специфичностью 21 балл 15
  • 17. Режимы отображения элементов •   display: none ― элемент невидим, не занимает места •   display: block ― элемент занимает максимальную ширину, начинается с новой строки, учитывает width, height •   display: inline ― элемент занимает минимальную ширину, и не прерывает строку, игнорирует width, height •   display: inline-block ― блочный элемент, но не разрывает строку, примерно как img 17
  • 18. <div class="t">ONE</div> <div class="t">2</div> <span class="t">ONE</span> <span class="t">2</span> <style> .t { width: 150px; height: 100px; background: red; color: white; margin: 30px; padding: 4px; } </style> ONE 2 ONE 2 DIV vs. SPAN 18
  • 19. float & clear Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tempor iaculis massa. Fusce sollicitudin purus viverra erat sollicitudin placerat sit amet ut diam. Vivamus malesuada tristique elit. Proin nec eros tempor. float: left - всплывание влево, float: right - всплывание вправо, clear: both - отменяет всплывание, «проводит черту» 19
  • 20. <div class="outer"> <div class="sqr fl"></div> ... <div class="clr"></div> <div class="sqr fr"></div> ... </div> <style> .outer { float: left; width:300px } .sqr { width: 70px; height: 70px } .fl { float: left; } .fr { float: right; } .clr { clear: both; } </style> float & clear 20
  • 21. Позиционирование •   position: static ― обычное расположение •   position: relative ― смещение относительно начального местоположения на странице •   position: absolute ― если родитель relative, absolute или fixed – относительно родителя, иначе - относительно начала документа •   position: fixed ― относительно окна браузера •   top/right/bottom/left - отступы, могут быть отрицательными 21
  • 23. Способы задания отступов: margin: 10px; margin: 10px 5px; margin: 1px 2px 3px 4px; margin-left: 10px; Варианты box-sizing: •   content-box (default) •   border-box Отступы 23
  • 25. Что такое Bootstrap? Bootstrap - это готовая библиотека стилей (CSS-фреймворк) от Twitter. Bootstrap позволяет быстро разработать приемлемый дизайн даже при базовых знаниях CSS. 25
  • 26. Что включает в себя Bootstrap? •   Шаблон страниц •   Сетка •   Современные «стили по умолчанию» •   Верстка: таблицы, формы, списки, кнопки, … •   Компоненты: навигация, меню, пагинатор, … •   JavaScript плагины 26
  • 27. Сетка Bootstrap <div class="row"> <div class="col-md-4 col-lg-2">LEFT</div> <div class="col-md-8 col-lg-10">CONTENT</div> </div> 27
  翻译: