SlideShare a Scribd company logo
1 of 49
2015
Курс по уеб програмиране
Занятие №2
CSS
Съдържание
• Въведение в CSS
• Селектор, свойство, стойност
• Идентификация и групиране на селектори
• Цветове и фон
• Форматиране на текст, списъци, таблици
• CSS Box Model
• Border, margin, padding
• Позициониране на елементи
• Псевдокласове и псевдоелементи
Въведение в CSS
• Какво е CSS (Cascading Style Sheets)?
– Компютърен език за описване на изгледа и форматирането на
съдържанието на маркиран документ
– Най-широко се използва за HTML, но може да се използва за
произволен XML, SGML и XUL
– Отделя на представянето от съдържанието
– Определя начина на представяне на съдържанието, чрез
множество от правила
Въведение в CSS
• Какво е CSS (Cascading Style Sheets)?
– Определя свойства на елементите шрифт, размер, широчина, цвят,
фон, разположение и др.
– Систематизира показването на сходни от семантична гледна точка
елементи
– Спестява работа по стилизирането на всеки елемент поотделно
– Може да определя различно представяне според “носителя“ –
екран, печат, синтезатор на реч, брайлово устройство и др.
– Браузърите имат свои собствени вградени стилове по
подразбиране
– Стиловете имат йерархия от по-общи към по-специфични
– Свойствата се предават (каскадно) надолу по йерархията
Въведение в CSS
• Връзка между HTML (съдържание) и CSS (стил)
– Стиловете могат да бъдат вградени в <head> елемента на HTML
– Пример
<head>
<style>
h1 {
font-size: 18px;
color: red;
}
</style>
</head>
Въведение в CSS
• Връзка между HTML (съдържание) и CSS (стил)
– Вграден стил в атрибут на самия HTML елемент (inline)
– Пример
<h1 style="font-size: 18px; color: red">Page title</h1>
Въведение в CSS
• Връзка между HTML (съдържание) и CSS (стил)
– Външен файл, чрез връзка в <head> елемента
– Пример
<link type="text/css" rel="stylesheet" href="style.css" />
Въведение в CSS
• Връзка между HTML (съдържание) и CSS (стил)
– Външен файл, чрез импортиране
– Пример
<style type="text/css">
@import "style.css";
</style>
– Не се поддържа от по-стари браузери
– Съществуват проблеми с Internet Explorer
Въведение в CSS
• Ограничения на Internet Explorer
– Версии от 6 до 9
• Един лист може да съдържа до 4095 правила
• Един документ може да импортира до 31 листа
• Импортирането поддържа до 4 нива на вложеност
– Версия 10
• Един лист може да съдържа до 65534 правила
• Един документ може да използва до 4095 листа
• Импортирането поддържа до 4095 нива на вложеност
Въведение в CSS
• Коментари в CSS
– Започват с “/*” и завършват с “*/”
– Могат да заемат един или повече редове
– Няма никакво значение какво има в коментара
– Примери
/* ето един коментар */
/*
* този красив коментар
* може да заеме
* тъкмо няколко реда
*/
Селектор, свойство, стойност
• Всяко правило се състои от селектор и декларации
• Селекторът посочва за кои елементи се отнася правилото
• Декларациите са списък от двойки свойство/стойност,
които да бъдат приложени върху избраните (селектираните)
елементи
• Анатомия на CSS правило
Селектор, свойство, стойност
• Специални стойности
– За указване на стойност по подразбиране се използва ключовата
дума initial
– За указване на стойност наследена от „родителския“ елемент се
използва ключовата дума inherit
– Специалните стойности могат да се установят на всяко свойство за
всеки HTML елемент
Селектор, свойство, стойност
• Стойност за число
– Някои свойства изискват използването на числови стойности
– Числовите стойности могат да бъдат целочислени или десетични
– Числовите стойности могат да бъдат положителни, отрицателни или
нулеви
– Стойността на „-0“ е същата като на „0“ и „+0“
– При изписване на стойности на десетични числа се използва
десетична точка, а не десетична запетая
Селектор, свойство, стойност
• Стойност за размер
– Стойности за размер се изписват със слепване на число и мерна
единица
– Могат да се използват различни мерните единици могат да бъдат
различни, в зависимост от свойството и търсения ефект
Съкращение Мерна единица
% процент
in инч
cm сантиметър
mm милиметър
em 1em текущият размер на шрифта. 2em означава 2 пъти този размер. Напр. ако елемент се показва с шрифт от 12pt,
тогава 2em e 24pt. Тази единица е полезна, тъй като размерът се адаптира към използвания от потребителя шрифт.
ex Един ex е x-големината на шрифта (x-големината е обикновено около половината от големината на шрифта)
pt точка (1pt е същото като 1/72 инч)
pc pica (1pc е същото като 12 точки)
px pixels (размер на точка на екрана на компютъра)
Селектор, свойство, стойност
• Стойност за цвят
– С CSS могат да бъдат оцветявани текстът, фонът, рамките и други
визуални компоненти на елементите
– Цветовете сами по себе си представляват комбинация от три
компоненти със стойност от 0 до 255: червено, зелено и синьо
– Цветовете могат да се задават по редица начини
• с тяхното наименование: red, green, blue, yellow, black, white и др.
• в шестнадесетичен вид: #0099FF
• по компоненти в десетичен вид: rgb(0, 99, 255)
• по компоненти в десетичен вид с прозрачност: rgba(0, 99, 255, 0.5)
• в цилиндрични координати: hsl(120, 60%, 50%)
• в цилиндрични координати с прозрачност: hslа(120, 60%, 50%, 0.5)
Селектор, свойство, стойност
• Стойност за адрес
– В редица свойства се налага задаването на адрес на картинка,
шрифт и други файлове
– Адреси се задават във формат url(път-към-файла)
– Пътят към файла може да е заграден с единични кавички (‘) или
двойни кавички (“)
– Адресът може да е пълен, абсолютен или относителен (спрямо
местоположението на текущия файл)
– Примери
background: url(http://example.com/background.jpg);
background-image: url(/background.jpg) no-repeat;
background-image: url(../background.jpg);
Идентификация и групиране на селектори
• Селекторите идентифицират елементите на основата на
критерии
– според техния етикет
– според техния идентификатор
– според техния клас
– според наличието и/или стойностите на друг(и) атрибут(и)
Идентификация и групиране на селектори
• Универсален селектор
– Избира всички елементи
– Представлява символа “*”
– Пример
* {
border: yellow;
}
Идентификация и групиране на селектори
• Селектор по елемент
– Избира елемент/и с посочения етикет
– Представлява наименованието на етикета
– Пример
h1 {
color: red;
}
<h1>Новини</h1>
Идентификация и групиране на селектори
• Селектор по идентификатор
– Избира елемент с посочения идентификатор (стойността на
неговия id атрибут)
– Един елемент може да има само един идентификатор
– Идентификаторът на елемент трябва да е уникален в рамките на
документа
– Представлява символът “#” следван от идентификатора
– Пример
#site-title {
color: blue;
}
<h1 id="site-title">Информатор</h1>
Идентификация и групиране на селектори
• Селектор по клас
– Избира елемент/и от посочения клас (стойност в неговия class
атрибут)
– Един елемент може да е от повече от един клас (наименованията
на класовете се отделят с интервал)
– Представлява символът “.” следван от наименованието на класа
– Пример
.news-title {
color: blue;
}
<h1 class="news-title">СКАНДАЛНО! Учените направиха от пиле мляко</h1>
Идентификация и групиране на селектори
• Атрибутен селектор
– Избира елемент/и по атрибут
– Може да се избере по наличието на атрибут
– Представлява наименованието на атрибута заградено с квадратни
скоби
– Пример
[title] {
border: green;
}
За повече информация натиснете <a href="#" title="Още">тук</a>.
Идентификация и групиране на селектори
• Атрибутен селектор
– Избира елемент/и по атрибут
– Представлява наименованието на атрибута следвано от символа
“=” и търсената стойност, заградени в квадратни скоби
– Може да се избере по конкретна стойност на атрибут
– Пример
[type=button] {
border: green;
}
Име:
<input type="text" name="name"/>
<input type="button" value="#ИЗПРАТИГОБЕ"/>
Идентификация и групиране на селектори
• Атрибутен селектор
– Избира елемент/и по атрибут
– Може да се избере по условие за стойността на атрибут
Условие Описание
[атрибут] атрибутът атрибут е наличен
[атрибут=стойност] стойността на атрибута атрибут е равна на стойността стойност
[атрибут~=стойност] стойността на атрибута атрибут съдържа думата стойност
[атрибут|=стойност] стойността на атрибута атрибут започва с думата стойност
[атрибут^=стойност] стойността на атрибута атрибут започва с низа стойност
[атрибут$=стойност] стойността на атрибута атрибут свършва с низа стойност
[атрибут*=стойност] стойността на атрибута атрибут съдържа низа стойност
Идентификация и групиране на селектори
• Слепване на селектори
– Когато се нуждаем да посочим елемент/и отговарящи на няколко
критерия едновременно, можем да ги слепим
– Примери
p.warning {
/* избира всички <p> елементи от клас “warning” */
}
div#site-header {
/* избира елемента с id “site-header”, но само ако е <div> */
}
Идентификация и групиране на селектори
• Комбиниране на селектори
– Изброените до сега селектори са т.нар. прости селектори
– Простите селектори могат да бъдат комбинирани в комбиниран
селектор
– За комбинирането може да се използва комбинатор
Идентификация и групиране на селектори
• Комбиниране на селектори
– Селектор за „наследници“
• Комбинираме селектор A със селектор B
• Избира сред елементите удовлетворяващи селектор B, които са
„наследници“ на елементи удовлетворяващи селектор A
– Пример
article .source {
/* избира елементите от клас “source”
сред наследниците на <article> елемент */
}
<article>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do…
<footer><p class="source">Cicero</p></footer>
</article>
Идентификация и групиране на селектори
• Комбиниране на селектори
– Селектор за „деца“
• Комбинираме селектор A със селектор B
• Избира сред елементите удовлетворяващи селектор B, които са „деца“
(директни „наследници“) на елементи удовлетворяващи селектор A
– Пример
article > .source {
/* избира елементите от клас “source”
сред наследниците на <article> елемент */
}
<article>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do…
<p class="source">Cicero</p>
</article>
Идентификация и групиране на селектори
• Комбиниране на селектори
– Селектор за „братя/сестри“
• Комбинираме селектор A със селектор B
• Избира сред елементите удовлетворяващи селектор B, които следват
елементи удовлетворяващи селектор A и имат общ „родител“ с тях
– Пример
.title ~ .source {
/* избира елементите от клас “source” следващи елемент от клас “title” */
}
<article>
<div class="title">De finibus bonorum et malorum</div>
<div class="content">Lorem ipsum dolor sit amet, consectetur…</div>
<p class="source">Cicero</p>
</article>
Идентификация и групиране на селектори
• Комбиниране на селектори
– Селектор за непосредствени „братя/сестри“
• Комбинираме селектор A със селектор B
• Избира сред елементите удовлетворяващи селектор B, които следват
непосредствено елементи удовлетворяващи селектор A и имат общ
„родител“ с тях
– Пример
.title + .content {
/* избира елементите от клас „content” следващи непоср. елемент от клас „title” */
}
<article>
<div class="title">De finibus bonorum et malorum</div>
<div class="content">Lorem ipsum dolor sit amet, consectetur…</div>
<p class="source">Cicero</p>
</article>
Идентификация и групиране на селектори
• Изброяване на селектори
– Когато различни елементи трябва да имат един и същи стил
– Различните селектори се отделят със запетая
– Пример
h1, h2, p {
text-align: center;
color: red;
}
Форматиране на текст, списъци, таблици
• Свойства за шрифт
font-family: Verdana, Geneva, sans-serif;
font-size: 10px;
font-style: italic;
• Свойства за текста
color: #930;
text-decoration: line-through;
text-transform: uppercase;
text-align: center;
letter-spacing: 20px;
white-space: nowrap;
word-break: break-all;
word-wrap: break-word;
Форматиране на текст, списъци, таблици
• Свойства за фон
– Свойствата могат да се установяват с индивидуални декларации
background-color: #f4f4f4;
background-image: url('css/red001.jpg');
background-repeat: no-repeat;
background-attachment: scroll;
background-size: cover;
– Свойствата могат да се установяват с комбиниране в обща
декларация
background: #f4f4f4 url('css/red001.jpg') cover no-repeat scroll;
Форматиране на текст, списъци, таблици
• Свойства за рамка
– Стил на рамката
border-style: none; /* dotted dashed solid double groove ridge inset outset */
– Дебелина на рамката
border-width: 1px; /* thin medium thick */
– Цвят на рамката
border-color: #FF0000;
– Могат да се задават стойности за конкретна рамка
border-top-style: solid;
– Могат да се задават по няколко стойности
border-свойство: стойност-всички;
border-свойство: стойност-горе-долу стойност-дясно-ляво;
border-свойство: стойност-горе стойност-дясно-ляво стойност-долу;
border-свойство: стойност-горе стойност-дясно стойност-долу стойност-ляво;
Форматиране на текст, списъци, таблици
• Свойства за списък
– Свойствата на неподреден списък могат да се установят с
индивидуални декларации
list-style-type: circle;
list-style-image: url(circle.gif);
list-style-position: inside;
– Свойствата на подреден списък могат да се установят с
индивидуални декларации
list-style-type: upper-roman;
list-style-position: outside;
– Свойствата на списък могат да се установят в обща декларация
list-style: circle inside url('circle.gif');
Форматиране на текст, списъци, таблици
• Свойства за таблица
– Всяка клетка от таблицата има собствена рамка
– Рамките могат да бъдат „паднат“ една върху друга
border-collapse: collapse;
– Според начина на определяна на широчините на колоните,
разположението на колоните може да бъде различно
• Автоматично (стойност auto) – широчина на колоните според най-
широкото непрекъснато съдържание
table-layout: auto;
• Фиксирано (стойност fixed) – зависи единствено от размерите на
таблицата и колоните
table-layout: fixed;
CSS Box Model
• Можем да си представим всеки HTML елемент като кутийка
• CSS Box Model преставлява кутийката около всеки елемент
състояща се от:
– Съдържание
– Padding
– Border
– Margin
CSS Box Model
• Различните части на кутийката имат своето положение и
характеристика
– Съдържание - съдържанието на кутията
• Може да съдържа текст, картинки и други елементи
– Padding (отстъп) - обвива съдържанието
• Осигурява пространство около съдържанието (отстъп от рамката)
• Padding полето е прозрачно, но може да има дебелина
– Border (рамка) - огражда padding полето
• Може да има цвят, стил, дебелина, форма и т.н.
– Margin (отстояние) - обвива border полето
• Осигурява пространство около border полето (отстоянието от другите
елементи)
• Margin полето е прозрачно, но може да има дебелина
CSS Box Model
• Изчисляване на широчина и височината на елементите в
CSS Box Model
Широчина = ширина на съдържанието + ляв padding + десен padding + ляв border +
десен border + ляв margin + десен margin
Височина = височината на съдържанието + горен padding + долен padding + горен
border + долен border + горен margin + долен margin
• Пример
.math {
width: 250px;
padding: 10px;
border: 5px solid gray;
margin: 10px;
}
/* 250px (width) + 20px (left + right padding)
+ 10px (left + right border) + 20px (left + right margin) = 300px */
Border, margin, padding
• Border (рамка)
– Рамката е непрозрачна и поддържа редица няколко визуални
свойства
• Свойства за определяне на цвят border-color
• Свойства за определяне на стил border-style
• Свойства за определяне на широчина border-width
• Свойства за определяне на заобляне border-radius
• Свойства за определяне на изображение border-image
border-image: url(border.png) 20% 5px 8px round;
border-image-source: url(border.png);
border-image-slice: 20%;
border-image-width: 5px;
border-image-outset: 8px;
border-image-repeat: round;
Border, margin, padding
• Padding (отстъп)
– Отстъпът е прозрачен и има свойства единствено за определяне на
широчината
padding: 5px 8px 7px 4px;
padding-top: 5px;
padding-right: 8px;
padding-bottom: 7px;
padding-left: 4px;
• Margin (отстояние)
– Отстоянието е прозрачно и има свойства единствено за
определяне на широчината
margin: 5px 8px 7px 4px;
Позициониране на елементи
• Позициониране на елементи
– Върху позиционирането на елементи може да се окаже влияние
със свойството position в комбинация със свойствата top, right,
bottom и left.
– Поддържат се няколко стойности (по подразбиране static)
Стойност Описание
static Елементът се позиционира според в реда, в който е в документа.
absolute Елементът се позиционира спрямо положението на първия не-статично
позициониран “родителски“ елемент
fixed Елементът се позиционира спрямо браузерния прозорец.
relative Елементът се позиционира спрямо обикновената му позиция.
Позициониране на елементи
• Свойството z-index
– Указва реда на елемента по Z-координатата
– Важи единствено за елементи с абсолютна, относителна и
фиксирана позиция
• Свойството float
– Указва дали избрания елемент трябва да „плава“ (и накъде) или не
– Не важи за елементи с абсолютна позиция!
– Възможни са стойностите none, left и right
• Свойството clear
– Изчиства плаващите елементи около избрания елемент
– Възможните са стойностите none, left, right и both
Позициониране на елементи
• Свойството visibility
– Указва дали избрания елемент да е видим или не
– Възможни са стойностите visible, hidden и collapsed (за таблици)
– Стойността hidden скрива елемента, но все пак заема място
• Свойството display
– Указва вида на кутийката, която да се използва за избрания елемент
– Възможните са стойностите none, inline, block, inline-block и др.
– Стойността none скрива напълно елемента
– Стойността block – съдържа padding, border, margin
– Стойността inline – игнорира height и width
– Стойността inline-block – добавя height и width
Позициониране на елементи
• Свойството opacity
• Указва нивото на прозрачност на елемента
• Възможните стойности са десетични числа от 0 (напълно
прозрачно) до 1 (напълно непрозрачно)
• Свойството overflow
– Указва какво ще се случи при препълване на съдържанието
– Възможни са стойностите visible, hidden, scroll и auto
– Могат да се използват и свойствата overflow-x и overflow-y
Псевдокласове и псевдоелементи
• Псевдокласове
– Комбинират се с основен селектор, за да изберат специално
състояние на елемента
– Наименованията им започват с „:“ и се прилепват към основния
селектор
– Пример
a:visited {
color: gray;
}
<a href="http://www.david.bg/">ДАВИД Холдинг АД</a>
– Списък и предназначение на псевдокласовете, може да се
намери тук: http://www.w3.org/wiki/CSS/Selectors#Pseudo-classes
Псевдокласове и псевдоелементи
• Псевдоелементи
– Комбинират се с основен селектор, за да изберат специална
част от документа
– Наименованията им започват с „::“ и се прилепват към основния
селектор
– Пример
a::after {
content: " >>";
}
<a href="http://www.david.bg/">ДАВИД Холдинг АД</a>
– Списък и предназначение на псевдоелементите, може да се
намери тук: http://www.w3.org/wiki/CSS/Selectors#Pseudo-elements
Въпроси?
Благодаря!
• Валери Дачев
– valery@david.bg
– @vdachev
– https://facebook.com/vdachev
• ДАВИД академия
– acad@david.bg
– http://acad.david.bg/
– @david_academy
– https://facebook.com/DavidAcademy

