SlideShare ist ein Scribd-Unternehmen logo
1 von 69
HTML & CSS
По кирпичикам
Докладчик: Артем Маркушев
Дата: 6 июля 2015 года
<div class="wide_column_wrap">
<div class="wide_column" id="wide_column">
<div class="page_block" id="">
<div id="page_info_wrap" class="page_info_wrap">
<div class="page_top">
<div class="profile_online">
<div id="profile_online_lv" style="display:
none;">Online<b class="mob_onl profile_mob_onl unshown"
id="profile_mobile_online" onmouseover="mobileOnlineTip(this,
{mid: cur.oid, right: 1})" onclick="mobilePromo(); "></b></div>
<div id="profile_time_lv"></div>
</div>
<div class="page_name">Павел Дуров<a href="/verify"
class="page_verified" onmouseover="pageVerifiedTip(this, {mid:
1})"></a></div>
<div class="page_current_info" id="page_current_info">
<span class="current_text">
&#36947;&#24503;&#32147;
</span>
</div>
</div>
...
А вот так сайт выглядит на самом деле
HTML
HyperText Markup
Language
Структура документа
Ответ на вопрос «Что?»
HTML
Структура декларативного языка
<html>
<head>
<title>Hello, World</title>
</head>
<body>
…
</body>
</html>
HTML
Структура декларативного языка
<body>
Это тег.
Тег – это контейнер.
HTML
Структура декларативного языка
<p>I’m a
paragraph</p>
Это контент тега.
HTML
Структура декларативного языка
<div>
<img src=“image.png” />
</div>
А это тег в виде контента другого
тега.
HTML
Структура декларативного языка
<a href="#target">…</a>
У тегов есть атрибуты.
Атрибуты задают параметры.
DOM
Document Object Model
Интерпретация HTML
браузером
Ответ на вопрос «Что происходит?»
HTML
Интерпретация браузером
HTML
Интерпретация браузером
WebKit Gecko EdgeHTML
ранее - Trident
Blink
ранее
Chrome – WebKit
Opera - Presto
CSS
Cascading Style Sheets
Вид документа
Ответ на вопрос «Как (выглядит)?»
CSS
Структура декларативного языка
body {
width: 100%;
height: auto;
background-color: #42535b;
}
CSS
Структура декларативного языка
body {
width: 100%;
}
Это селектор.
CSS
Структура декларативного языка
body {
width: 100%;
}
Это свойство.
CSS
Структура декларативного языка
body {
width: 100%;
}
Это значение свойства.
CSS
Типы селекторов
body
Селектор тега.
Просто название.
CSS
Типы селекторов
.active
Селектор класса.
Точка перед именем.
<li class="active">…
CSS
Типы селекторов
#unique
Селектор ID.
Решетка перед именем.
<div id="unique">…
#id { … }
Используйте как можно реже
А лучше вообще никогда
CSS
Типы селекторов
[href]
Селектор атрибута.
Внутри квадратных скобок.
<a href="">…
CSS
Типы селекторов
[href="…"], [href^="…"],
[href~="…"], …
Селекторы по значению
атрибута.
Тысячи их.
CSS
Типы селекторов
*
Селектор всего.
CSS
Типы селекторов
<div>
<p></p>
<section>
<p></p>
</section>
<section>
<p></p>
</section>
</div>
CSS
Типы селекторов
div, p { … }
Множественный селектор.
Разделяется запятой.
CSS
Типы селекторов
<div>
<p></p>
<section>
<p></p>
</section>
<section>
<p></p>
</section>
</div>
CSS
Типы селекторов
div p { … }
Селектор непрямого потомка.
Разделяется пробелом.
CSS
Типы селекторов
<div>
<p></p>
<section>
<p></p>
</section>
<section>
<p></p>
</section>
</div>
CSS
Типы селекторов
div > p { … }
Селектор прямого потомка.
Разделяется знаком «больше».
CSS
Типы селекторов
<div>
<p></p>
<section>
<p></p>
</section>
<section>
<p></p>
</section>
</div>
CSS
Типы селекторов
p + section { … }
Селектор следующего соседа.
Разделяется знаком «плюс».
CSS
Типы селекторов
<div>
<p></p>
<section>
<p></p>
</section>
<section>
<p></p>
</section>
</div>
CSS
Типы селекторов
p ~ section { … }
Селектор всех соседей после
тега.
Разделяется знаком «тильда».
CSS
Типы селекторов
<div>
<p></p>
<section>
<p></p>
</section>
<section>
<p></p>
</section>
</div>
CSS
Типы селекторов
:hover
a:hover
Псевдокласс.
Двоеточие перед типом.
CSS
Типы селекторов
:before
div:before
Псевдоэлемент.
Двоеточие перед типом.
CSS
Типы селекторов
span.icon:before {
content: "";
}
Не укажете контент – не будет.
CSS
Cascading Style Sheets
Что такое «каскады»
CSS
Каскады
ul.menu > li a:hover:before { … }
nav.primary li.nav-item.active { …
}
.container > p, .container > h1 { …
}
И тому подобное.
Это каскады – зависимости.
CSS
Вес селекторов
#ID
.class, [attribute]
tag
У разных типов селекторов – разный «вес».
CSS
Вес селекторов
!important
style=""
#ID
.class, [attribute]
tag
*
Селекторов больше, чем кажется.
CSS
Вес селекторов
0 , 0 , 0 , 0 , 0!important style id class tag
Матрица распределения «весов».
CSS
Вес селекторов
0 , 0 , 0 , 0 , 1!important style id class tag
div { … }
CSS
Вес селекторов
0 , 0 , 0 , 0 , 2!important style id class tag
div a { … }
CSS
Вес селекторов
0 , 0 , 0 , 1 , 2!important style id class tag
div a.active { … }
CSS
Вес селекторов
0 , 0 , 1 , 1 , 2!important style id class tag
div#first a.active { … }
CSS
Вес селекторов
0 , 0 , 1 , 0 , 2!important style id class tag
div#first a { … }
CSS
Вес селекторов
0 , 1 , 0 , 0 , 0!important style id class tag
<a href=“#”
style=“…”>…</a>
CSS
Вес селекторов
1 , 0 , 0 , 0 , 0!important style id class tag
a { width: 100%
!important; }
CSS
Вес селекторов
1 , 1 , 0 , 0 , 0!important style id class tag
a { width: 100% !important; }
<a href=“#” style=“width: auto
!important”>…</a>
CSS
Вес селекторов
!important > style > #id > .class = [attr]
> tag > *
Зависимость надо помнить.
!important
Не используйте никогда
Вообще никогда
Даже под страхом смерти
CSS
Cascading Style Sheets
Свойства и значения
CSS
Свойства
width: 100%;
CSS
Свойства
{propertyName}: {value}
CSS
Свойства
body {
width: 100%;
padding: 10px 5% 20px;
background: url(image.png) no-repeat center
center;
font-family: ‘Open Sans’, Arial, sans-serif;
}
CSS
Свойства
-webkit-{property}: …;
-moz-{property}: …;
-ms-{property}: …;
-o-{property}: …;
Браузеро-зависимые селекторы.
Анахронизм, но пригодится.
CSS
Свойства
input::-webkit-placeholder {
…
}
Могут быть в самых неожиданных местах.
CSS
Cascading Style Sheets
Дополнительно
CSS
Дополнительно
Методологии
_bem
OOCSS
SMACCS
и много других страшных слов
CSS
Дополнительно
Препроцессоры
LESS
SASS
Stylus
и много других страшных слов
CSS
Дополнительно
Препроцессоры
.container {
…
.element {
a {
&:hover { … }
}
p { … }
&.active { … }
}
}
CSS
Дополнительно
Препроцессоры
.container {
…
.element {
a {
&:hover { … }
}
p { … }
&.active { … }
}
}
.container { … }
.container .element a:hover {
… }
.container .element p { … }
.container .element.active { …
}
>
CSS
Дополнительно
Препроцессоры
.mixin (@param){
some: func(@param,20%);
}
.useful-class {
.mixin (20);
}
.useless-class {
.mixin (30);
}
CSS
Дополнительно
Препроцессоры
.mixin (@param){
some: func(@param,20%);
}
.useful-class {
.mixin (20);
}
.useless-class {
.mixin (30);
}
.useful-class {
some: 22;
}
.uselessclass {
some: 23;
}
>
Это
Конец
htmlbook.ru
htmlacademy.
ru
Это
Конец
Вопросы?
artfield.me
vk.com/artfieldfest
Минута
Рекламы
kubikami.land
vk.com/kubikami
flo.one

