Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «БпСцификация CSS2Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 32

Автор Π•Π²Π³Π΅Π½ΠΈΠΉ Π Π΅Π·Π½ΠΈΡ‡Π΅Π½ΠΊΠΎ

Если 'counter-increment' относится ΠΊ счётчику, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ находится Π² области видимости (см. Π½ΠΈΠΆΠ΅) ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ 'counter-reset, Ρ‚ΠΎ принимаСтся, Ρ‡Ρ‚ΠΎ счётчик установлСн Π² 0 ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ элСмСнтом.

Π—Π΄Π΅ΡΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½ способ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π³Π»Π°Π² ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²: "Chapter 1", "1.1", "1.2" ΠΈ Ρ‚.Π΄.:


H1:before { content: "Chapter " counter(chapter) ". "; counter-increment: chapter; /* ДобавляСт 1 ΠΊ Π³Π»Π°Π²Π΅ */ counter-reset: section; /* УстанавливаСт Ρ€Π°Π·Π΄Π΅Π» Π² 0 */ } H2:before { content: counter(chapter) "." counter(section) " "; counter-increment: section; }


Если элСмСнт ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚/сбрасываСт счётчик ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ (Π² свойствС 'content' Π² псСвдоэлСмСнтах :before ΠΈΠ»ΠΈ :after), Ρ‚ΠΎ счётчик ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½/ΡΠ±Ρ€ΠΎΡˆΠ΅Π½.

Если элСмСнт ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚, ΠΈ сбрасываСт счётчик, Ρ‚ΠΎ счётчик сначала сбрасываСтся, Π° Π·Π°Ρ‚Π΅ΠΌ увСличиваСтся.

Бвойство 'counter-reset слСдуСт ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ каскадирования. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² соотвСтствии с каскадированиСм, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй:


H1 { counter-reset: section -1 } H1 { counter-reset: imagenum 99 }


сбросит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 'imagenum'. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ±Π° счётчика, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вмСстС:


H1 { counter-reset: section -1 imagenum 99 }


Π‘Ρ‡Ρ‘Ρ‚Ρ‡ΠΈΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ "ΡΠ°ΠΌΠΎΠ²ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ", Ρ‚.Π΅. ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС счётчика Π² элСмСнтах-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ… автоматичСски создаёт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ счётчика. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚Π°ΠΊΠΈΡ… случаСв, ΠΊΠ°ΠΊ списки Π² HTML, Π³Π΄Π΅ элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ счётчик для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ уровня.

Π’Π°ΠΊ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ достаточно для Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… элСмСнтов списка. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ установки 'display:list-item' ΠΈ 'list-style: inside' Π² элСмСнтС LI:


OL { counter-reset: item } LI { display: block } LI:before { content: counter(item) ". "; counter-increment: item }


Π‘Π°ΠΌΠΎΠ²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ базируСтся Π½Π° Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ 'counter-reset для счётчика X, создаёт Π½ΠΎΠ²Ρ‹ΠΉ счётчик X, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ - элСмСнт, Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ родствСнники ΠΈ всС ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ элСмСнта ΠΈ Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… родствСнников.

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ OL создаст счётчик, ΠΈ всС ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ OL Π±ΡƒΠ΄ΡƒΡ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° этот счётчик.

Если ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ item[n] nΡ‹ΠΉ экзСмпляр счётчика "item" ΠΈ "(" ΠΈ ")" - Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ† области видимости, Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ HTML Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ счётчики. (ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Ρƒ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ стилСй, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅).


<OL> <!-- (set item[0] to 0 --> <LI>item <!-- increment item[0] (= 1) --> <LI>item <!-- increment item[0] (= 2) --> <OL> <!-- (set item[1] to 0 --> <LI>item <!-- increment item[1] (= 1) --> <LI>item <!-- increment item[1] (= 2) --> <LI>item <!-- increment item[1] (= 3) --> <OL> <!-- (set item[2] to 0 --> <LI>item <!-- increment item[2] (= 1) --> </OL> <!-- ) --> <OL> <!-- (set item[3] to 0 --> <LI> <!-- increment item[3] (= 1) --> </OL> <!-- ) --> <LI>item <!-- increment item[1] (= 4) --> </OL> <!-- ) --> <LI>item <!-- increment item[0] (= 3) --> <LI>item <!-- increment item[0] (= 4) --> </OL> <!-- ) --> <OL> <!-- (reset item[4] to 0 --> <LI>item <!-- increment item[4] (= 1) --> <LI>item <!-- increment item[4] (= 2) --> </OL> <!-- ) -->


Ѐункция 'counters()' Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ строку, ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСх счётчиков с Ρ‚Π΅ΠΌ ΠΆΠ΅ самым ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½Π½ΠΎΠΉ строкой.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй Π½ΡƒΠΌΠ΅Ρ€ΡƒΠ΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты списка ΠΊΠ°ΠΊ "1", "1.1", "1.1.1" ΠΈ Ρ‚.Π΄.


OL { counter-reset: item } LI { display: block } LI:before { content: counters(item, "."); counter-increment: item }


По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ счётчики Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ дСсятичными числами, Π° всС стили, доступныС для свойства 'list-style-type', доступны Ρ‚Π°ΠΊΠΆΠ΅ для счётчиков. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ΅:


counter(name)


для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈΠ»ΠΈ:


counter(name, 'list-style-type')


Допустимы всС стили, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 'disc', 'circle', 'square' ΠΈ 'none'.


H1:before { content: counter(chno, upper-latin) ". " } H2:before { content: counter(section, upper-roman) " - " } BLOCKQUOTE:after { content: " [" counter(bq, hebrew) "]" } DIV.note:before { content: counter(notecntr, disc) " " } P:before { content: counter(p, none) }


Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ отобраТаСтся ('display' установлСно Π² 'none'), Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ счётчик.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй элСмСнты H2 с классом "secret" Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ 'count2'.