More Related Content

What's hot

Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7DAVID Academy
 
Курс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLКурс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLDAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11DAVID Academy
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №12
Училищен курс по програмиране на C# (2013/2014), занятие №12Училищен курс по програмиране на C# (2013/2014), занятие №12
Училищен курс по програмиране на C# (2013/2014), занятие №12DAVID Academy
 
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#DAVID Academy
 
Курс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSКурс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSDAVID Academy
 
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)DAVID Academy
 
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1DAVID Academy
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9DAVID Academy
 
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...DAVID Academy
 
Информационни системи - упражнение № 2
Информационни системи - упражнение № 2Информационни системи - упражнение № 2
Информационни системи - упражнение № 2Tsvetelin Pavlov
 
JDK 1.5 New Features
JDK 1.5 New FeaturesJDK 1.5 New Features
JDK 1.5 New FeaturesSvetlin Nakov
 

What's hot (18)

Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7
 
Курс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTMLКурс по уеб програмиране (2014), занятие №1 - HTML
Курс по уеб програмиране (2014), занятие №1 - HTML
 
Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4Училищен курс по програмиране на C# (2013/2014), занятие №4
Училищен курс по програмиране на C# (2013/2014), занятие №4
 
Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11Училищен курс по програмиране на C# (2013/2014), занятие №11
Училищен курс по програмиране на C# (2013/2014), занятие №11
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
 
Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14Училищен курс по програмиране на C# (2013/2014), занятие №14
Училищен курс по програмиране на C# (2013/2014), занятие №14
 