Weitere ähnliche Inhalte

Andere mochten auch

180 blue dining room training
180 blue dining room training180 blue dining room training
180 blue dining room training
Bill Buffalo
 
Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2
PlantHealthResourceCenter
 
นิทาน
นิทานนิทาน
นิทาน
ExitOfLove
 
Reader’s theater (1)
Reader’s theater (1)Reader’s theater (1)
Reader’s theater (1)
IIPCONX
 

Andere mochten auch (18)

Леонид Шевцов «Clojure в деле»
Леонид Шевцов «Clojure в деле»Леонид Шевцов «Clojure в деле»
Леонид Шевцов «Clojure в деле»
 
Наталья Шпот «Магия приоритетов как ключ к личному счастью»
Наталья Шпот «Магия приоритетов как ключ к личному счастью»Наталья Шпот «Магия приоритетов как ключ к личному счастью»
Наталья Шпот «Магия приоритетов как ключ к личному счастью»
 
Social media 2.0 february edition
Social media 2.0 february editionSocial media 2.0 february edition
Social media 2.0 february edition
 
sistema de gestión de contenidos
sistema de gestión de contenidossistema de gestión de contenidos
sistema de gestión de contenidos
 
180 blue dining room training
180 blue dining room training180 blue dining room training
180 blue dining room training
 
