SlideShare a Scribd company logo
1 of 27
Download to read offline
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

More Related Content

What's hot

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

What's hot (8)

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

Viewers also liked

03 - Web-технологии. Язык разметки HTML
03 - Web-технологии. Язык разметки HTML03 - Web-технологии. Язык разметки HTML
03 - Web-технологии. Язык разметки HTMLRoman Brovko
 
12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на Java12 - Java. Разработка сетевых приложений на Java
12 - Java. Разработка сетевых приложений на JavaRoman 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-JPARoman Brovko
 
05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколы05 - Web-технологии. Сетевые протоколы
05 - Web-технологии. Сетевые протоколыRoman Brovko
 
06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTP06 - Web-технологии. Протокол HTTP
06 - Web-технологии. Протокол HTTPRoman 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. HibernateRoman Brovko
 

Viewers also liked (16)

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

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

Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4Technopark
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layoutDarkestMaster
 
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 лекция 8Technopark
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представленийVasya Petrov
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта Olga Pirozhenko
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машинRoman Dvornov
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10Technopark
 
Блоки как элементы макета сайта
Блоки как элементы макета сайтаБлоки как элементы макета сайта
Блоки как элементы макета сайтаSergei Dubrov
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressIgor Sazonov
 
Css Intro. Vlad Savitsky
Css Intro. Vlad SavitskyCss Intro. Vlad Savitsky
Css Intro. Vlad SavitskyVlad Savitsky
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Noveo
 
18. синтаксис css
18. синтаксис css18. синтаксис css
18. синтаксис cssSergei Dubrov
 
Css part2
Css part2Css part2
Css part2ISsoft
 
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
Верстка писем. Часть 2Alexander Rys
 
Верстка_Лекция2
Верстка_Лекция2Верстка_Лекция2
Верстка_Лекция2itc73
 

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

Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layout
 
Scino: Front-end [part-1]
Scino: Front-end [part-1]Scino: Front-end [part-1]
Scino: Front-end [part-1]
 
Web весна 2013 лекция 8
Web весна 2013 лекция 8Web весна 2013 лекция 8
Web весна 2013 лекция 8
 
Css_pres
Css_presCss_pres
Css_pres
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представлений
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10
 
Bootstrap 3
Bootstrap 3Bootstrap 3
Bootstrap 3
 
Блоки как элементы макета сайта
Блоки как элементы макета сайтаБлоки как элементы макета сайта
Блоки как элементы макета сайта
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Css Intro. Vlad Savitsky
Css Intro. Vlad SavitskyCss Intro. Vlad Savitsky
Css Intro. Vlad Savitsky
 
Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
 
18. синтаксис css
18. синтаксис css18. синтаксис css
18. синтаксис css
 
Css part2
Css part2Css part2
Css part2
 
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)
 
Верстка писем. Часть 2
Верстка писем. Часть 2Верстка писем. Часть 2
Верстка писем. Часть 2
 
Верстка_Лекция2
Верстка_Лекция2Верстка_Лекция2
Верстка_Лекция2
 
Css
CssCss
Css
 

More from Roman Brovko

Individual task Networking
Individual task NetworkingIndividual task Networking
Individual task NetworkingRoman Brovko
 
Networking essentials lect3
Networking essentials lect3Networking essentials lect3
Networking essentials lect3Roman Brovko
 
Gl embedded starterkit_ethernet
Gl embedded starterkit_ethernetGl embedded starterkit_ethernet
Gl embedded starterkit_ethernetRoman Brovko
 
Networking essentials lect2
Networking essentials lect2Networking essentials lect2
Networking essentials lect2Roman Brovko
 
Networking essentials lect1
Networking essentials lect1Networking essentials lect1
Networking essentials lect1Roman Brovko
 
Bare metal training_07_spi_flash
Bare metal training_07_spi_flashBare metal training_07_spi_flash
Bare metal training_07_spi_flashRoman Brovko
 
Bare metal training_06_I2C
Bare metal training_06_I2CBare metal training_06_I2C
Bare metal training_06_I2CRoman Brovko
 
Bare metal training_05_uart
Bare metal training_05_uartBare metal training_05_uart
Bare metal training_05_uartRoman 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_sensorRoman Brovko
 
Bare metal training_03_timers_pwm
Bare metal training_03_timers_pwmBare metal training_03_timers_pwm
Bare metal training_03_timers_pwmRoman 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_buttonsRoman Brovko
 
Bare metal training_01_hello_world
Bare metal training_01_hello_worldBare metal training_01_hello_world
Bare metal training_01_hello_worldRoman Brovko
 
Bare metal training_00_prerequisites
Bare metal training_00_prerequisitesBare metal training_00_prerequisites
Bare metal training_00_prerequisitesRoman Brovko
 
C language lect_23_advanced
C language lect_23_advancedC language lect_23_advanced
C language lect_23_advancedRoman Brovko
 
C language lect_22_advanced
C language lect_22_advancedC language lect_22_advanced
C language lect_22_advancedRoman Brovko
 
C language lect_21_advanced
C language lect_21_advancedC language lect_21_advanced
C language lect_21_advancedRoman Brovko
 
подготовка рабочего окружения
подготовка рабочего окруженияподготовка рабочего окружения
подготовка рабочего окруженияRoman Brovko
 
C language lect_20_advanced
C language lect_20_advancedC language lect_20_advanced
C language lect_20_advancedRoman Brovko
 
C language lect_19_basics
C language lect_19_basicsC language lect_19_basics
C language lect_19_basicsRoman Brovko
 

More from Roman Brovko (20)

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

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