Училищен курс по програмиране на C# (2013/2014), занятие №12
Училищен курс по програмиране на C# (2013/2014), занятие №12Училищен курс по програмиране на C# (2013/2014), занятие №12
Училищен курс по програмиране на C# (2013/2014), занятие №12
 
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
Курс по програмиране на C# 2013 - 1. Въведение в компютърното програмиране и C#
 
Курс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSSКурс по уеб програмиране (2014), занятие №2 - CSS
Курс по уеб програмиране (2014), занятие №2 - CSS
 
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
Курс по уеб програмиране (2014), занятие №4 - JavaScript (част 2/2)
 
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
Курс по програмиране на C# 2013 - 2. Конзолен вход и изход. Условни преходи. ...
 
Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2Училищен курс по програмиране на C# (2013/2014), занятие №2
Училищен курс по програмиране на C# (2013/2014), занятие №2
 
Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1Училищен курс по програмиране на C# (2013/2014), занятие №1
Училищен курс по програмиране на C# (2013/2014), занятие №1
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
 
Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9Училищен курс по програмиране на C# (2013/2014), занятие №9
Училищен курс по програмиране на C# (2013/2014), занятие №9
 
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
Курс по програмиране на C# 2013 - 7. Свойства. Индексатори. Наследяване. Изкл...
 