Transistores
TransistoresTransistores
Transistores
 
Bean Plataspid
Bean PlataspidBean Plataspid
Bean Plataspid
 
Zed innovation intro
Zed innovation introZed innovation intro
Zed innovation intro
 
Powell on leadership
Powell on leadershipPowell on leadership
Powell on leadership
 
Riley Slideshow
Riley SlideshowRiley Slideshow
Riley Slideshow
 
Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2
 
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
Дмитрий Паньков ( DataArt) "Business intelligence: перспективы для будущих сп...
 
Propiedad intelectual del soft ware
Propiedad intelectual del soft warePropiedad intelectual del soft ware
Propiedad intelectual del soft ware
 
Message queue demo
Message queue demoMessage queue demo
Message queue demo
 
นิทาน
นิทานนิทาน
นิทาน
 
Стратегия и Кризисы
Стратегия и КризисыСтратегия и Кризисы
Стратегия и Кризисы
 
Institution
InstitutionInstitution
Institution
 
Reader’s theater (1)
Reader’s theater (1)Reader’s theater (1)
Reader’s theater (1)
 

Ähnlich wie Артем Маркушев — HTML и CSS по кирпичикам. Детали.

Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSАртем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSS
DataArt
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layout
DarkestMaster
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
Technopark
 
Web осень 2012 лекция 8
Web осень 2012 лекция 8Web осень 2012 лекция 8
Web осень 2012 лекция 8
Technopark
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
Olga Pirozhenko
 
Web весна 2013 лекция 8
Web весна 2013 лекция 8Web весна 2013 лекция 8
Web весна 2013 лекция 8
Technopark
 

Ähnlich wie Артем Маркушев — HTML и CSS по кирпичикам. Детали. (20)

Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)Основы CSS (HTML5 тема 02 - основы CSS)
Основы CSS (HTML5 тема 02 - основы CSS)
 
Артем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSSАртем Маркушев - HTML & CSS
Артем Маркушев - HTML & CSS
 
Bootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPressBootstrap 3. Адаптивная верстка для WordPress
Bootstrap 3. Адаптивная верстка для WordPress
 
Лекция 4 Client-side
Лекция 4 Client-sideЛекция 4 Client-side
Лекция 4 Client-side
 
Crossbrowser Css layout
Crossbrowser Css layoutCrossbrowser Css layout
Crossbrowser Css layout
 
Web осень 2013 лекция 4
Web осень 2013 лекция 4Web осень 2013 лекция 4
Web осень 2013 лекция 4
 
Web осень 2012 лекция 8
Web осень 2012 лекция 8Web осень 2012 лекция 8
Web осень 2012 лекция 8
 
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
Стажировка 2016-07-06 03 Евгений Тарасенко. Основы HTML и CSS (часть 1).
 
Основы работы с таблицами стилей CSS
Основы работы с таблицами стилей CSSОсновы работы с таблицами стилей CSS
Основы работы с таблицами стилей CSS
 
Scino: Front-end [part-1]
Scino: Front-end [part-1]Scino: Front-end [part-1]
Scino: Front-end [part-1]
 
Css Intro. Vlad Savitsky
Css Intro. Vlad SavitskyCss Intro. Vlad Savitsky
Css Intro. Vlad Savitsky
 
CSS Язык описания представлений
CSS Язык описания представленийCSS Язык описания представлений
CSS Язык описания представлений
 
Advanced locators - little prince
Advanced locators - little princeAdvanced locators - little prince
Advanced locators - little prince
 
Я ♥ Svg — Владимир Кузнецов, Engine6
Я ♥ Svg — Владимир Кузнецов, Engine6Я ♥ Svg — Владимир Кузнецов, Engine6
Я ♥ Svg — Владимир Кузнецов, Engine6
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
 
Web весна 2013 лекция 8
Web весна 2013 лекция 8Web весна 2013 лекция 8
Web весна 2013 лекция 8
 
аккордеон
аккордеонаккордеон
аккордеон
 
пользовательские свойства как основа архитектуры CSS
пользовательские свойства как основа архитектуры CSSпользовательские свойства как основа архитектуры CSS
пользовательские свойства как основа архитектуры CSS
 
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
Пользовательские свойства как основа архитектуры CSS / Павел Ловцевич (LOVATA)
 
Как создать сайт
Как создать сайтКак создать сайт
Как создать сайт
 

Mehr von DataArt

Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
DataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
DataArt
 

Mehr von DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

Артем Маркушев — HTML и CSS по кирпичикам. Детали.

Hinweis der Redaktion

  1. I’ll be talking about our HR communications, HR brand, what it is, why do we need it, what are we changing and what we want to achieve
  2. I’ll be talking about our HR communications, HR brand, what it is, why do we need it, what are we changing and what we want to achieve