ÐнаÑÐµÐ½Ð¸Ñ ÑвойÑÑв CSS
Ðаждое ÑвойÑÑво иÑполÑзÑемое в CSS Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение или Ð½Ð°Ð±Ð¾Ñ Ð·Ð½Ð°Ñений коÑоÑÑе допÑÑÑÐ¸Ð¼Ñ Ð´Ð»Ñ ÑÑого ÑвойÑÑва, и изÑÑение ÑÑÑÐ°Ð½Ð¸Ñ MDN Ñо ÑвойÑÑвами Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð²Ð°Ð¼ понÑÑÑ ÐºÐ°ÐºÐ¸Ðµ знаÑÐµÐ½Ð¸Ñ Ð²Ð°Ð»Ð¸Ð´Ð½Ñ Ð´Ð»Ñ Ñого или иного ÑвойÑÑва. Ð ÑÑом ÑÑоке Ð¼Ñ ÑаÑÑмоÑÑим некоÑоÑÑе наиболее обÑие знаÑÐµÐ½Ð¸Ñ Ð¸ единиÑÑ Ð² иÑполÑзовании.
| Prerequisites: | Basic computer literacy, basic software installed, basic knowledge of working with files, HTML basics (study Introduction to HTML), and an idea of how CSS works (study CSS first steps.) |
|---|---|
| Objective: | To learn about the different types of values and units used in CSS properties. |
ЧÑо Ñакое знаÑение CSS?
Ð ÑпеÑиÑикаÑиÑÑ
CSS и на ÑÑÑаниÑаÑ
ÑвойÑÑв здеÑÑ Ð² MDN Ð²Ñ ÑможеÑе опÑеделÑÑÑ (ÑзнаваÑÑ) знаÑениÑ, поÑÐ¾Ð¼Ñ ÐºÐ°Ðº они бÑдÑÑ Ð·Ð°ÐºÐ»ÑÑÐµÐ½Ñ Ð² ÑгловÑе Ñкобки, напÑÐ¸Ð¼ÐµÑ <color> или <length>. ÐÑли Ð²Ñ Ð²Ð¸Ð´Ð¸Ñе знаÑение <color> как дейÑÑвиÑелÑное Ð´Ð»Ñ Ð¾Ð¿ÑеделÑнного ÑвойÑÑва ÑÑо знаÑÐ¸Ñ ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð»Ñбой валиднÑй ÑÐ²ÐµÑ Ð² каÑеÑÑве знаÑение Ð´Ð»Ñ ÑÑого ÑвойÑÑва, как пеÑеÑиÑлено на ÑÑÑаниÑе <color>.
ÐÑимеÑание: You'll also see CSS values referred to as data types. The terms are basically interchangeable â when you see something in CSS referred to as a data type, it is really just a fancy way of saying value.
ÐÑимеÑание:
Yes, CSS values tend to be denoted using angle brackets, to differentiate them from CSS properties (e.g. the color property, versus the <color> data type). You might get confused between CSS data types and HTML elements too, as they both use angle brackets, but this is unlikely â they are used in very different contexts.
Ð ÑледÑÑÑем пÑимеÑе Ð¼Ñ ÑÑÑановили ÑÐ²ÐµÑ Ð½Ð°Ñего заголовка иÑполÑзÑÑ ÐºÐ»ÑÑевое Ñлово и Ñон иÑполÑзÑÑ ÑÑнкÑÐ¸Ñ rgb():
h1 {
color: black;
background-color: rgb(197, 93, 161);
}
ÐнаÑение в CSS ÑÑо пÑÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑии допÑÑÑимÑÑ
под-знаÑений. То еÑÑÑ ÐµÑли Ð²Ñ Ð²Ð¸Ð´Ð¸Ñе <color> как пÑименÑннÑй, Ñо вам не надо озадаÑиваÑÑÑÑ ÐºÐ°ÐºÐ¾Ð¹ из ÑазнÑÑ
Ñипов знаÑÐµÐ½Ð¸Ñ ÑвеÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован â клÑÑевое Ñлово, hex знаÑение, ÑÑнкÑÐ¸Ñ rgb() и Ñ.д. ÐÑ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ Ð»ÑбÑм доÑÑÑпнÑм знаÑением <color> пÑи ÑÑловии, ÑÑо они поддеÑживаÑÑÑÑ Ð²Ð°Ñим бÑаÑзеÑом. СÑÑаниÑÑ Ð´Ð»Ñ Ð²ÑеÑ
знаÑений на MDN дадÑÑ Ð²Ð°Ð¼ инÑоÑмаÑÐ¸Ñ Ð¾ поддеÑжке бÑаÑзеÑов. ÐапÑимеÑ, еÑли Ð²Ñ Ð¿Ð¾ÑмоÑÑиÑе на ÑÑÑаниÑÑ <color> Ñо Ð²Ñ ÑвидиÑе Ñаздел ÑовмеÑÑимоÑÑи бÑаÑзеÑов в коÑоÑом пеÑеÑиÑÐ»ÐµÐ½Ñ ÑазлиÑнÑе ÑÐ¸Ð¿Ñ Ð·Ð½Ð°Ñений ÑвеÑа и иÑ
поддеÑжка.
ÐавайÑе поÑмоÑÑим на некоÑоÑÑе ÑÐ¸Ð¿Ñ Ð·Ð½Ð°Ñений и ÐµÐ´Ð¸Ð½Ð¸Ñ Ñ Ð¿ÑимеÑами ÑÑÐ¾Ð±Ñ Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ опÑобоваÑÑ ÑазлиÑнÑе возможнÑе знаÑениÑ, Ñ ÐºÐ¾ÑоÑÑми Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑаÑÑо ÑÑалкиваÑÑÑÑ.
ЧиÑла, Ð´Ð»Ð¸Ð½Ñ Ð¸ пÑоÑенÑÑ
СÑÑеÑÑвÑÑÑ ÑазлиÑнÑе ÑÐ¸Ð¿Ñ ÑиÑловÑÑ Ð´Ð°Ð½Ð½ÑÑ , коÑоÑÑе Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð² CSS. СледÑÑÑие ÑÐ¸Ð¿Ñ ÐºÐ»Ð°ÑÑиÑиÑиÑÑÑÑÑÑ ÐºÐ°Ðº ÑиÑловÑе:
| Тип даннÑÑ | ÐпиÑание |
|---|---|
<integer> |
<integer> (Ñелое ÑиÑло) â Ñелое ÑиÑло Ñакое как 1024 или -55. |
<number> |
<number> (ÑиÑло) пÑедÑÑавлÑÐµÑ Ð´ÐµÑÑÑиÑное ÑиÑло â оно Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ, а Ð¼Ð¾Ð¶ÐµÑ Ð¸ не имеÑÑ Ð´ÐµÑÑÑиÑнÑÑ ÑоÑÐºÑ Ñ ÑакÑоÑиалÑнÑм компоненÑом, напÑÐ¸Ð¼ÐµÑ 0.255, 128, или -1.2. |
<dimension> |
<dimension> (измеÑение) ÑÑо â <number> (ÑиÑло) Ñ ÐµÐ´Ð¸Ð½Ð¸Ñей измеÑениÑ, пÑикÑеплÑнной к немÑ, напÑÐ¸Ð¼ÐµÑ 45deg, 5s, или 10px. <dimension> â ÑÑо Ð·Ð¾Ð½Ñ ÐºÐ°ÑегоÑий, вклÑÑаÑÑиÑ
в ÑÐµÐ±Ñ ÑÐ¸Ð¿Ñ <length>, <angle>, <time>, и <resolution> (длина, Ñгол, вÑÐµÐ¼Ñ Ð¸ ÑазÑеÑение). |
<percentage> |
<percentage> (пÑоÑенÑÑ) пÑедÑÑавлÑÑÑ Ñобой Ð´Ð¾Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑого дÑÑгого знаÑениÑ, напÑÐ¸Ð¼ÐµÑ 50%. ÐÑоÑенÑнÑе знаÑÐµÐ½Ð¸Ñ Ð²Ñегда оÑноÑиÑелÑÐ½Ñ Ð¿Ð¾ оÑноÑÐµÐ½Ð¸Ñ Ðº дÑÑÐ³Ð¾Ð¼Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑвÑ, напÑÐ¸Ð¼ÐµÑ Ð´Ð»Ð¸Ð½Ð° ÑлеменÑа оÑноÑиÑелÑна к длине ÐµÑ ÑодиÑелÑÑкого ÑлеменÑа. |
ÐлинÑ
ЧиÑловой Ñип, Ñ ÐºÐ¾ÑоÑÑм Ð²Ñ Ð±ÑдеÑе ÑÑалкиваÑÑÑÑ ÑаÑе вÑего ÑÑо <length> (длина), напÑÐ¸Ð¼ÐµÑ 10px (пикÑели) или 30em. СÑÑеÑÑвÑÐµÑ Ð´Ð²Ð° Ñипа длин иÑполÑзÑемÑÑ
в CSS â оÑноÑиÑелÑнÑе и абÑолÑÑнÑе. Ðажно знаÑÑ ÑазниÑÑ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ, наÑколÑко болÑÑими ÑÑанÑÑ Ð²ÐµÑи.
ÐбÑолÑÑнÑе единиÑÑ Ð´Ð»Ð¸Ð½Ñ
Ðиже пÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð²Ñе единиÑÑ Ð°Ð±ÑолÑÑной Ð´Ð»Ð¸Ð½Ñ â они не ÑвлÑÑÑÑÑ Ð¾ÑноÑиÑелÑнÑми к ÑемÑ-либо и обÑÑно ÑÑиÑаÑÑÑÑ Ð²Ñегда одинакового ÑазмеÑа.
| ÐдиниÑÑ | Ðазвание | ÐÐºÐ²Ð¸Ð²Ð°Ð»ÐµÐ½Ñ |
|---|---|---|
cm |
Centimeters/СанÑимеÑÑÑ | 1cm = 96px/2.54 |
mm |
Millimeters/ÐиллимеÑÑÑ | 1mm = 1/10th of 1cm |
Q |
Quarter-millimeters/ЧеÑвеÑÑÑ-мм | 1Q = 1/40th of 1cm |
in |
Inches/ÐÑÐ¹Ð¼Ñ | 1in = 2.54cm = 96px |
pc |
Picas/Ðики | 1pc = 1/6th of 1in |
pt |
Points/ТоÑки | 1pt = 1/72th of 1in |
px |
Pixels/ÐикÑели | 1px = 1/96th of 1in |
ÐолÑÑинÑÑво из ÑÑиÑ
знаÑений болÑÑе Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ Ð¿Ñи иÑполÑзовании пеÑаÑи, Ñем Ð´Ð»Ñ Ð²Ñвода на ÑкÑан. ÐапÑимеÑ, Ð¼Ñ Ð¾Ð±ÑÑно не иÑполÑзÑем cm (ÑанÑимеÑÑÑ) на ÑкÑане. ÐдинÑÑвенное знаÑение коÑоÑое Ð²Ñ Ð² оÑновном бÑдеÑе иÑполÑзоваÑÑ ÑÑо px (пикÑели).
ÐдиниÑÑ Ð¾ÑноÑиÑелÑной длинÑ
ÐÑноÑиÑелÑнÑе единиÑÑ Ð´Ð»Ð¸Ð½ ÑвлÑÑÑÑÑ Ð¾ÑноÑиÑелÑнÑми к ÑемÑ-Ñо еÑÑ, возможно к ÑазмеÑÑ ÑодиÑелÑÑкого ÑÑиÑÑа или к ÑазмеÑÑ Ð¾ÐºÐ½Ð° пÑоÑмоÑÑа. ÐÑеимÑÑеÑÑво иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾ÑноÑиÑелÑнÑÑ ÐµÐ´Ð¸Ð½Ð¸Ñ ÑоÑÑÐ¾Ð¸Ñ Ð² Ñом, ÑÑо пÑи ÑÑаÑелÑном планиÑовании Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑделаÑÑ Ñак, ÑÑÐ¾Ð±Ñ ÑÐ°Ð·Ð¼ÐµÑ ÑекÑÑа или дÑÑÐ³Ð¸Ñ ÑлеменÑов маÑÑÑабиÑовалÑÑ Ð¾ÑноÑиÑелÑно вÑего оÑÑалÑного на ÑÑÑаниÑе. ÐекоÑоÑÑе наиболее иÑполÑзÑемÑе единиÑÑ Ð²ÐµÐ±-ÑазÑабоÑки пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² ÑаблиÑе ниже.
| ÐдиниÑа | ÐÑноÑиÑелÑна к |
|---|---|
em |
Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа ÑодиÑелÑÑкого ÑлеменÑа. |
ex |
x-вÑÑоÑа ÑÑиÑÑа ÑлеменÑа. |
ch |
ÐÑедваÑиÑелÑÐ½Ð°Ñ Ð¼ÐµÑа (ÑиÑина) глиÑа "0" ÑÑиÑÑа ÑлеменÑа. |
rem |
Ð Ð°Ð·Ð¼ÐµÑ ÑÑиÑÑа коÑневого ÑлеменÑа. |
lh |
ÐÑÑоÑа ÑÑÑоки ÑлеменÑа. |
vw |
1% Ð¾Ñ ÑиÑÐ¸Ð½Ñ Ð¾ÐºÐ½Ð° пÑоÑмоÑÑа. |
vh |
1% Ð¾Ñ Ð²ÑÑоÑÑ Ð¾ÐºÐ½Ð° пÑоÑмоÑÑа. |
vmin |
1% Ð¾Ñ Ð¼ÐµÐ½ÑÑего измеÑÐµÐ½Ð¸Ñ ÑиÑÐ¸Ð½Ñ Ð¾ÐºÐ½Ð° пÑоÑмоÑÑа. |
vmax |
1% Ð¾Ñ Ð±Ð¾Ð»ÑÑего измеÑÐµÐ½Ð¸Ñ ÑиÑÐ¸Ð½Ñ Ð¾ÐºÐ½Ð° пÑоÑмоÑÑа. |
ÐзÑÑение на пÑимеÑе
РпÑимеÑе ниже Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑвидеÑÑ, как некоÑоÑÑе оÑноÑиÑелÑнÑе и абÑолÑÑнÑе единиÑÑ Ð´Ð»Ð¸Ð½ ведÑÑ ÑебÑ. ÐеÑвÑй блок Ð¸Ð¼ÐµÐµÑ width (ÑиÑинÑ) ÑÑÑановленнÑÑ Ð² пикÑелÑÑ
. Ðак абÑолÑÑÐ½Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñа ÑÑа ÑиÑина бÑÐ´ÐµÑ Ð¾ÑÑаваÑÑÑÑ Ñакой же неважно ÑÑо еÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑÑÑ.
ÐÑоÑой блок Ð¸Ð¼ÐµÐµÑ ÑиÑинÑ, ÑÑÑановленнÑÑ Ð² единиÑаÑ
vw (ÑиÑина окна пÑоÑмоÑÑа). ÐÑо знаÑение оÑноÑиÑелÑно к ÑиÑине окна пÑоÑмоÑÑа и Ñаким обÑазом 10vw ÑÑо 10 пÑоÑенÑов Ð¾Ñ ÑиÑÐ¸Ð½Ñ Ð¾ÐºÐ½Ð° пÑоÑмоÑÑа. ÐÑли Ð²Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñе ÑиÑÐ¸Ð½Ñ Ð¾ÐºÐ½Ð° ваÑего бÑаÑзеÑа, ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð»Ð¾ÐºÐ° должен измениÑÑÑÑ, однако ÑÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð²ÑÑÑоен в ÑÑÑаниÑÑ Ñ Ð¸ÑполÑзованием <iframe>, поÑÑÐ¾Ð¼Ñ ÑÑо не ÑÑабоÑаеÑ. ÐÐ»Ñ Ñого ÑÑÐ¾Ð±Ñ ÑвидеÑÑ ÑÑо в дейÑÑвии Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾ÑкÑÑÑÑ ÑÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð² оÑделÑной вкладке бÑаÑзеÑа.
ТÑеÑий блок иÑполÑзÑÐµÑ ÐµÐ´Ð¸Ð½Ð¸ÑÑ em. Ðни оÑноÑиÑелÑÐ½Ñ Ðº ÑазмеÑÑ ÑÑиÑÑа. Я ÑÑÑановил ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа 1em Ð´Ð»Ñ ÑодеÑжимого <div>, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ ÐºÐ»Ð°ÑÑ .wrapper. ÐзмениÑе ÑÑо знаÑение на 1.5em и Ð²Ñ ÑвидиÑе ÑÑо, ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа вÑеÑ
ÑÑиÑ
ÑлеменÑов ÑвелиÑиÑÑÑ, но ÑолÑко поÑледний обÑÐµÐºÑ ÑÑÐ°Ð½ÐµÑ ÑиÑе, поÑколÑÐºÑ ÐµÐ³Ð¾ ÑиÑина оÑноÑиÑелÑна к ÑÐ¾Ð¼Ñ ÑазмеÑа ÑÑиÑÑа.
ÐоÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸Ð½ÑÑÑÑкÑÐ¸Ñ Ð²ÑÑе, попÑобÑйÑе поигÑаÑÑ Ñо знаÑениÑми и поÑмоÑÑиÑе, ÑÑо Ñ Ð²Ð°Ñ Ð¿Ð¾Ð»ÑÑиÑÑÑ.
em и rem
em и rem â две оÑноÑиÑелÑнÑе длинÑ, Ñ ÐºÐ¾ÑоÑÑми Ð²Ñ Ð²ÐµÑоÑÑное вÑего ÑÑалкиваеÑеÑÑ ÑаÑе пÑи ÑазмеÑке Ñего-либо Ð¾Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² до ÑекÑÑа. СÑÐ¾Ð¸Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ ÐºÐ°Ðº они ÑабоÑаÑÑ, понимаÑÑ ÑазлиÑÐ¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸, оÑобенно когда Ð²Ñ Ð½Ð°ÑинаеÑе пеÑеÑ
одиÑÑ Ðº более ÑложнÑм Ñемам как ÑÑилизаÑÐ¸Ñ ÑекÑÑа или ÑазмеÑка CSS. ÐÑиведÑннÑй ниже пÑÐ¸Ð¼ÐµÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÐµÑ ÑÑо.
HTML ÑÑо Ð½Ð°Ð±Ð¾Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½ÑÑ ÑпиÑков â Ñ Ð½Ð°Ñ Ð¸Ð¼ÐµÐµÑÑÑ ÑÑи ÑпиÑка в обÑей ÑложноÑÑи и оба пÑимеÑа имеÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñй HTML. ÐдинÑÑвенное ÑазлиÑие в Ñом, ÑÑо пеÑвÑй Ð¸Ð¼ÐµÐµÑ ÐºÐ»Ð°ÑÑ ems, а вÑоÑой клаÑÑ rems.
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ, Ð¼Ñ ÑÑÑановили 16px Ð´Ð»Ñ ÑазмеÑа ÑÑиÑÑа ÑлеменÑа <html>.
ÐовÑоÑим, единиÑа em ознаÑÐ°ÐµÑ "ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа ÑодиÑелÑÑкого ÑлеменÑа". ÐлеменÑÑ <li> внÑÑÑи <ul> Ñ ÐºÐ»Ð°ÑÑом ems полÑÑаÑÑ Ñвои ÑазмеÑÑ Ð¾Ñ Ñвоего ÑодиÑелÑ. Так, каждÑй поÑледÑÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑановиÑÑÑ Ð¿ÑогÑеÑÑивно болÑÑе, Ñак как каждÑй Ð¸Ð¼ÐµÐµÑ Ñвой ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа ÑÑÑановленнÑй на 1.3em â 1.3 Ñаза Ð¾Ñ ÑазмеÑа ÑÑиÑÑа ÑодиÑелÑ.
ÐовÑоÑим, единиÑа rem ознаÑÐ°ÐµÑ "ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа коÑневого ÑлеменÑа" (rem знаÑÐ¸Ñ "root em". (root - коÑенÑ)). ÐлеменÑÑ <li> внÑÑÑи <ul> Ñ ÐºÐ»Ð°ÑÑом rems полÑÑаÑÑ Ñвои ÑазмеÑÑ Ð¾Ñ ÐºÐ¾Ñневого ÑлеменÑа (<html>). ÐÑо знаÑиÑ, ÑÑо каждÑй поÑледÑÑÑий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑвелиÑиваÑÑÑÑ.
Ðднако, еÑли Ð²Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñе font-size (ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа) <html> в CSS, Ð²Ñ ÑвидиÑе ÑÑо вÑе оÑÑалÑное измениÑÑÑ Ð¾ÑноÑиÑелÑно ÐµÐ¼Ñ â и rem- и em-ÑазмеÑÑ ÑекÑÑа
ÐÑоÑенÑÑ
Ðо многиÑ
ÑлÑÑаÑÑ
пÑоÑенÑÑ Ð¾Ð±ÑабаÑÑваÑÑÑÑ Ñаким же обÑазом, как и длина. С пÑоÑенÑами ÑиÑка в Ñом, ÑÑо они вÑегда ÑÑÑанавливаÑÑÑÑ Ð¾ÑноÑиÑелÑно некоÑоÑого дÑÑгого знаÑениÑ. ÐапÑимеÑ, еÑли Ð²Ñ ÑÑÑановиÑе font-size ÑлеменÑа как пÑоÑенÑÑ, Ñо ÑÑо бÑÐ´ÐµÑ Ð¿ÑоÑÐµÐ½Ñ Ð¾Ñ font-size ÑодиÑелÑÑкого ÑлеменÑа. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе пÑоÑÐµÐ½Ñ Ð´Ð»Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ width (ÑиÑина), Ñо ÑÑо бÑÐ´ÐµÑ Ð¿ÑоÑÐµÐ½Ñ Ð¾Ñ width ÑодиÑелÑ.
РпÑимеÑе ниже два блока Ñ ÑазмеÑами в пÑоÑенÑÐ°Ñ Ð¸ два Ñ ÑазмеÑами в пикÑелÑÑ Ð¸Ð¼ÐµÑÑÐ¸Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñе имена клаÑÑов. Ðба набоÑа имеÑÑ ÑиÑÐ¸Ð½Ñ 200px и 40% ÑооÑвеÑÑÑвенно.
РазлиÑие в Ñом, ÑÑо вÑоÑой Ð½Ð°Ð±Ð¾Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð²Ð½ÑÑÑи обÑÑÑки коÑоÑÐ°Ñ Ð¸Ð¼ÐµÐµÑ ÑиÑÐ¸Ð½Ñ 400 пикÑелей. ÐÑоÑой блок ÑиÑиной в 200px Ð¸Ð¼ÐµÐµÑ ÑÑ Ð¶Ðµ ÑиÑÐ¸Ð½Ñ ÑÑо и пеÑвÑй, но вÑоÑой 40 пÑоÑенÑнÑй блок ÑепеÑÑ Ð¸Ð¼ÐµÐµÑ 40% Ð¾Ñ 400px â намного Ñже Ñем пеÑвÑй.
ÐопÑобÑйÑе измениÑÑ ÑиÑÐ¸Ð½Ñ Ð¾Ð±ÑÑÑки (.wrapper) или пÑоÑенÑное знаÑение ÑÑÐ¾Ð±Ñ ÑвидеÑÑ, как ÑÑо ÑабоÑаеÑ.
Ð ÑледÑÑÑем пÑимеÑе ÑÐ°Ð·Ð¼ÐµÑ ÑÑиÑÑа ÑÑÑановлен в пÑоÑенÑаÑ
. ÐаждÑй <li> Ð¸Ð¼ÐµÐµÑ font-size 80%, поÑÑÐ¾Ð¼Ñ ÑлеменÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑпиÑка ÑÑановÑÑÑÑ Ð¿ÑогÑеÑÑивно менÑÑе Ñак как они наÑледÑÑÑ Ñвои ÑазмеÑÑ Ð¾Ñ ÑодиÑелÑ.
ÐбÑаÑиÑе внимание, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº многие знаÑÐµÐ½Ð¸Ñ Ð¿ÑинимаÑÑ ÐºÐ°Ðº длинÑ, Ñак и пÑоÑенÑÑ, ÑÑÑеÑÑвÑÑÑ Ñе, коÑоÑÑе пÑинимаÑÑ ÑолÑко длинÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе поÑмоÑÑеÑÑ ÐºÐ°ÐºÐ¸Ðµ знаÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿ÑÑÑÐ¸Ð¼Ñ Ð½Ð° ÑпÑавоÑной ÑÑÑаниÑе ÑвойÑÑв MDN. ÐÑли допÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑÑаÑÑ <length-percentage>, Ñогда Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¸ длинÑ, и пÑоÑенÑÑ. ÐÑли же допÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ Ð²ÐºÐ»ÑÑаÑÑ ÑолÑко <length>, Ñо иÑполÑзование пÑоÑенÑов невозможно.
ЧиÑла
ÐекоÑоÑÑе знаÑÐµÐ½Ð¸Ñ Ð¿ÑинимаÑÑ ÑиÑла без какиÑ
-либо ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ. ÐÑимеÑом ÑвойÑÑва пÑинимаÑÑего ÑиÑла без ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ ÑлÑжиÑÑ ÑвойÑÑво opacity, коÑоÑое конÑÑолиÑÑÐµÑ Ð¼ÑÑноÑÑÑ ÑлеменÑа (наÑÑолÑко он пÑозÑаÑен). ÐÑо ÑвойÑÑво пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑиÑла Ð¼ÐµÐ¶Ð´Ñ 0 (полноÑÑÑÑ Ð¿ÑозÑаÑное) и 1 (полноÑÑÑÑ Ð¼ÑÑное).
РпÑимеÑе ниже, попÑобÑйÑе измениÑÑ Ð·Ð½Ð°Ñение opacity на ÑазлиÑнÑе деÑÑÑиÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ 0 и 1 и поÑмоÑÑиÑе, как блок и его ÑодеÑжимое ÑÑановиÑÑÑ Ð±Ð¾Ð»ÐµÐµ и/или менее мÑÑнÑми.
ÐÑимеÑание: Ðогда Ð²Ñ Ð¸ÑполÑзÑеÑе ÑиÑла в CSS в каÑеÑÑве знаÑений, они не Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð·Ð°ÐºÐ»ÑÑÐµÐ½Ñ Ð² кавÑÑки.
ЦвеÑ
СÑÑеÑÑвÑÐµÑ Ð¼Ð½Ð¾Ð³Ð¾ ÑпоÑобов опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑвеÑа в CSS, некоÑоÑÑе из коÑоÑÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð´Ð¾Ð²Ð¾Ð»Ñно-Ñаки недавно по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð´ÑÑгими. ÐдинаковÑе знаÑÐµÐ½Ð¸Ñ ÑвеÑа могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð²ÐµÐ·Ð´Ðµ в CSS, опÑеделÑеÑе ли Ð²Ñ Ð¿Ñи ÑÑом ÑÐ²ÐµÑ ÑекÑÑа, ÑÐ²ÐµÑ Ñона или ÑÐ²ÐµÑ Ñего-либо еÑÑ.
СÑандаÑÑÐ½Ð°Ñ ÑиÑÑема ÑвеÑов доÑÑÑÐ¿Ð½Ð°Ñ Ð² ÑовÑеменнÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑÐ°Ñ â ÑÑо 24-биÑÐ½Ð°Ñ ÑиÑÑема, коÑоÑÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑобÑажаÑÑ Ð¾ÐºÐ¾Ð»Ð¾ 16.7 миллионов оÑделÑнÑÑ ÑвеÑов ÑеÑез комбинаÑÐ¸Ñ ÑазлиÑнÑÑ ÐºÑаÑнÑÑ , зелÑнÑÑ Ð¸ ÑÐ¸Ð½Ð¸Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð² Ñ 256 ÑазлиÑнÑми знаÑениÑми каждого канала (256 x 256 x 256 = 16,777,216). ÐавайÑе взглÑнем на некоÑоÑÑе ÑпоÑобÑ, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾ÑоÑÑÑ Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ опÑеделÑÑÑ ÑÐ²ÐµÑ Ð² CSS.
ÐÑимеÑание: Ð ÑÑом ÑÑководÑÑве Ð¼Ñ ÑаÑÑмоÑÑим обÑие меÑÐ¾Ð´Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑвеÑа, коÑоÑÑе имеÑÑ Ñ Ð¾ÑоÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð±ÑаÑзеÑами; ÑÑÑеÑÑвÑÑÑ Ð¸ дÑÑгие меÑодÑ, но они не имеÑÑ ÑÑÐ¾Ð»Ñ Ð¶Ðµ Ñ Ð¾ÑоÑей поддеÑжки и ÑвлÑÑÑÑÑ Ð¼ÐµÐ½ÐµÐµ обÑими.
ÐлÑÑевÑе Ñлова ÑвеÑа
ÐоволÑно ÑаÑÑо в пÑимеÑаÑ
как здеÑÑ, Ñак и на дÑÑгиÑ
ÑÑÑаниÑаÑ
в MDN Ð²Ñ Ð±ÑдеÑе видеÑÑ Ð¸ÑполÑзование клÑÑевÑÑ
Ñлов ÑвеÑа, поÑколÑÐºÑ ÑÑо пÑоÑÑой и понÑÑнÑй ÑпоÑоб опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑвеÑа. СÑÑеÑÑвÑÐµÑ Ð¾Ð¿ÑеделÑнное колиÑеÑÑво ÑÑиÑ
клÑÑевÑÑ
Ñлов и некоÑоÑÑе иÑ
ниÑ
имеÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно занимаÑелÑнÑе имена! ÐолнÑй ÑпиÑок Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе поÑмоÑÑеÑÑ Ð½Ð° ÑÑÑаниÑе знаÑений <color> .
ÐопÑобÑйÑе поигÑаÑÑ Ñ ÑазнÑми знаÑениÑми ÑвеÑа на живом пÑимеÑе ниже, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ Ð±Ð¾Ð»ÑÑе об идее как они ÑабоÑаÑÑ.
ШеÑÑнадÑаÑеÑиÑнÑе RGB знаÑениÑ
СледÑÑÑий Ñип знаÑÐµÐ½Ð¸Ñ ÑвеÑа, Ñ ÐºÐ¾ÑоÑÑм Ð²Ñ ÑÑалкиваеÑеÑÑ Ð²ÐµÑоÑÑнее вÑего â ÑÑо ÑеÑÑнадÑаÑеÑиÑнÑе кодÑ. Ðаждое hex-знаÑение ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· Ñимвола ÑеÑÑÑки (#) за коÑоÑÑм ÑледÑÑÑ 6 ÑеÑÑнадÑаÑеÑиÑнÑÑ
ÑиÑел, каждое из коÑоÑÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ Ð¾Ð´Ð½Ð¾ из 16 знаÑений Ð¾Ñ 0 до f (пÑедÑÑавлÑÑÑÐ°Ñ 15) â Ñо еÑÑÑ 0123456789abcdef. ÐÐ°Ð¶Ð´Ð°Ñ Ð¿Ð°Ñа знаÑений пÑедÑÑавлÑÐµÑ Ð¾Ð´Ð¸Ð½ из каналов â кÑаÑного, зелÑного или Ñинего ÑвеÑов â и позволÑÐµÑ Ð½Ð°Ð¼ опÑеделÑÑÑ Ð»Ñбой из 256 доÑÑÑпнÑÑ
знаÑений Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ (16 x 16 = 256).
ÐÑи знаÑÐµÐ½Ð¸Ñ ÑвлÑÑÑÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ более ÑложнÑми и менее пÑоÑÑÑми Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ, но они намного более ÑнивеÑÑалÑÐ½Ñ Ñем клÑÑевÑе Ñлова â Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ hex-знаÑÐµÐ½Ð¸Ñ ÑÑÐ¾Ð±Ñ Ð¾ÑобÑазиÑÑ Ð»Ñбой ÑвеÑ, коÑоÑÑй Ð²Ñ Ñ Ð¾ÑиÑе иÑполÑзоваÑÑ Ð² Ñвоей ÑвеÑовой ÑÑ ÐµÐ¼Ðµ.
Ð Ñнова, попÑобÑйÑе измениÑÑ Ð·Ð½Ð°ÑениÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑмоÑÑеÑÑ, как ваÑÑиÑÑÑÑ ÑвеÑа.
RGB и RGBA знаÑениÑ
ТÑеÑÑÑ ÑÑ
ема, о коÑоÑой Ð¼Ñ Ð·Ð´ÐµÑÑ Ð¿Ð¾Ð³Ð¾Ð²Ð¾Ñим ÑÑо RGB. ÐнаÑÐµÐ½Ð¸Ñ RGB ÑÑо ÑÑнкÑÐ¸Ñ â rgb() â коÑоÑой даÑÑÑÑ ÑÑи паÑамеÑÑа пÑедÑÑавлÑÑÑиÑ
ÐºÐ°Ð½Ð°Ð»Ñ ÐºÑаÑного, зелÑного и Ñинего знаÑений ÑвеÑов, во многом Ñак же, как hex-знаÑениÑ. ÐÑлиÑие Ñ RGB ÑвлÑеÑÑÑ Ñо, ÑÑо каждÑй канал пÑедÑÑавлен не двÑÐ¼Ñ hex-ÑиÑÑами, а деÑÑÑиÑнÑм ÑиÑлом Ð¼ÐµÐ¶Ð´Ñ 0 и 255 â ÑÑо оÑÑаÑÑи пÑоÑе в понимании.
ÐавайÑе пеÑепиÑем Ð½Ð°Ñ Ð¿Ð¾Ñледний пÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑзÑÑ RGB ÑвеÑа:
Ð Ñакже Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑвеÑа RGBA â ÑÑо ÑабоÑÐ°ÐµÑ Ð² ÑоÑноÑÑи, как и ÑвеÑа RGB и Ñо еÑÑÑ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð»Ñбое знаÑение RGB, однако ÑÑÑеÑÑвÑÐµÑ ÑеÑвÑÑÑое знаÑение, коÑоÑое пÑедÑÑавлÑÐµÑ Ð°Ð»ÑÑа канал ÑвеÑа, коÑоÑое конÑÑолиÑÑÐµÑ Ð¼ÑÑноÑÑÑ. ÐÑли Ð²Ñ ÑÑÑановиÑе ÑÑо знаÑение на 0, Ñо ÑÑо ÑÐ´ÐµÐ»Ð°ÐµÑ ÑÐ²ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð¿ÑозÑаÑнÑм, Ñогда как 1 ÑÐ´ÐµÐ»Ð°ÐµÑ ÐµÐ³Ð¾ полноÑÑÑÑ Ð¼ÑÑнÑм. ÐнаÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð´Ð°ÑÑ Ð²Ð°Ð¼ ÑазнÑе ÑÑовни пÑозÑаÑноÑÑи.
ÐÑимеÑание:
ÐаÑÑÑойка алÑÑа канала в ÑвеÑе Ð¸Ð¼ÐµÐµÑ Ð¾Ð´Ð½Ð¾ клÑÑевое ÑазлиÑие в иÑполÑзовании ÑвойÑÑва opacity коÑоÑое Ð¼Ñ ÑаÑÑмаÑÑивали Ñанее. когда Ð²Ñ Ð¸ÑполÑзÑеÑе мÑÑноÑÑÑ Ð²Ñ Ð´ÐµÐ»Ð°ÐµÑе ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸ вÑе внÑÑÑи него мÑÑнÑм, Ñогда как пÑи иÑполÑзовании ÑвеÑа RGBA Ð²Ñ Ð´ÐµÐ»Ð°ÐµÑе мÑÑнÑм ÑолÑко ÑÐ¾Ñ ÑÐ²ÐµÑ ÐºÐ¾ÑоÑÑй Ð²Ñ ÑпеÑиÑиÑиÑÑеÑе.
In the example below I have added a background image to the containing block of our colored boxes. I have then set the boxes to have different opacity values â notice how the background shows through more when the alpha channel value is smaller.
In this example, try changing the alpha channel values to see how it affects the color output.
ÐÑимеÑание:
At some point modern browsers were updated so that rgba() and rgb(), and hsl() and hsla() (see below), became pure aliases of each other and started to behave exactly the same. So for example both rgba() and rgb() accept colors with and without alpha channel values. Try changing the above example's rgba() functions to rgb() and see if the colors still work! Which style you use is up to you, but separating out non-transparent and transparent color definitions to use the different functions gives (very) slightly better browser support and can act as a visual indicator of where transparent colors are being defined in your code.
HSL and HSLA values
Slightly less well-supported than RGB is the HSL color model (not supported on old versions of IE), which was implemented after much interest from designers. Instead of red, green, and blue values, the hsl() function accepts hue, saturation, and lightness values, which are used to distinguish between the 16.7 million colors, but in a different way:
- Hue: The base shade of the color. This takes a value between 0 and 360, representing the angles round a color wheel.
- Saturation: How saturated is the color? This takes a value from 0â100%, where 0 is no color (it will appear as a shade of grey), and 100% is full color saturation
- Lightness: How light or bright is the color? This takes a value from 0â100%, where 0 is no light (it will appear completely black) and 100% is full light (it will appear completely white)
We can update the RGB example to use HSL colors like this:
Just as RGB has RGBA, HSL has an HSLA equivalent, which gives you the same ability to specify the alpha channel. I've demonstrated this below by changing my RGBA example to use HSLA colors.
You can use any of these color values in your projects. It is likely that for most projects you will decide on a color palette and then use those colors â and your chosen method of specifying color â throughout the whole project. You can mix and match color models, however for consistency it is usually best if your entire project uses the same one!
Images
The <image> data type is used wherever an image is a valid value. This can be an actual image file pointed to via a url() function, or a gradient.
In the example below we have demonstrated an image and a gradient in use as a value for the CSS background-image property.
ÐÑимеÑание:
There are some other possible values for <image>, however these are newer and currently have poor browser support. Check out the page on MDN for the <image> data type if you want to read about them.
Position
The <position> data type represents a set of 2D coordinates, used to position an item such as a background image (via background-position). It can take keywords such as top, left, bottom, right, and center to align items with specific bounds of a 2D box, along with lengths, which represent offsets from the top and left-hand edges of the box.
A typical position value consists of two values â the first sets the position horizontally, the second vertically. If you only specify values for one axis the other will default to center.
In the following example we have positioned a background image 40px from the top and to the right of the container using a keyword.
Play around with these values to see how you can push the image around.
Strings and identifiers
Throughout the examples above, we've seen places where keywords are used as a value (for example <color> keywords like red, black, rebeccapurple, and goldenrod). These keywords are more accurately described as identifiers, a special value that CSS understands. As such they are not quoted â they are not treated as strings.
There are places where you use strings in CSS, for example when specifying generated content. In this case the value is quoted to demonstrate that it is a string. In the below example we use unquoted color keywords along with a quoted generated content string.
Functions
The final type of value we will take a look at is the group of values known as functions. In programming, a function is a reusable section of code that can be run multiple times to complete a repetitive task with minimum effort on the part of both the developer and the computer. Functions are usually associated with languages like JavaScript, Python, or C++, but they do exist in CSS too, as property values. We've already seen functions in action in the Colors section â rgb(), hsl(), etc. The value used to return an image from a file â url() â is also a function.
A value that behaves more like something you might find in a traditional programming language is the calc() CSS function. This function gives you the ability to do simple calculations inside your CSS. It's particularly useful if you want to work out values that you can't define when writing the CSS for your project, and need the browser to work out for you at runtime.
For example, below we are using calc() to make the box 20% + 100px wide. The 20% is calculated from the width of the parent container .wrapper and so will change if that width changes. We can't do this calculation beforehand because we don't know what 20% of the parent will be, so we use calc() to tell the browser to do it for us.
Summary
This has been a quick run through of the most common types of values and units you might encounter. You can have a look at all of the different types on the CSS Values and units reference page; you will encounter many of these in use as you work through these lessons.
The key thing to remember is that each property has a defined list of allowed values, and each value has a definition explaining what the sub-values are. You can then look up the specifics here on MDN.
For example, understanding that <image> also allows you to create a color gradient is useful but perhaps non-obvious knowledge to have!