Информационни системи - упражнение № 2
Информационни системи - упражнение № 2Информационни системи - упражнение № 2
Информационни системи - упражнение № 2
 
JDK 1.5 New Features
JDK 1.5 New FeaturesJDK 1.5 New Features
JDK 1.5 New Features
 

Viewers also liked

Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...DAVID Academy
 
Ecommerce SEO - Lily Grozeva
Ecommerce SEO - Lily GrozevaEcommerce SEO - Lily Grozeva
Ecommerce SEO - Lily GrozevaLily Grozeva
 
SEO курс, лекция 12 - Статистики и измерване
SEO курс, лекция 12 - Статистики и измерванеSEO курс, лекция 12 - Статистики и измерване
SEO курс, лекция 12 - Статистики и измерванеLily Grozeva
 
Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...
Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...
Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...DAVID Academy
 
SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1
SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1
SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1Lily Grozeva
 
SEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиранеSEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиранеLily Grozeva
 
SEO курс 2014, лекция 10 - Линк бейт, който носи линкове, част 2
SEO курс 2014, лекция 10  - Линк бейт, който носи линкове, част 2SEO курс 2014, лекция 10  - Линк бейт, който носи линкове, част 2
SEO курс 2014, лекция 10 - Линк бейт, който носи линкове, част 2Lily Grozeva
 
SEO курс 2014, лекция 8 - Линк анализ
SEO курс 2014, лекция 8 - Линк анализSEO курс 2014, лекция 8 - Линк анализ
SEO курс 2014, лекция 8 - Линк анализLily Grozeva
 
SEO курс 2014, лекция 6 - Информационна архитектура
SEO курс 2014, лекция 6 - Информационна архитектураSEO курс 2014, лекция 6 - Информационна архитектура
SEO курс 2014, лекция 6 - Информационна архитектураLily Grozeva
 
SEO курс 2014, лекция 7 - Анализ на конкуренцията
SEO курс 2014, лекция 7 - Анализ на конкуренциятаSEO курс 2014, лекция 7 - Анализ на конкуренцията
SEO курс 2014, лекция 7 - Анализ на конкуренциятаLily Grozeva
 
SEO курс, лекция 5 - Анализ на ключови думи
SEO курс, лекция 5 - Анализ на ключови думиSEO курс, лекция 5 - Анализ на ключови думи
SEO курс, лекция 5 - Анализ на ключови думиLily Grozeva
 
SEO курс 2014, лекция 3: Техническа оптимизация, част 1
SEO курс 2014, лекция 3: Техническа оптимизация, част 1SEO курс 2014, лекция 3: Техническа оптимизация, част 1
SEO курс 2014, лекция 3: Техническа оптимизация, част 1Lily Grozeva
 
SEO курс 2014, лекция 4: Техническа оптимизация, част 2
SEO курс 2014, лекция 4: Техническа оптимизация, част 2SEO курс 2014, лекция 4: Техническа оптимизация, част 2
SEO курс 2014, лекция 4: Техническа оптимизация, част 2Lily Grozeva
 