H2.secret {counter-increment: count2; display: none}


Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, элСмСнты с 'visibility', установлСнной Π² 'hidden', ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ счётчики.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ элСмСнтов уровня Π±Π»ΠΎΠΊΠ° Π² CSS Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ основной бокс Π±Π»ΠΎΠΊΠ°.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ обсуТдаСм Π΄Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ элСмСнт Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° бокса: ΠΎΠ΄ΠΈΠ½ основной бокс Π±Π»ΠΎΠΊΠ° (для содСрТимого элСмСнта) ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ бокс ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° (для элСмСнта оформлСния, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΊΡ€ΡƒΠΆΠΎΠΊ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€). Бокс ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ основного бокса. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ содСрТимого :before ΠΈ :after, бокс ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π½Π΅ влияСт Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ основного бокса, ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ Π½ΠΈ Π±Ρ‹Π»Π° схСма позиционирования.

Π‘Π°ΠΌΡ‹ΠΌ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΈΠ· этих Π΄Π²ΡƒΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² являСтся Π½ΠΎΠ²Ρ‹ΠΉ для CSS2 ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ с Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Π΅Ρ‚ свойства списков CSS1. Бвойства списков Π΄Π°ΡŽΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ быстрый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ для ΠΌΠ½ΠΎΠ³ΠΈΡ… сцСнариСв упорядочСнных ΠΈ нСупорядочСнных списков. Однако ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹ Π΄Π°ΡŽΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ содСрТимым ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ ΠΌΠ°Ρ€ΠΊΡ‘Ρ€ΠΎΠ². ΠœΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС со счётчиками для создания Π½ΠΎΠ²Ρ‹Ρ… стилСй списков, Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ Π½Π° полях ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ списка.

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° HTML ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <TITLE>Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка с ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π°ΠΌΠΈ</TITLE> <STYLE type="text/css"> LI:before { display: marker; content: counter(mycounter, lower-roman) "."; counter-increment: mycounter; } </STYLE> </HEAD> <BODY> <OL> <LI> Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка. <LI> Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт списка. <LI> Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт списка. </OL> </BODY> </HTML>


Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π°Ρ‚ΡŒ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:


i. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт списка. ii. Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт списка. iii. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ элСмСнт списка.


Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСлСкторов ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… сСлСкторов ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² зависимости ΠΎΡ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ влоТСния списков.

ΠœΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Ρ‘ΠΌ установки свойства 'display' Π² 'marker' Π²Π½ΡƒΡ‚Ρ€ΠΈ псСвдоэлСмСнтов :before ΠΈΠ»ΠΈ :after. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТимоС 'block' ΠΈ 'inline' Π² :before ΠΈ :after являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ основного бокса, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ элСмСнтом, содСрТимоС 'marker' форматируСтся Π² нСзависимом боксС ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π²Π½Π΅ основного бокса. Боксы ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Сдиная строка (Ρ‚.Π΅. ΠΎΠ΄ΠΈΠ½ бокс строки (строчный бокс)), поэтому ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΠ»Π°Π²ΠΊΠΈ. Боксы ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° свойство 'content' псСвдоэлСмСнтов Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС.

Боксы ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°ΠΌΠΊΡƒ, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»Π΅ΠΉ.

Для псСвдоэлСмСнта :before базовая линия тСкста Π² боксС ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ тСкста ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки содСрТимого основного бокса. Если основной бокс Π½Π΅ содСрТит тСкста, Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ внСшний ΠΊΡ€Π°ΠΉ бокса ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ с Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ внСшним ΠΊΡ€Π°Π΅ΠΌ основного бокса. Для псСвдоэлСмСнта :after базовая линия тСкста Π² боксС ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π° Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ тСкста послСднСй строки содСрТимого основного бокса. Если основной бокс Π½Π΅ содСрТит тСкста, Π½ΠΈΠΆΠ½ΠΈΠΉ внСшний ΠΊΡ€Π°ΠΉ бокса ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ с Π½ΠΈΠΆΠ½ΠΈΠΌ внСшним ΠΊΡ€Π°Π΅ΠΌ основного бокса.

Высота бокса ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° задаётся Π² свойствС 'line-height'. Бокс ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° :before (:after) участвуСт Π² подсчётС высоты ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ (послСднСго) строчного бокса основного бокса. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Ρ‹ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ послСднСй строкС содСрТимого элСмСнта, Π΄Π°ΠΆΠ΅ Ссли боксы ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… строчных боксах. Если Π² основном боксС отсутствуСт ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ»ΠΈ послСдний строчный бокс, Ρ‚ΠΎ бокс ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° сам устанавливаСт свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ строчный бокс.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ бокса ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΅Π³ΠΎ строчного бокса спСцифицируСтся свойством 'vertical-align'.

Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства 'width' - 'auto', Ρ‚ΠΎ ΡˆΠΈΡ€ΠΈΠ½Π° содСрТимого бокса ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° являСтся ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ содСрТимого, ΠΈΠ½Π°Ρ‡Π΅ - это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'width'. Для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 'width' ΠΌΠ΅Π½ΡŒΡˆΠΈΡ…, Ρ‡Π΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Π° содСрТимого, свойство 'overflow' спСцифицируСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. Боксы ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ основныС боксы. Для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 'width' Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, Ρ‡Π΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Π° содСрТимого, свойство 'text-align' опрСдСляСт Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ содСрТимого Π² боксС ΠΌΠ°Ρ€ΠΊΡ‘Ρ€Π°.