SEO курс 2014, лекция 2 - Onpage оптимизация
SEO курс 2014, лекция 2 - Onpage оптимизацияSEO курс 2014, лекция 2 - Onpage оптимизация
SEO курс 2014, лекция 2 - Onpage оптимизацияLily Grozeva
 
Курс по програмиране на C# (2013) - Помагало
Курс по програмиране на C# (2013) - ПомагалоКурс по програмиране на C# (2013) - Помагало
Курс по програмиране на C# (2013) - ПомагалоDAVID Academy
 

Viewers also liked (15)

Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
 
Ecommerce SEO - Lily Grozeva
Ecommerce SEO - Lily GrozevaEcommerce SEO - Lily Grozeva
Ecommerce SEO - Lily Grozeva
 
SEO курс, лекция 12 - Статистики и измерване
SEO курс, лекция 12 - Статистики и измерванеSEO курс, лекция 12 - Статистики и измерване
SEO курс, лекция 12 - Статистики и измерване
 
Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...
Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...
Курс по програмиране за напреднали (2012) - 8. Софтуерни проекти. Софтуерни и...
 
SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1
SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1
SEO курс 2014, лекция 9 - Линк бейт, който носи линкове, част 1
 
SEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиранеSEO курс, лекция 11 - От заявка до рендиране
SEO курс, лекция 11 - От заявка до рендиране
 
SEO курс 2014, лекция 10 - Линк бейт, който носи линкове, част 2
SEO курс 2014, лекция 10  - Линк бейт, който носи линкове, част 2SEO курс 2014, лекция 10  - Линк бейт, който носи линкове, част 2
SEO курс 2014, лекция 10 - Линк бейт, който носи линкове, част 2
 
SEO курс 2014, лекция 8 - Линк анализ
SEO курс 2014, лекция 8 - Линк анализSEO курс 2014, лекция 8 - Линк анализ
SEO курс 2014, лекция 8 - Линк анализ
 
SEO курс 2014, лекция 6 - Информационна архитектура
SEO курс 2014, лекция 6 - Информационна архитектураSEO курс 2014, лекция 6 - Информационна архитектура
SEO курс 2014, лекция 6 - Информационна архитектура
 
SEO курс 2014, лекция 7 - Анализ на конкуренцията
SEO курс 2014, лекция 7 - Анализ на конкуренциятаSEO курс 2014, лекция 7 - Анализ на конкуренцията
SEO курс 2014, лекция 7 - Анализ на конкуренцията
 
SEO курс, лекция 5 - Анализ на ключови думи
SEO курс, лекция 5 - Анализ на ключови думиSEO курс, лекция 5 - Анализ на ключови думи
SEO курс, лекция 5 - Анализ на ключови думи
 
SEO курс 2014, лекция 3: Техническа оптимизация, част 1
SEO курс 2014, лекция 3: Техническа оптимизация, част 1SEO курс 2014, лекция 3: Техническа оптимизация, част 1
SEO курс 2014, лекция 3: Техническа оптимизация, част 1
 
SEO курс 2014, лекция 4: Техническа оптимизация, част 2
SEO курс 2014, лекция 4: Техническа оптимизация, част 2SEO курс 2014, лекция 4: Техническа оптимизация, част 2
SEO курс 2014, лекция 4: Техническа оптимизация, част 2
 
SEO курс 2014, лекция 2 - Onpage оптимизация
SEO курс 2014, лекция 2 - Onpage оптимизацияSEO курс 2014, лекция 2 - Onpage оптимизация
SEO курс 2014, лекция 2 - Onpage оптимизация
 
Курс по програмиране на C# (2013) - Помагало
Курс по програмиране на C# (2013) - ПомагалоКурс по програмиране на C# (2013) - Помагало
Курс по програмиране на C# (2013) - Помагало
 

Similar to Курс по уеб програмиране (2015), занятие №2 - CSS

1 css introduction
1 css introduction1 css introduction
1 css introductionRaynaITSTEP
 
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkКурс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkDAVID Academy
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLDAVID Academy
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systemsRosen Spasov
 

Similar to Курс по уеб програмиране (2015), занятие №2 - CSS (6)

Html & css improved
Html & css   improvedHtml & css   improved
Html & css improved
 
1 css introduction
1 css introduction1 css introduction
1 css introduction
 
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET FrameworkКурс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
Курс по информационни технологии (2013) - 4. XML, XSD, XML в .NET Framework
 
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQLКурс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
Курс по информационни технологии (2013) - 3. ADO.NET, LINQ to SQL
 
Introduction to-RDBMS-systems
Introduction to-RDBMS-systemsIntroduction to-RDBMS-systems
Introduction to-RDBMS-systems
 
Introduction to-rdbms-systems
Introduction to-rdbms-systemsIntroduction to-rdbms-systems
Introduction to-rdbms-systems
 

More from DAVID Academy

Училищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоУчилищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоDAVID Academy
 
Училищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияУчилищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияDAVID Academy
 
Курс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesКурс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesDAVID Academy
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...DAVID Academy
 
Курс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеКурс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеDAVID Academy
 
Курс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоКурс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоDAVID Academy
 
Курс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияКурс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияDAVID Academy
 
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииКурс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииDAVID Academy
 

More from DAVID Academy (8)

Училищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - ПомагалоУчилищен курс по програмиране на C# (2013/2014) - Помагало
Училищен курс по програмиране на C# (2013/2014) - Помагало
 
Училищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - УпражненияУчилищен курс по програмиране на C# (2013/2014) - Упражнения
Училищен курс по програмиране на C# (2013/2014) - Упражнения
 
Курс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web ServicesКурс по информационни технологии (2013) - 5. HTTP & Web Services
Курс по информационни технологии (2013) - 5. HTTP & Web Services
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
 
Курс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. ПредставянеКурс по информационни технологии (2013) - 0. Представяне
Курс по информационни технологии (2013) - 0. Представяне
 
Курс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - ПомагалоКурс по информационни технологии (2013) - Помагало
Курс по информационни технологии (2013) - Помагало
 
Курс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - УпражненияКурс по програмиране на C# (2013) - Упражнения
Курс по програмиране на C# (2013) - Упражнения
 
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функцииКурс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
Курс по програмиране на C# 2013 - 9. Делегати. Събития. Ламбда функции
 

Курс по уеб програмиране (2015), занятие №2 - CSS

  • 1. 2015 Курс по уеб програмиране Занятие №2 CSS
  • 2. Съдържание • Въведение в CSS • Селектор, свойство, стойност • Идентификация и групиране на селектори • Цветове и фон • Форматиране на текст, списъци, таблици • CSS Box Model • Border, margin, padding • Позициониране на елементи • Псевдокласове и псевдоелементи
  • 3. Въведение в CSS • Какво е CSS (Cascading Style Sheets)? – Компютърен език за описване на изгледа и форматирането на съдържанието на маркиран документ – Най-широко се използва за HTML, но може да се използва за произволен XML, SGML и XUL – Отделя на представянето от съдържанието – Определя начина на представяне на съдържанието, чрез множество от правила
  • 4. Въведение в CSS • Какво е CSS (Cascading Style Sheets)? – Определя свойства на елементите шрифт, размер, широчина, цвят, фон, разположение и др. – Систематизира показването на сходни от семантична гледна точка елементи – Спестява работа по стилизирането на всеки елемент поотделно – Може да определя различно представяне според “носителя“ – екран, печат, синтезатор на реч, брайлово устройство и др. – Браузърите имат свои собствени вградени стилове по подразбиране – Стиловете имат йерархия от по-общи към по-специфични – Свойствата се предават (каскадно) надолу по йерархията
  • 5. Въведение в CSS • Връзка между HTML (съдържание) и CSS (стил) – Стиловете могат да бъдат вградени в <head> елемента на HTML – Пример <head> <style> h1 { font-size: 18px; color: red; } </style> </head>
  • 6. Въведение в CSS • Връзка между HTML (съдържание) и CSS (стил) – Вграден стил в атрибут на самия HTML елемент (inline) – Пример <h1 style="font-size: 18px; color: red">Page title</h1>
  • 7. Въведение в CSS • Връзка между HTML (съдържание) и CSS (стил) – Външен файл, чрез връзка в <head> елемента – Пример <link type="text/css" rel="stylesheet" href="style.css" />
  • 8. Въведение в CSS • Връзка между HTML (съдържание) и CSS (стил) – Външен файл, чрез импортиране – Пример <style type="text/css"> @import "style.css"; </style> – Не се поддържа от по-стари браузери – Съществуват проблеми с Internet Explorer
  • 9. Въведение в CSS • Ограничения на Internet Explorer – Версии от 6 до 9 • Един лист може да съдържа до 4095 правила • Един документ може да импортира до 31 листа • Импортирането поддържа до 4 нива на вложеност – Версия 10 • Един лист може да съдържа до 65534 правила • Един документ може да използва до 4095 листа • Импортирането поддържа до 4095 нива на вложеност
  • 10. Въведение в CSS • Коментари в CSS – Започват с “/*” и завършват с “*/” – Могат да заемат един или повече редове – Няма никакво значение какво има в коментара – Примери /* ето един коментар */ /* * този красив коментар * може да заеме * тъкмо няколко реда */
  • 11. Селектор, свойство, стойност • Всяко правило се състои от селектор и декларации • Селекторът посочва за кои елементи се отнася правилото • Декларациите са списък от двойки свойство/стойност, които да бъдат приложени върху избраните (селектираните) елементи • Анатомия на CSS правило
  • 12. Селектор, свойство, стойност • Специални стойности – За указване на стойност по подразбиране се използва ключовата дума initial – За указване на стойност наследена от „родителския“ елемент се използва ключовата дума inherit – Специалните стойности могат да се установят на всяко свойство за всеки HTML елемент
  • 13. Селектор, свойство, стойност • Стойност за число – Някои свойства изискват използването на числови стойности – Числовите стойности могат да бъдат целочислени или десетични – Числовите стойности могат да бъдат положителни, отрицателни или нулеви – Стойността на „-0“ е същата като на „0“ и „+0“ – При изписване на стойности на десетични числа се използва десетична точка, а не десетична запетая
  • 14. Селектор, свойство, стойност • Стойност за размер – Стойности за размер се изписват със слепване на число и мерна единица – Могат да се използват различни мерните единици могат да бъдат различни, в зависимост от свойството и търсения ефект Съкращение Мерна единица % процент in инч cm сантиметър mm милиметър em 1em текущият размер на шрифта. 2em означава 2 пъти този размер. Напр. ако елемент се показва с шрифт от 12pt, тогава 2em e 24pt. Тази единица е полезна, тъй като размерът се адаптира към използвания от потребителя шрифт. ex Един ex е x-големината на шрифта (x-големината е обикновено около половината от големината на шрифта) pt точка (1pt е същото като 1/72 инч) pc pica (1pc е същото като 12 точки) px pixels (размер на точка на екрана на компютъра)
  • 15. Селектор, свойство, стойност • Стойност за цвят – С CSS могат да бъдат оцветявани текстът, фонът, рамките и други визуални компоненти на елементите – Цветовете сами по себе си представляват комбинация от три компоненти със стойност от 0 до 255: червено, зелено и синьо – Цветовете могат да се задават по редица начини • с тяхното наименование: red, green, blue, yellow, black, white и др. • в шестнадесетичен вид: #0099FF • по компоненти в десетичен вид: rgb(0, 99, 255) • по компоненти в десетичен вид с прозрачност: rgba(0, 99, 255, 0.5) • в цилиндрични координати: hsl(120, 60%, 50%) • в цилиндрични координати с прозрачност: hslа(120, 60%, 50%, 0.5)
  • 16. Селектор, свойство, стойност • Стойност за адрес – В редица свойства се налага задаването на адрес на картинка, шрифт и други файлове – Адреси се задават във формат url(път-към-файла) – Пътят към файла може да е заграден с единични кавички (‘) или двойни кавички (“) – Адресът може да е пълен, абсолютен или относителен (спрямо местоположението на текущия файл) – Примери background: url(http://example.com/background.jpg); background-image: url(/background.jpg) no-repeat; background-image: url(../background.jpg);
  • 17. Идентификация и групиране на селектори • Селекторите идентифицират елементите на основата на критерии – според техния етикет – според техния идентификатор – според техния клас – според наличието и/или стойностите на друг(и) атрибут(и)
  • 18. Идентификация и групиране на селектори • Универсален селектор – Избира всички елементи – Представлява символа “*” – Пример * { border: yellow; }
  • 19. Идентификация и групиране на селектори • Селектор по елемент – Избира елемент/и с посочения етикет – Представлява наименованието на етикета – Пример h1 { color: red; } <h1>Новини</h1>
  • 20. Идентификация и групиране на селектори • Селектор по идентификатор – Избира елемент с посочения идентификатор (стойността на неговия id атрибут) – Един елемент може да има само един идентификатор – Идентификаторът на елемент трябва да е уникален в рамките на документа – Представлява символът “#” следван от идентификатора – Пример #site-title { color: blue; } <h1 id="site-title">Информатор</h1>
  • 21. Идентификация и групиране на селектори • Селектор по клас – Избира елемент/и от посочения клас (стойност в неговия class атрибут) – Един елемент може да е от повече от един клас (наименованията на класовете се отделят с интервал) – Представлява символът “.” следван от наименованието на класа – Пример .news-title { color: blue; } <h1 class="news-title">СКАНДАЛНО! Учените направиха от пиле мляко</h1>
  • 22. Идентификация и групиране на селектори • Атрибутен селектор – Избира елемент/и по атрибут – Може да се избере по наличието на атрибут – Представлява наименованието на атрибута заградено с квадратни скоби – Пример [title] { border: green; } За повече информация натиснете <a href="#" title="Още">тук</a>.
  • 23. Идентификация и групиране на селектори • Атрибутен селектор – Избира елемент/и по атрибут – Представлява наименованието на атрибута следвано от символа “=” и търсената стойност, заградени в квадратни скоби – Може да се избере по конкретна стойност на атрибут – Пример [type=button] { border: green; } Име: <input type="text" name="name"/> <input type="button" value="#ИЗПРАТИГОБЕ"/>
  • 24. Идентификация и групиране на селектори • Атрибутен селектор – Избира елемент/и по атрибут – Може да се избере по условие за стойността на атрибут Условие Описание [атрибут] атрибутът атрибут е наличен [атрибут=стойност] стойността на атрибута атрибут е равна на стойността стойност [атрибут~=стойност] стойността на атрибута атрибут съдържа думата стойност [атрибут|=стойност] стойността на атрибута атрибут започва с думата стойност [атрибут^=стойност] стойността на атрибута атрибут започва с низа стойност [атрибут$=стойност] стойността на атрибута атрибут свършва с низа стойност [атрибут*=стойност] стойността на атрибута атрибут съдържа низа стойност
  • 25. Идентификация и групиране на селектори • Слепване на селектори – Когато се нуждаем да посочим елемент/и отговарящи на няколко критерия едновременно, можем да ги слепим – Примери p.warning { /* избира всички <p> елементи от клас “warning” */ } div#site-header { /* избира елемента с id “site-header”, но само ако е <div> */ }
  • 26. Идентификация и групиране на селектори • Комбиниране на селектори – Изброените до сега селектори са т.нар. прости селектори – Простите селектори могат да бъдат комбинирани в комбиниран селектор – За комбинирането може да се използва комбинатор
  • 27. Идентификация и групиране на селектори • Комбиниране на селектори – Селектор за „наследници“ • Комбинираме селектор A със селектор B • Избира сред елементите удовлетворяващи селектор B, които са „наследници“ на елементи удовлетворяващи селектор A – Пример article .source { /* избира елементите от клас “source” сред наследниците на <article> елемент */ } <article> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do… <footer><p class="source">Cicero</p></footer> </article>
  • 28. Идентификация и групиране на селектори • Комбиниране на селектори – Селектор за „деца“ • Комбинираме селектор A със селектор B • Избира сред елементите удовлетворяващи селектор B, които са „деца“ (директни „наследници“) на елементи удовлетворяващи селектор A – Пример article > .source { /* избира елементите от клас “source” сред наследниците на <article> елемент */ } <article> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do… <p class="source">Cicero</p> </article>
  • 29. Идентификация и групиране на селектори • Комбиниране на селектори – Селектор за „братя/сестри“ • Комбинираме селектор A със селектор B • Избира сред елементите удовлетворяващи селектор B, които следват елементи удовлетворяващи селектор A и имат общ „родител“ с тях – Пример .title ~ .source { /* избира елементите от клас “source” следващи елемент от клас “title” */ } <article> <div class="title">De finibus bonorum et malorum</div> <div class="content">Lorem ipsum dolor sit amet, consectetur…</div> <p class="source">Cicero</p> </article>
  • 30. Идентификация и групиране на селектори • Комбиниране на селектори – Селектор за непосредствени „братя/сестри“ • Комбинираме селектор A със селектор B • Избира сред елементите удовлетворяващи селектор B, които следват непосредствено елементи удовлетворяващи селектор A и имат общ „родител“ с тях – Пример .title + .content { /* избира елементите от клас „content” следващи непоср. елемент от клас „title” */ } <article> <div class="title">De finibus bonorum et malorum</div> <div class="content">Lorem ipsum dolor sit amet, consectetur…</div> <p class="source">Cicero</p> </article>
  • 31. Идентификация и групиране на селектори • Изброяване на селектори – Когато различни елементи трябва да имат един и същи стил – Различните селектори се отделят със запетая – Пример h1, h2, p { text-align: center; color: red; }
  • 32. Форматиране на текст, списъци, таблици • Свойства за шрифт font-family: Verdana, Geneva, sans-serif; font-size: 10px; font-style: italic; • Свойства за текста color: #930; text-decoration: line-through; text-transform: uppercase; text-align: center; letter-spacing: 20px; white-space: nowrap; word-break: break-all; word-wrap: break-word;
  • 33. Форматиране на текст, списъци, таблици • Свойства за фон – Свойствата могат да се установяват с индивидуални декларации background-color: #f4f4f4; background-image: url('css/red001.jpg'); background-repeat: no-repeat; background-attachment: scroll; background-size: cover; – Свойствата могат да се установяват с комбиниране в обща декларация background: #f4f4f4 url('css/red001.jpg') cover no-repeat scroll;
  • 34. Форматиране на текст, списъци, таблици • Свойства за рамка – Стил на рамката border-style: none; /* dotted dashed solid double groove ridge inset outset */ – Дебелина на рамката border-width: 1px; /* thin medium thick */ – Цвят на рамката border-color: #FF0000; – Могат да се задават стойности за конкретна рамка border-top-style: solid; – Могат да се задават по няколко стойности border-свойство: стойност-всички; border-свойство: стойност-горе-долу стойност-дясно-ляво; border-свойство: стойност-горе стойност-дясно-ляво стойност-долу; border-свойство: стойност-горе стойност-дясно стойност-долу стойност-ляво;
  • 35. Форматиране на текст, списъци, таблици • Свойства за списък – Свойствата на неподреден списък могат да се установят с индивидуални декларации list-style-type: circle; list-style-image: url(circle.gif); list-style-position: inside; – Свойствата на подреден списък могат да се установят с индивидуални декларации list-style-type: upper-roman; list-style-position: outside; – Свойствата на списък могат да се установят в обща декларация list-style: circle inside url('circle.gif');
  • 36. Форматиране на текст, списъци, таблици • Свойства за таблица – Всяка клетка от таблицата има собствена рамка – Рамките могат да бъдат „паднат“ една върху друга border-collapse: collapse; – Според начина на определяна на широчините на колоните, разположението на колоните може да бъде различно • Автоматично (стойност auto) – широчина на колоните според най- широкото непрекъснато съдържание table-layout: auto; • Фиксирано (стойност fixed) – зависи единствено от размерите на таблицата и колоните table-layout: fixed;
  • 37. CSS Box Model • Можем да си представим всеки HTML елемент като кутийка • CSS Box Model преставлява кутийката около всеки елемент състояща се от: – Съдържание – Padding – Border – Margin
  • 38. CSS Box Model • Различните части на кутийката имат своето положение и характеристика – Съдържание - съдържанието на кутията • Може да съдържа текст, картинки и други елементи – Padding (отстъп) - обвива съдържанието • Осигурява пространство около съдържанието (отстъп от рамката) • Padding полето е прозрачно, но може да има дебелина – Border (рамка) - огражда padding полето • Може да има цвят, стил, дебелина, форма и т.н. – Margin (отстояние) - обвива border полето • Осигурява пространство около border полето (отстоянието от другите елементи) • Margin полето е прозрачно, но може да има дебелина
  • 39. CSS Box Model • Изчисляване на широчина и височината на елементите в CSS Box Model Широчина = ширина на съдържанието + ляв padding + десен padding + ляв border + десен border + ляв margin + десен margin Височина = височината на съдържанието + горен padding + долен padding + горен border + долен border + горен margin + долен margin • Пример .math { width: 250px; padding: 10px; border: 5px solid gray; margin: 10px; } /* 250px (width) + 20px (left + right padding) + 10px (left + right border) + 20px (left + right margin) = 300px */
  • 40. Border, margin, padding • Border (рамка) – Рамката е непрозрачна и поддържа редица няколко визуални свойства • Свойства за определяне на цвят border-color • Свойства за определяне на стил border-style • Свойства за определяне на широчина border-width • Свойства за определяне на заобляне border-radius • Свойства за определяне на изображение border-image border-image: url(border.png) 20% 5px 8px round; border-image-source: url(border.png); border-image-slice: 20%; border-image-width: 5px; border-image-outset: 8px; border-image-repeat: round;
  • 41. Border, margin, padding • Padding (отстъп) – Отстъпът е прозрачен и има свойства единствено за определяне на широчината padding: 5px 8px 7px 4px; padding-top: 5px; padding-right: 8px; padding-bottom: 7px; padding-left: 4px; • Margin (отстояние) – Отстоянието е прозрачно и има свойства единствено за определяне на широчината margin: 5px 8px 7px 4px;
  • 42. Позициониране на елементи • Позициониране на елементи – Върху позиционирането на елементи може да се окаже влияние със свойството position в комбинация със свойствата top, right, bottom и left. – Поддържат се няколко стойности (по подразбиране static) Стойност Описание static Елементът се позиционира според в реда, в който е в документа. absolute Елементът се позиционира спрямо положението на първия не-статично позициониран “родителски“ елемент fixed Елементът се позиционира спрямо браузерния прозорец. relative Елементът се позиционира спрямо обикновената му позиция.
  • 43. Позициониране на елементи • Свойството z-index – Указва реда на елемента по Z-координатата – Важи единствено за елементи с абсолютна, относителна и фиксирана позиция • Свойството float – Указва дали избрания елемент трябва да „плава“ (и накъде) или не – Не важи за елементи с абсолютна позиция! – Възможни са стойностите none, left и right • Свойството clear – Изчиства плаващите елементи около избрания елемент – Възможните са стойностите none, left, right и both
  • 44. Позициониране на елементи • Свойството visibility – Указва дали избрания елемент да е видим или не – Възможни са стойностите visible, hidden и collapsed (за таблици) – Стойността hidden скрива елемента, но все пак заема място • Свойството display – Указва вида на кутийката, която да се използва за избрания елемент – Възможните са стойностите none, inline, block, inline-block и др. – Стойността none скрива напълно елемента – Стойността block – съдържа padding, border, margin – Стойността inline – игнорира height и width – Стойността inline-block – добавя height и width
  • 45. Позициониране на елементи • Свойството opacity • Указва нивото на прозрачност на елемента • Възможните стойности са десетични числа от 0 (напълно прозрачно) до 1 (напълно непрозрачно) • Свойството overflow – Указва какво ще се случи при препълване на съдържанието – Възможни са стойностите visible, hidden, scroll и auto – Могат да се използват и свойствата overflow-x и overflow-y
  • 46. Псевдокласове и псевдоелементи • Псевдокласове – Комбинират се с основен селектор, за да изберат специално състояние на елемента – Наименованията им започват с „:“ и се прилепват към основния селектор – Пример a:visited { color: gray; } <a href="http://www.david.bg/">ДАВИД Холдинг АД</a> – Списък и предназначение на псевдокласовете, може да се намери тук: http://www.w3.org/wiki/CSS/Selectors#Pseudo-classes
  • 47. Псевдокласове и псевдоелементи • Псевдоелементи – Комбинират се с основен селектор, за да изберат специална част от документа – Наименованията им започват с „::“ и се прилепват към основния селектор – Пример a::after { content: " >>"; } <a href="http://www.david.bg/">ДАВИД Холдинг АД</a> – Списък и предназначение на псевдоелементите, може да се намери тук: http://www.w3.org/wiki/CSS/Selectors#Pseudo-elements
  • 49. Благодаря! • Валери Дачев – valery@david.bg – @vdachev – https://facebook.com/vdachev • ДАВИД академия – acad@david.bg – http://acad.david.bg/ – @david_academy – https://facebook.com/DavidAcademy

Editor's Notes

  1. Стил – начин на правене на нещо
  2. Стил – начин на правене на нещо
  3. HSL (Hue, Saturation, Lightness) – оттенък (градуси), наситеност (%), светлина (%)
  4. HSL (Hue, Saturation, Lightness) – оттенък (градуси), наситеност (%), светлина (%)