Checked css checkbox: :checked | CSS-Tricks

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

CSS — :checked — :checked CSS псСвдо-класс сСлСктор прСдставляСт собой любоС Ρ€Π°Π΄ΠΈΠΎ (

:checked CSS псСвдо-класс сСлСктор прСдставляСт собой любоС Ρ€Π°Π΄ΠΈΠΎ ( <input type="radio"> ), Ρ„Π»Π°ΠΆΠΎΠΊ ( <input type="checkbox"> ), ΠΈΠ»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ( <option> Π² <select> ) элСмСнт , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСтся ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² on состояниС.

:checked {
  margin-left: 25px;
  border: 1px solid blue;
}

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ это состояниС,установив Ρ„Π»Π°ΠΆΠΎΠΊ/Π²Ρ‹Π±Ρ€Π°Π² элСмСнт,ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ,сняв Ρ„Π»Π°ΠΆΠΎΠΊ/Π²Ρ‹Π±Ρ€Π°Π² элСмСнт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ часто Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ <option> ΠΊΠ°ΠΊ замСняСмыС элСмСнты , ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΈΡ… стилизации с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ псСвдокласса :checked Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ.




Syntax

:checked

Examples

Основной ΠΏΡ€ΠΈΠΌΠ΅Ρ€

HTML
<div>
  <input type="radio" name="my-input">
  <label for="yes">Yes</label>

  <input type="radio" name="my-input">
  <label for="no">No</label>
</div>

<div>
  <input type="checkbox" name="my-checkbox">
  <label for="opt-in">Check me!</label>
</div>

<select name="my-select">
  <option value="opt1">Apples</option>
  <option value="opt2">Grapes</option>
  <option value="opt3">Pears</option>
</select>
CSS
div,
select {
  margin: 8px;
}


input:checked + label {
  color: red;
}


input[type="radio"]:checked {
  box-shadow: 0 0 0 3px orange;
}


input[type="checkbox"]:checked {
  box-shadow: 0 0 0 3px hotpink;
}


option:checked {
  box-shadow: 0 0 0 3px lime;
  color: red;
}
Result

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ элСмСнтов со скрытым Ρ„Π»Π°ΠΆΠΊΠΎΠΌ

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ псСвдокласс :checked , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² зависимости ΠΎΡ‚ состояния Ρ„Π»Π°ΠΆΠΊΠ°, ΠΈ всС это Π±Π΅Π· использования JavaScript .

HTML
<input type="checkbox" />

<table>
  <thead>
    <tr><th>Column #1</th><th>Column #2</th><th>Column #3</th></tr>
  </thead>
  <tbody>
    <tr><td>[more text]</td><td>[more text]</td><td>[more text]</td></tr>
    <tr><td>[cell text]</td><td>[cell text]</td><td>[cell text]</td></tr>
    <tr><td>[cell text]</td><td>[cell text]</td><td>[cell text]</td></tr>
    <tr><td>[more text]</td><td>[more text]</td><td>[more text]</td></tr>
    <tr><td>[more text]</td><td>[more text]</td><td>[more text]</td></tr>
  </tbody>
</table>

<label for="expand-toggle">Toggle hidden rows</label>
CSS
#expand-toggle {
  display: none;
}


. expandable {
  visibility: collapse;
  background: #ddd;
}


#expand-btn {
  display: inline-block;
  margin-top: 12px;
  padding: 5px 11px;
  background-color: #ff7;
  border: 1px solid;
  border-radius: 3px;
}


#expand-toggle:checked ~ * .expandable {
  visibility: visible;
}


#expand-toggle:checked ~ #expand-btn {
  background-color: #ccc;
}
Result

ГалСрСя ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Аналогичный эффСкт, Π½ΠΎ Π½Π° основС псСвдокласса :hover ΠΈ Π±Π΅Π· скрытых радиобоксов, см. Π’ этой дСмонстрации , взятой ΠΈΠ· справочной страницы : hover .

Specifications

Desktop
ChromeEdgeFirefoxInternet ExplorerOperaSafari
:checked1
1
On macOS, styling <option&rt; elements has no effect.
12
12
On macOS, styling <option&rt; elements has no effect.
1
1
From Firefox 56, <option&rt; elements cannot be styled.
On macOS, styling <option&rt; elements has no effect.
99
9
On macOS, styling <option&rt; elements has no effect.
3.1
3.1
Styling <option&rt; elements has no effect.
Mobile
Android Π²Π΅Π±-просмотрΠ₯Ρ€ΠΎΠΌ для AndroidFirefox для AndroidΠžΠΏΠ΅Ρ€Π° для AndroidSafari on iOSSamsung Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚
:checked2184
4
From Firefox 56, <option&rt; elements cannot be styled.
10. 13.1
3.1
Styling <option&rt; elements has no effect.
1.0

Π‘ΠΌ.Ρ‚Π°ΠΊΠΆΠ΅

CSS псСвдокласс :checked

ПсСвдокласс :checked ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° элСмСнтов, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ находятся Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Β«Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ». ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для элСмСнтов <input> (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ²) ΠΈ <option>.

Π€Π»Π°ΠΆΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ВСрсия¢

CSS3

Бинтаксис¢

:checked {
css declarations;
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΒΆ

<!DOCTYPE html>
<html>
  <head>
    <title>Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°</title>
    <style>
      div {
      margin: 10px;
      font-size: 20px;
      }
      input:checked + label {
      color: #000;
      }
      input[type="radio"]:checked {
      box-shadow: 0 0 0 4px #8ebf42;
      }
      /* Checkbox element, when checked */
      input[type="checkbox"]:checked {
      box-shadow: 0 0 0 3px #1c87c9;
      }
    </style>
  </head>
  <body>
    <h3>ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сСлСктора :checked</h3>
    <div>
      <input type="radio" name="my-input">
      <label for="yes">Yes</label>
      <input type="radio" name="my-input">
      <label for="no">No</label>
    </div>
    <div>
      <input type="checkbox" name="my-checkbox">
      <label for="opt-in">НаТмитС!</label>
    </div>
  </body>
</html>
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами!

Рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΒΆ

<!DOCTYPE html>
<html>
  <head>
    <title>Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°</title>
    <style>
      table,tr,th,td{
      border:1px solid #ccc;
      text-align:center;
      border-collapse:collapse;
      padding:8px;
      }
      #toggle {
      display: none;
      }
      .
expandable { visibility: collapse; background: #1c87c9; } #btn { display: inline-block; margin-top: 15px; padding: 10px 20px; background-color: #8ebf42; color: #fff; cursor:pointer; border-radius: 3px; } #toggle:checked ~ * .expandable { visibility: visible; } #toggle:checked ~ #btn { background-color: #ccc; } </style> </head> <body> <h3>ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сСлСктора ::checked</h3> <input type="checkbox" /> <table> <thead> <tr> <th>Колонка 1</th> <th>Колонка 2</th> <th>Колонка 3</th> </tr> </thead> <tbody> <tr> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> </tr> <tr> <td>[ВСкст]</td> <td>[ВСкст]</td> <td>[ВСкст]</td> </tr> <tr> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> </tr> <tr> <td>[ВСкст]</td> <td>[ВСкст]</td> <td>[ВСкст]</td> </tr> <tr> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> <td>[Π‘ΠΎΠ»ΡŒΡˆΠ΅ тСкста]</td> </tr> </tbody> </table> <label for="toggle">НаТмитС сюда!</label> </body> </html>
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами!

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ input Ρ‚ΠΈΠΏΠ° checkbox ΠΈ radio.

Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π·Π°Π±Ρ‹Π» ΠΊΠ°ΠΊ / Π₯Π°Π±Ρ€Π’Π΅ΠΌΠ° старая ΠΈ ΡƒΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, подзабытая.

НСдавно Ρƒ мСня Π±Ρ‹Π»Π° короткая Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π’Π— Π½Π° ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π²Π½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. И, Π² частности Π΄Π΅Π»ΠΎ касалось стилизации прСсловутых <input type=»checkbox»>. Π’Ρ‹ΡΡΠ½ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, программист Β«Π½Π° всС Ρ€ΡƒΠΊΠΈΒ» Π΄Π°ΠΆΠ΅ Π½Π΅ понял, Ρ‡Ρ‚ΠΎ я Π΅ΠΌΡƒ Π½Π° словах объяснял ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ, ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, появился этот тСкст.

Напомню, Ρ‡Ρ‚ΠΎ сСйчас checkbox ΠΈ radiobox Ρ€Π°Π·Π½Ρ‹Π΅ сайты ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π‘Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ input сразу ΠΈ Π½Π΅ Ρ€Π°Π·Π³Π»ΡΠ΄ΠΈΡˆΡŒ – Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ½ «дизайнСрский красивый», Π° Ρƒ послСдних вСрсий Chrome Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ checkbox стали гнусного Ρ†Π²Π΅Ρ‚Π° Ρ†ΠΈΠ°Π½.

Π˜Ρ‚Π°ΠΊ, ситуация


Π•ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, связанный с Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ, Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠ΅ΠΉ, складом ΠΈ ΠΏΡ€. Π Π°Π±ΠΎΡ‚Π° с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Π°ΠΌΠΈ, исполнитСлями ΠΈ ΠΏΡ€.

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΎΠ»ΠΎΠ³ΠΈ ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‰ΠΈΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚. Π§Ρ‚ΠΎ эта систСма Π΄Π΅Π»Π°Π΅Ρ‚ – Π½Π΅Π²Π°ΠΆΠ½ΠΎ, Π½Π° Ρ‡Π΅ΠΌ написано – Π½Π΅Π²Π°ΠΆΠ½ΠΎ.

А Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° сайтС этого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ страниц с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ input checkbox ΠΈ radio.

Π–Π°Π»ΠΎΠ±Ρ‹ сотрудников


Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€: На большом экранС ΠΏΠ»ΠΎΡ…ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ Β«ΠΊΡ€Ρ‹ΠΆΠΈΠΊΠΈΒ».
Π“Π»Π°Π²Π±ΡƒΡ…: На ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ΅ Β«ΠΊΡ€Ρ‹ΠΆΠΈΠΊΠΈΒ» выглядят Ρ‚Π°ΠΊ, Ρƒ сотрудниц ΠΈΠ½Π°Ρ‡Π΅, Π΄ΠΎΠΌΠ° Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ, Π° Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π΅ совсСм ΠΈΠ½Π°Ρ‡Π΅.
ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΎΠ»ΠΎΠ³: А ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ красными, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π·Π΅Π»Π΅Π½Ρ‹ΠΌΠΈ?
И Ρ‚.Π΄., ΠΈ Ρ‚.ΠΏ.

Π˜Ρ‚Π°ΠΊ, Π·Π°Π΄Π°Ρ‡Π°


  1. ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ измСнСниями ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ внСшний Π²ΠΈΠ΄ checkbox ΠΈ radiobox.
  2. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ checkbox ΠΈ radiobox для Ρ€Π°Π·Π½Ρ‹Ρ… ΡŽΠ·Π΅Ρ€ΠΎΠ². Π’Π°ΠΆΠ½ΠΎ: это Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ сайт, Ρ‚Π°ΠΌ «всё свои», «красоты» Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, Π° Π½ΡƒΠΆΠ½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ восприятия.

Π§Ρ‚ΠΎ нСльзя


1. Π‘Π΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ нСльзя.
2. Π€Π°ΠΉΠ»Ρ‹ javascript Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ нСльзя, свой javascript Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ нСльзя.
3. Π€Π°ΠΉΠ»Ρ‹ css Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ нСльзя.

А Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ


1.
ΠŸΡ€Π°Π²ΠΈΡ‚ΡŒ html ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.
2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» стилСй для всСх ΡŽΠ·Π΅Ρ€ΠΎΠ².
4. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» стилСй для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΡŽΠ·Π΅Ρ€Π° ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΡŽΠ·Π΅Ρ€ΠΎΠ².
А Ρ‡Ρ‚ΠΎ сдСлали ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° codepen.io, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ дальшС.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ


1. ΠŸΠΎΡ‡Ρ‚ΠΈ всС ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»Π΅ name, Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚, Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ id.
2. ВсС ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»Π΅ name, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ id.
3. БоотвСтствСнно, Π² css ΠΊ checkbox ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΠΎ id, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ name. К radio – ΠΈΠ»ΠΈ ΠΏΠΎ id, ΠΈΠ»ΠΈ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° Ρƒ родитСля.

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ исходного ΠΊΠΎΠ΄Π°:

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1 */
<tag><input type="checkbox"> НСкий тСкст</tag>

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2 */
<tag><input type="checkbox"> НСкий тСкст<br>
<input type="checkbox"> НСкий тСкст</tag>

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 3 */
...<label><input type="checkbox"> НСкий тСкст</label>...

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 4 */
<td><input type="checkbox"></td>
<td><label for="idxxx">НСкий тСкст</label></td>

Π’Π°ΠΊ исправим ΠΊΠΎΠ΄:
/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 1 */
<tag><label><input type="checkbox"><s></s><span>НСкий тСкст</span></label></tag>

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 2 */
<tag><label><input type="checkbox"><s></s><span>НСкий тСкст</span></label><br>. ..</tag>

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 3 */
...<label><input type="checkbox"><s></s><span>НСкий тСкст</span></label>...

/* Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ 4 */
<td><label><input type="checkbox"><s></s></label></td>
<td><label for="idxxx">НСкий тСкст</label></td>

Всё Ρ‚ΠΎΠΆΠ΅ самоС ΠΈ для , класс Ρƒ LABEL Ρ‚ΠΎΡ‚ ΠΆΠ΅.

Π§Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ сдСлали?


  1. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ input (ΠΊΠΎΡ€ΠΌΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° 3) ΠΎΠ±Π΅Ρ€Π½ΡƒΠ»ΠΈ тэгом LABEL с нашим классом. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ 3 просто Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ класс.
  2. Π‘Ρ€Π°Π·Ρƒ послС input вставили пустой тэг S. Π’Π°ΠΊ ΠΊΠ°ΠΊ сам input Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‚ΠΎ это тэг Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это input.
  3. Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст ΠΎΠ±Π΅Ρ€Π½ΡƒΠ»ΠΈ тэгом SPAN (ΠΊΡ€ΠΎΠΌΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° 4). Π­Ρ‚ΠΎΡ‚ тэг ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ вопрос выравнивания Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ input ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ этого тСкста.
  4. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ 4 Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ класс, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ это Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅, Ρ€Π°Π· ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст стоит Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ячСйки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±ΠΎΡ€ΠΎΡ‚ – Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌ 1-3 Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ класс, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅. Но, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² 1-3 Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ 4-Π³ΠΎ ΠΈ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒ html сдСлано Ρ‚Π°ΠΊ.

РиторичСскиС вопросы ΠΈ риторичСскиС ΠΆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ 1. Π—Π°Ρ‡Π΅ΠΌ тэг S? Ну, Π½Π΅ нравится S – ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ строчный элСмСнт. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ состояния ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ input.

2. ΠŸΠΎΡ‡Π΅ΠΌΡƒ тэги S ΠΈ SPAN Π±Π΅Π· классов? Ну, Π·Π°Ρ‡Π΅ΠΌ Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒ html? Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· конструкций Π½ΠΈΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Β«Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΒ» ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

  .new-input > S { }
  .new-input > .new-input-S {}

3. Как Π²Ρ‹ догадались, ΠΌΠ½Π΅ Π½Π΅ нравятся ΠΈΠ΄Π΅ΠΈ Π‘Π­Πœ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ идСя Β«Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒΒ» html Ρ„Π°ΠΉΠ» ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ Ρ€Π°Π·Π½Ρ‹Ρ… классов. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΡ‹ использовали Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° класса – mni ΠΈ mnio. :-))

НСкоторыС ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рассуТдСния ΠΈ настройки css ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ box-sizing:border-box, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LABEL, сСлСкторов Β«A + BΒ», Β«A ~ BΒ» ΠΈ Β«[attr]Β», псСвдоклассов :checked, :disabled ΠΈ ::before. ΠšΡ‚ΠΎ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Π·Π½Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ знания смотрит ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎΠΌ. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рассуТдСния 1. Напомню, Ρ‡Ρ‚ΠΎ Π² «старом» css (box-sizing:content-box) свойства width ΠΈ height Π·Π°Π΄Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту содСрТимого, Π° padding ΠΈ border Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ этим значСниям. box-sizing:border-box мСняСт схСму Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ padding ΠΈ border Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² width ΠΈ height.

2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»Π°, Ρ‡Ρ‚ΠΎ Π² нашСм случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ старая модСль, Π° ΠΌΠ΅Π½ΡΡ‚ΡŒ «настройки» страниц Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ. НС «наши» LABEL это простыС строчныС элСмСнты, Π² Π½ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ стилизуСм Π’Π‘Π• LABEL.

LABEL {
    box-sizing:border-box; cursor:pointer; user-select:none;
}
LABEL *,
LABEL *::before,
LABEL *::after {
    box-sizing:inherit;
}

Π’.Π΅., ставим box-sizing:border-box для тэга LABEL, всСм Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌ. Π—Π°ΠΎΠ΄Π½ΠΎ ставим курсор ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ тСкст (Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ мСшало ΠΊΠ»ΠΈΠΊΡƒ).

3. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ сСлСкторов Β«A + BΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ стили Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ сСлСктору B, Ссли ΠΎΠ½ слСдуСт сразу ΠŸΠžΠ‘Π›Π• сСлСктора A, Ρ‚. Π΅. Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ B. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Β«A ~ BΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎ всСм сСлСкторам B послС сСлСктора A, Ρ‚.Π΅. для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ….
ЕстСствСнно, всё Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ «родитСля».

Как это Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

<label><input type="checkbox"><s></s><span>НСкий тСкст</span></label>
<label><input type="radio"><s></s><span>НСкий тСкст</span></label>
/* 1 */
.new-input > INPUT + S {}
.new-input > INPUT ~ SPAN {}

/* 2 */
.new-input > INPUT:not(:checked) + S {}
.new-input > INPUT:not(:checked) ~ SPAN {}

/* 3 */
.new-input > INPUT:checked + S {}
.new-input > INPUT:checked ~ SPAN {}

/* 4 */
.new-input > INPUT:disabled + S {}
.new-input > INPUT:disabled ~ SPAN {}

/* 5 */
.new-input > INPUT[type="radio"] + S {}

ΠŸΠ΅Ρ€Π²Π°Ρ Π³Ρ€ΡƒΠΏΠΏΠ° – ΠΎΠ±Ρ‰ΠΈΠ΅ стили для тэгов S ΠΈ SPAN.
Вторая Π³Ρ€ΡƒΠΏΠΏΠ° – стили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° INPUT НЕ Π²Ρ‹Π±Ρ€Π°Π½.
Π’Ρ€Π΅Ρ‚ΡŒΡ – стили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° INPUT Π²Ρ‹Π±Ρ€Π°Π½.
ЧСтвСртая – ΠΊΠΎΠ³Π΄Π° INPUT Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, пятая Π³Ρ€ΡƒΠΏΠΏΠ° – ΠΎΠ±Ρ‰ΠΈΠ΅ стили для тэга S Π’ΠžΠ›Π¬ΠšΠž, Ссли ΠΎΠ½ стоит послС input radio.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ стили тэгов S ΠΈ SPAN Π² зависимости ΠΎΡ‚ состояния input.

4. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас тэг S Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ· сСбя input, Ρ‚ΠΎ самому input поставим display:none, Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½ΠΎ, Π° тэг LABEL Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ, Π° тэг S Π±ΡƒΠ΄Π΅Ρ‚ соотвСтствСнно ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ html свойство hidden Ρƒ input? ΠŸΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… hidden Ρƒ input Β«Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Β» Π½Π΅ совсСм Π²Π΅Ρ€Π½ΠΎ, плюс Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ html Ρ„Π°ΠΉΠ».


Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ input


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 1. Π‘Π°ΠΌΡ‹ΠΉ простой – ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹Π΅ символы
html ΠΊΠΎΠ΄ Ρ‚ΠΎΡ‚ ΠΆΠ΅, Π° css Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ:
/* s1 */
.new-input > INPUT + S::before {
  content: "c";
}
/* s2 */
.new-input > INPUT:checked + S::before {
  content: "V";
}
/* s3 */
.new-input > INPUT[type="radio"] + S::before {
  content: "r";
}
/* s4 */
. new-input > INPUT[type="radio"]:checked + S::before {
  content: "X";
}
/* s5 */
.new-input > INPUT:disabled + S::before {
  opacity: 0.5;
}
/* s6 */
.new-input > S {
  text-decoration: none;
  margin-left: 3px;
  margin-right: 6px;
}
/* s7 */
.new-input > S::before {
  display: inline-block;
  width: 1.25em;
  text-align: center;
  color: #fafafa;
  background-color: #37474f;
}
/* s8 */
.new-input > INPUT[type="radio"] + S::before {
  border-radius: 50%;
}

Вэг S Π±ΡƒΠ΄Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ input. Но ΠΌΡ‹ Β«Ρ€Π°Π·Π΄Π΅Π»ΠΈΠΌΒ» Π΅Π³ΠΎ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ: сам тэг S Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² LABEL ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ SPAN.

А псСвдоэлСмСнт S::before размСстится Π²Π½ΡƒΡ‚Ρ€ΠΈ тэга S ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ· сСбя input.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° s1 опрСдСляСт, ΠΊΠ°ΠΊΠΎΠΉ символ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π² S::before ΠΊΠΎΠ³Π΄Π° input Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«.new-input > INPUT:not(:checked) + S::beforeΒ», Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, IE), ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° s2 опрСдСляСт символ, ΠΊΠΎΠ³Π΄Π° input Π²Ρ‹Π±Ρ€Π°Π½.
Π‘Ρ‚Ρ€ΠΎΠΊΠΈ s3 ΠΈ s4 Π΄Π΅Π»Π°ΡŽΡ‚ Ρ‚ΠΎ ΠΆΠ΅ для input radio.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° s5 описываСт, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ссли input Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ – Π² Π΄Π°Π½Π½ΠΎΠΌ случаС тэг S Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° s6 опрСдСляСт Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π±ΠΈΠ²ΠΊΡƒ слСва ΠΈ справа (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅). Плюс, ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° s7 Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊ, s8 ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Π² ΠΊΡ€ΡƒΠΆΠΎΠΊ для input radio.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 1 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° codepen.io. Π’Π°ΠΌ прСдставлСны Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ input ΠΈ Π½ΠΎΠ²Ρ‹Π΅. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ.

Π§ΡƒΡ‚ΠΎΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ display: inline-block, font-size, line-height ΠšΠΎΠ½Ρ‡Π΅Π½Π°Ρ высота строки тСкста опрСдСляСтся Π½Π° основС Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… font-size, line-height. ΠŸΡ€ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΌ line-height – высота Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ font-size, ΠΏΡ€ΠΈ числовом line-height – высота Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ, ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† измСрСния для line-height – высоту ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΠΊΠ°Π·Π°Π½ line-height:1.25, поэтому ΠΈ Ρƒ S::before ΡƒΠΊΠ°Π·Π°Π½ΠΎ width:1.25em.

Для S::before ΡƒΠΊΠ°Π·Π°Π½ΠΎ display: inline-block – Π² этом случаС S::before Β«Π²Π½ΡƒΡ‚Ρ€ΠΈΒ» сСбя Π±ΡƒΠ΄Π΅Ρ‚ Π±Π»ΠΎΠΊΠΎΠΌ (ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ, высоту, Ρ€Π°ΠΌΠΊΠΈ ΠΈ ΠΏΡ€.), Π° «снаруТи» ΠΎΠ½ останСтся строчным элСмСнтом. Π’ дальнСйшСм ΠΎΠ± этом Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Вопрос:

ΠœΠΎΠΆΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы? Π’ΠΈΠΏΠ° Π²ΠΎΡ‚ этих:
β–‘ β–  β–’ β–£ β—‹ ● β—Žβ—‰
Π—Π°Π΄Π°Ρ‚ΡŒ ΠΈΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ всё. НСт?

ΠžΡ‚Π²Π΅Ρ‚:

МоТно. Но Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Ибо Π±ΡƒΠ΄Π΅Ρ‚ большой Π³Π΅ΠΌΠΎΡ€Ρ€ΠΎΠΉ ΠΈ Ρ‚Π°Π½Ρ†Ρ‹ с Π±ΡƒΠ±Π½Π°ΠΌΠΈ ΠΏΠΎ заданию Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, выравнивания ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, ΠΎΠ±Ρ€Π΅Π·ΠΊΠ΅ ΠΏΠΎ высотС ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. Плюс, Ρ€Π°Π·Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ с этими символами Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ.
ΠœΡ‹ пошли Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡƒΡ‚Π΅ΠΌ. Π₯отя Π² Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ рСализация этой ΠΈΠ΄Π΅ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 2. «РисуСм» элСмСнты input срСдствами css

html ΠΊΠΎΠ΄ Ρ‚ΠΎΡ‚ ΠΆΠ΅, Π° css Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ:

/* s1 */
.new-input > S::before {
  content: "";
  display: inline-block;
  width: 0. 75em;
  height: 0.75em;
  border: 1px solid currentColor;
  padding: 2px;
  background-clip: content-box;
  border-radius: 20%;
}
/* s2 */
.new-input > INPUT[type="radio"] + S::before {
  border-radius: 50%;
}
/* s3 */
.new-input > INPUT:checked + S::before {
  background-color: currentColor;
}
/* s4 */
.new-input > INPUT:disabled + S::before {
  opacity: 0.5;
}
/* s5 */
.new-input > S {
  text-decoration: none;
  margin-left: 3px;
  margin-right: 6px;
}

Π‘Ρ‚Ρ€ΠΎΠΊΠ° s1 опрСдСляСт S::before для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ input. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ inline-block, ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ установлСна Π² 0.75em, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΠΎ высотС прописной Π±ΡƒΠΊΠ²Ρ‹ ΠΈ зависит ΠΎΡ‚ font-size родитСля. Π—Π°Π΄Π°Π½Π° тонкая Ρ€Π°ΠΌΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ, внутрСнняя ΠΎΡ‚Π±ΠΈΠ²ΠΊΠ°, нСбольшоС скруглСниС ΡƒΠ³Π»ΠΎΠ². И – самоС Π²Π°ΠΆΠ½ΠΎΠ΅! – установлСно свойство background-clip:content-box. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ интСрСсноС свойство – Ссли Π±ΡƒΠ΄Π΅Ρ‚ установлСн background-color, Ρ‚ΠΎ ΠΎΠ½ закрасит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈ Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ ΠΎΡ‚Π±ΠΈΠ²ΠΊΡƒ (padding). Π§Ρ‚ΠΎ Π½Π°ΠΌ ΠΈ Π½Π°Π΄ΠΎ.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° s2 для input Ρ‚ΠΈΠΏΠ° radio Π΄Π΅Π»Π°Π΅Ρ‚ S::before ΠΊΡ€ΡƒΠ³Π»Ρ‹ΠΌ.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° s3 для ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ input устанавливаСт для S::before background-color Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ. Π’.Π΅., «рисуСт» Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊ ΠΈΠ»ΠΈ ΠΊΡ€ΡƒΠΆΠΎΠΊ.
Π‘Ρ‚Ρ€ΠΎΠΊΠ° s4 ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ input, строка s5 Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π±ΠΈΠ²ΠΊΠΈ слСва ΠΈ справа.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

  1. Всё ΠΎΡ‡Π΅Π½ΡŒ просто. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. Π”Π°ΠΆΠ΅ Ρƒ IE10 (Π² эмуляции Ρƒ 11-Π³ΠΎ).
  2. МоТно Ρ€Π°ΡΠΊΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ.
  3. Π Π°Π· S::before это inline-block, Ρ‚ΠΎ ΠΎΠ½ сидит Π½Π° ΠΏΠΎΠΏΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Ρ€ΠΎΠ²Π½ΠΎ ΠΈ Π½ΠΈΠΊΡƒΠ΄Π° с Π½Π΅Π΅ Π½Π΅ слСзаСт. Если ΠΎΠ½ ΠΏΠΎ высотС Π±ΡƒΠ΄Π΅Ρ‚ большС тСкста, Ρ‚ΠΎ просто ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ высоту строки ΠΈ останСтся Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ.
  4. Π Π°Π· визуализация input находится Π²Π½ΡƒΡ‚Ρ€ΠΈ тэга S, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ.
  5. Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ S::before Π² em Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° тСкста подписи. МоТно, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния высоты ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹.

НСдостатки этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

Π’ основном Π² использовании Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π² em. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ситуация ΠΊΠΎΠ³Π΄Π° ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота ΠΏΡ€ΠΈ расчСтС (ΠΈΠ· em Π² px) Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. На ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ экраном ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. НапримСр, Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ 12.8px Π½Π° 12.8px Ρƒ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠœΠΎΠ·ΠΈΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ 13px Π½Π° 12px. Π’ΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ фиксированныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. Π₯отя Π½Π° соврСмСнных ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π°Ρ… ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°Ρ…, Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ…, Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ… ΠΈ смартфонах этого Π½Π΅ происходит ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠ° (пиксСль) Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… пиксСлСй экрана.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 2 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° codepen.io. Π’Π°ΠΌ прСдставлСны Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ input ΠΈ Π½ΠΎΠ²Ρ‹Π΅. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ.
Π˜Ρ‚Π°ΠΊ, ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ – Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ input – Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠΉ «раскраскС».

Π Π°ΡΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ input


html для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:
<label><input name="chb1" type="checkbox" ...><s></s><span>НСкий тСкст</span></label>
<label><input type="radio" . ..><s></s><span>НСкий тСкст</span></label>

К input Ρ‚ΠΈΠΏΠ° checkbox Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ name, ΠΊ radio ΠΏΠΎ id.

Всё красим Π² синий

/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ input */
.new-input > INPUT[name="chb1"] + S,
.new-input > INPUT#rb1 + S {
  color: #0091ea;
}
/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ text */
.new-input > INPUT[name="chb1"] ~ SPAN,
.new-input > INPUT#rb1 ~ SPAN {
  color: #0091ea;
}
/* ΠΈΠ»ΠΈ всё */
.new-input > INPUT[name="chb1"] ~ *,
.new-input > INPUT#rb1 ~ * {
  color: #0091ea;
}

Помним ΠΎ спСцифичности Π² css, эти стили Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΎΠ»Π΅Π΅ спСцифичны, Ρ‡Π΅ΠΌ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΈ ΡΡ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π§Π΅ΠΌ ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ описанных Π²Ρ‹ΡˆΠ΅? Π’Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹ΠΌ input – ΠΊ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ name ΠΈ id.

Π’ΡƒΡ‚ всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ input Π±ΡƒΠ΄ΡƒΡ‚ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π³Π»ΡΠ΄Π΅Ρ‚ΡŒΡΡ – тонкая синяя Ρ€Π°ΠΌΠΊΠ° ΠΌΠ°Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½Π°.

ΠšΡ€Π°ΡΠΈΠΌ Π² Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, ΠΊΠΎΠ³Π΄Π° input Π²Ρ‹Π±Ρ€Π°Π½

/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ input */
.new-input > INPUT[name="chb1"]:checked + S,
. new-input > INPUT#rb1:checked + S {
  color: #00c853;
}
/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ text */
.new-input > INPUT[name="chb1"]:checked ~ SPAN,
.new-input > INPUT#rb1:checked ~ SPAN {
  color: #00c853;
}
/* ΠΈΠ»ΠΈ всё */
.new-input > INPUT[name="chb1"]:checked ~ *,
.new-input > INPUT#rb1:checked ~ * {
  color: #00c853;
}

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½Π° ΠΌΠΎΠΉ взгляд, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆ – Π·Π΅Π»Π΅Π½Ρ‹ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈ Ρ€Π°ΠΌΠΊΠ°, ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊ/ΠΊΡ€ΡƒΠΆΠΎΠΊ. МоТно Ρ€Π°ΡΠΊΡ€Π°ΡΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ.
/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ input ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ */
.new-input > INPUT[name="chb1"]:checked + S::before,
.new-input > INPUT#rb1:checked + S::before {
  background-color: #00c853;
}

ΠšΡ€Π°ΡΠΈΠΌ Π² красный, ΠΊΠΎΠ³Π΄Π° input НЕ Π²Ρ‹Π±Ρ€Π°Π½
/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ input */
.new-input > INPUT[name="chb1"]:not(:checked) + S,
.new-input > INPUT#rb1:not(:checked) + S {
  color: #d50000;
}
/* Ρ‚ΠΎΠ»ΡŒΠΊΠΎ text */
.new-input > INPUT[name="chb1"]:not(:checked) ~ SPAN,
.new-input > INPUT#rb1:not(:checked) ~ SPAN {
  color: #d50000;
}
/* ΠΈΠ»ΠΈ всё */
. new-input > INPUT[name="chb1"]:not(:checked) ~ *,
.new-input > INPUT#rb1:not(:checked) ~ * {
  color: #d50000;
}

Π›ΠΎΠ³ΠΈΠΊΠ° понятна? МоТно ΠΈ дальшС Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС конструкции.

НапримСр, ΠΏΡ€ΠΈ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ input тСкст Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ красным ΠΈ ΠΆΠΈΡ€Π½Ρ‹ΠΌ, Π° ΠΏΡ€ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ элСмСнт input ΠΈ тСкст Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π΅Π»Π΅Π½Ρ‹ΠΌ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½ΠΎ!

/* тСкст, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° */
.new-input > INPUT[name="chb1"]:not(:checked) ~ SPAN,
.new-input > INPUT#rb1:not(:checked) ~ SPAN {
  color: #d50000;
  font-weight: bold;
}
/* Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ элСмСнт input, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π±Ρ€Π°Π½ */ 
.new-input > INPUT[name="chb1"]:checked + S::before,
.new-input > INPUT#rb1:checked + S::before {
  background-color: #00c853;
}
/* тСкст, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π±Ρ€Π°Π½ */ 
.new-input > INPUT[name="chb1"]:checked ~ SPAN,
.new-input > INPUT#rb1:checked ~ SPAN {
  color: #00c853;
}

А, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π°Π΄ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ†Π΅Π»ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ input (10-15 ΡˆΡ‚ΡƒΠΊ). Π§Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ строк ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π³ΠΎ родитСля (. parent_element) ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ условиС.
.parent_element > .new-input > INPUT:not(:checked) ~ SPAN {
  color: #d50000;
  font-weight: bold;
}
.parent_element > .new-input > INPUT:checked + S::before {
  background-color: #00c853;
}
.parent_element > .new-input > INPUT:checked ~ SPAN {
  color: #00c853;
}

Всё ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° codepen.io

Π’ΠΎΡ‚, Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ, ΠΈ всё. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Β«ΠΏΠΎΡ‡Π΅ΡΠ°Ρ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΠΌΡ‹Π΅ пятна» пСрфСкциониста – ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ выравнивания.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ input ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ тСкста


Для Π½Π°Ρ‡Π°Π»Π° напомню общСизвСстныС Π²Π΅Ρ‰ΠΈ Π½Π° Ρ‚Π΅ΠΌΡƒ размСщСния тСкста, форматирования ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ. Всё ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎΠΌ. ΠžΠ±Ρ‰Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π‘ΡƒΠ΄Ρƒ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ Π½Π΅ примСнят ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΈΠ±ΠΎ Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅, вСрсткС ΠΈ css ΠΎΠ½ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Всё простыми словами.

1. Бвойство font-size Π½Π΅ опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΠΊΠ², Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ знакомСста. Π•ΡΡ‚ΡŒ базовая линия (baseline), ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСны Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅Β» Π±ΡƒΠΊΠ²Ρ‹. Π£ Β«Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ…Β» – g Ρ† – Π½ΠΈΠΆΠ½ΠΈΠ΅ элСмСнты Β«ΡΠ²ΠΈΡΠ°ΡŽΡ‚Β» Π½ΠΈΠΆΠ΅ Π΅Ρ‘. Π•ΡΡ‚ΡŒ линия ΠΊΠ°ΠΏΠΈΡ‚Π΅Π»ΠΈ (cap height) – это вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉΒ» прописной (Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ) Π±ΡƒΠΊΠ²Ρ‹. Π£ Β«Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ…Β» – Ё Π™ – Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ элСмСнты Β«Π²Ρ‹Π»Π΅Π·Π°ΡŽΡ‚Β» Π²Ρ‹ΡˆΠ΅ Π΅Ρ‘. Π˜Π½Ρ‹ΠΌΠΈ словами, Ρ€Π°Π·ΠΌΠ΅Ρ€ прописной Π±ΡƒΠΊΠ²Ρ‹ это расстояниС ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π΄ΠΎ ΠΊΠ°ΠΏΠΈΡ‚Π΅Π»ΠΈ, Π° знакомСсто это Ρ‡ΡƒΡ‚ΡŒ большС свСрху ΠΈ снизу. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π² Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ…Β» ΡˆΡ€ΠΈΡ„Ρ‚Π°Ρ… высота ΠΊΠ°ΠΏΠΈΡ‚Π΅Π»ΠΈ это 75% ΠΎΡ‚ высоты знакомСсто. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, font-size:16px, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΠΊΠ²Ρ‹ Н Ρƒ ΡˆΡ€ΠΈΡ„Ρ‚Π° Arial Π±ΡƒΠ΄Π΅Ρ‚ 12px. Но, Π±Ρ‹Π²Π°ΡŽΡ‚ «спСциалисты» Ρƒ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всё Π½Π΅ Ρ‚Π°ΠΊ.

2. Бвойство line-height опрСдСляСт высоту строки. Если Π΅Π³ΠΎ вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² font-size, Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ размСстит тСкст Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ прописная Π±ΡƒΠΊΠ²Π° Π±Ρ‹Π»Π° ΠΏΠΎ сСрСдинС высоты строки. Π•ΡΡ‚ΡŒ Π½ΡŽΠ°Π½ΡΡ‹, Π½ΠΎ Ρ‚ΡƒΡ‚ ΠΎΠ½ΠΈ Π½Π΅ Π²Π°ΠΆΠ½Ρ‹.

3. БоотвСтствСнно, Π² нашСм случаС тэги S ΠΈ SPAN Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния font-size ΠΈ line-height ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π³Π΄Π΅-Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅ Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π’ нашСм случаС Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… font-size:16px ΠΈ line-height:1. 25. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ N1 Ρƒ S::before ΡˆΠΈΡ€ΠΈΠ½Π° ΡƒΠΊΠ°Π·Π°Π½Π° 1.25em, Π° высота Ρƒ Π½Π΅Π³ΠΎ опрСдСляСтся автоматичСски. А Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ N2 (ΠΈ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€) – Ρƒ S::before ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота 0.75em, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Ρ‹Π» ΠΏΠΎ высотС с ΠΏΡ€ΠΎΠΏΠΈΡΠ½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ. Π—Π°Π΄Π°Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ font-size Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ. ЕстСствСнно, эту Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΎΠ³Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚.

4. Если ΠΏΠ΅Ρ€Π΅Π΄ тСкстом стоит какая-Ρ‚ΠΎ квадратная ΠΈΠ»ΠΈ круглая Β«ΡˆΡ‚ΡƒΡ‡ΠΊΠ°Β», Ρ‚ΠΎ любой Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ скаТСт, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ высотС с ΠΏΡ€ΠΎΠΏΠΈΡΠ½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ. А ΠΎΡ‚Π±ΠΈΠ²ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ… ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°. Если высота мСньшС высоты Π±ΡƒΠΊΠ²Ρ‹, Ρ‚ΠΎ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС, Π½ΠΎ Π½Π΅ мСньшС 50%. Если большС, Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС, Π½ΠΎ Π½Π΅ большС 150%. А Π²ΠΎΡ‚ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ, Π½Π° ΠΏΠ°Ρ€Ρƒ пиксСлСй большС/мСньшС – это уТас-уТас! Ну, ΠΈ располоТСна эта ΡˆΡ‚ΡƒΡ‡ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ сСрСдинС Π±Π΅Π· всяких Ρ‚Π°ΠΌ Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ.

Π—Π°Ρ‡Π΅ΠΌ я это упомянул? А Π·Π°Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ пСрфСкционисту Π³Π»Π°Π·Π° Ρ€Π΅ΠΆΠ΅Ρ‚, ΠΊΠΎΠ³Π΄Π° input ΠΊΡ€ΠΈΠ²ΠΎ стоит рядом с тСкстом β€” ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΈΠΏΠ°Π΅Ρ‚, ΠΈΠ»ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ, ΠΈΠ»ΠΈ Ρ‡ΡƒΡ‚ΡŒ мСньшС, ΠΈΠ»ΠΈ Ρ‡ΡƒΡ‚ΡŒ большС. ΠœΡ‹ Ρ‚Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹!


Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст Π² SPAN Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ Π² Π΄Π²Π΅ ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ строки? ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Β«Π·Π°Π»Π΅Π·Π΅Ρ‚Β» ΠΏΠΎΠ΄ input. Π­Ρ‚ΠΎ Π½Π΅ красиво, Π½Π°Π΄ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

Один Π΄Ρ€Π΅Π²Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚Π°ΠΊΠΎΠΉ: тэгу S Π΄Π΅Π»Π°Π΅ΠΌ float:left, Π° тэгу SPAN display:block ΠΈ overflow:hidden.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° тСкста. ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΈΠ· Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ margin, Ρ‡Ρ‚ΠΎ даст ΠΎΡ‚Π±ΠΈΠ²ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Ну, Π΅Ρ‰Ρ‘ добавляСтся Π³Π΅ΠΌΠΎΡ€Ρ€ΠΎΠΉ с ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ float послС SPAN. ΠœΡ‹ ΠΏΠΎΠΉΠ΄Π΅ΠΌ соврСмСнным ΠΏΡƒΡ‚Π΅ΠΌ – ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ flexbox. Он Ρ‚ΡƒΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΊ мСсту.

.new-input {
  display: flex;
  flex-direction: row;
  align-items: start;
}
.new-input > S {
  margin-right: 4px;
  flex: 0 0 auto;
}
.new-input > SPAN {
  flex: 0 1 auto;
}

Π’ этом случаС тэг LABEL (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ .new-input) Π±ΡƒΠ΄Π΅Ρ‚ flex, S ΠΈ SPAN Π±ΡƒΠ΄ΡƒΡ‚ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, размСстятся Π²Π²Π΅Ρ€Ρ…Ρƒ LABEL. ВСкст Π² SPAN Π² случаС нСобходимости Π±ΡƒΠ΄Π΅Ρ‚ Π² нСсколько строк. Π’ΠΎΡ‚ ΠΈΠ·-Π·Π° этого Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ input описали Π² S::before. НСзависимо ΠΎΡ‚ высоты SPAN S::before Π±ΡƒΠ΄Π΅Ρ‚ располоТСн Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой SPAN. Как Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ align-items:center – Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ однострочном SPAN Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ input Π±Ρ‹Π» Π±Ρ‹ Π²Π²Π΅Ρ€Ρ…Ρƒ, Π° ΠΏΡ€ΠΈ Π΄Π²ΡƒΡ… строках – посСрСдинС, Π° ΠΏΡ€ΠΈ Ρ‚Ρ€Π΅Ρ… – Ρƒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки. Π’ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ располоТСниС input.

Π’ΠΎΡ‚ ΠΈ всё


НадСюсь, Π±Ρ‹Π»ΠΎ интСрСсно ΠΈ ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠŸΡ€ΠΎΡˆΡƒ, Π½Π΅ сильно мСня Ρ€ΡƒΠ³Π°Ρ‚ΡŒ – это ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Π½Π° Π₯Π°Π±Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 1 – просто дСмонстрация взаимодСйствия измСнСния input ΠΈ сосСднСго элСмСнта.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 2 – визуализация input срСдствами css, ΠΊΠ°ΠΊ основа Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ – всё описанноС вмСстС.

ΠŸΡ€ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ


Π’Π°ΠΌ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π³Π΄Π΅ Π±Π»ΠΎΠΊΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ для ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²Ρ‹Π΄Π΅Π»ΡΠ»ΠΈΡΡŒ слабым Ρ„ΠΎΠ½ΠΎΠΌ, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ input ΠΈΠΌΠ΅Π»ΠΈ свойство disabled ΠΈ слуТили Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŒ Β«.new-input > INPUT:disabled + S::beforeΒ» Π½Π΅ примСняли.

UPD


Π’ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ N 3.
Π’Π°ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° клавиш ΠΈ фокуса для скрытого input.

Бтилизация checkbox ΠΈ radio

ОглавлСниС

  • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ radio-ΠΊΠ½ΠΎΠΏΠΊΠΈ
  • Бтилизация checkbox ΠΈΒ radio ΠΊΠ½ΠΎΠΏΠΎΠΊ являСтся ΠΎΡ‡Π΅Π½ΡŒ распространСнной ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ Π²Β web-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅. В этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я покаТу ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² CSS, ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ элСмСнты кроссбраузСрно.

    Для Π½Π°Ρ‡Π°Π»Π° опрСдСлимся с логикой, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ стилизации чСкбоксов ΠΈΒ Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊ:

    1. Помимо самих элСмСнтов ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹Β Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ (<input type="checkbox">Β ΠΈΒ <input type="radio">), Π½Π°ΠΌ понадобится Ρ‚Π΅Π³Β <label>, благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ элСмСнт ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ кликая на тСкст, Π°Β Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ на сам элСмСнт.
    2. Π’Π΅Π³Β <input>Β Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΒ Ρ‚Π΅Π³Π°Β <label>Β . В этом случаС состояниС элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Β for.

    «Магия» Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ в использовании псСвдосСлСкторов :checked ΠΈΒ :not. ΠŸΡ€ΠΈ этом сам чСкбокс ΠΈΠ»ΠΈ Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄Π΅Π»Π°ΡŽΡ‚ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ, а их эмуляция осущСствляСтся ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ псСвдоэлСмСнтов :before ΠΈΒ :after для Ρ‚Π΅Π³Π° <label>.

    #

    ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ чСкбокса

    HTML Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° для чСкбокса Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    <!-- Бтилизация checkbox  -->
    <div>
        <input type="checkbox" />
        <label for="checkbox1">Checkbox 1</label>
    </div>
    
    <div>
        <input type="checkbox" />
        <label for="checkbox2">Checkbox 2</label>
    </div>

    Π•Ρ‰Π΅ Ρ€Π°Π·Β β€” Ρ‚Π΅Π³ <input> ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ располоТСн ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅Π³ΠΎΠΌ <label>. Если вы помСняСтС их мСстами, Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅Β Π±ΡƒΠ΄Π΅Ρ‚.

    #

    CSS-стили для чСкбокса:

    .element-wrapper {
        padding: 10px;
    }
    
    /* 
    //////////////////////
    Бтилизация checkbox 
    //////////////////////
    */
    
    . checkbox {
        position: absolute;
        z-index: -1;
        opacity: 0;
    }
    
    .checkbox + label {
        position: relative;
        vertical-align: middle;
        padding: 0 0 0 30px;
        cursor: pointer;
    }
    
    /* ЧСкбокс Π² состоянии Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ */
    .checkbox + label:before {
        content: '';
        position: absolute;
        top: -1px;
        left: 0;
        width: 19px;
        height: 18px;
        border: 2px solid #ccc;
        border-radius: 3px;
    }
    
    /* ЧСкбокс Π² состоянии Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ */
    .checkbox + label:after {
        content: '';
        position: absolute;
    }
    
    /* Π€ΠΎΠ½ чСкбокса Π² состоянии Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ */
    .checkbox:checked + label:after {
        position: absolute;
        top: 2px;
        left: 3.2px;
        border: 1px solid white;
        background: #413548;
        height: 14px;
        width: 14px;
    }

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

    Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Β ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ чСкбокса ΠΎΡ‚ webinmind.ru (@webinmind).

    #

    ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ radio-ΠΊΠ½ΠΎΠΏΠΊΠΈ

    HTML Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° для Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

    <!-- Бтилизация radio  -->
    <div>
        <input type="radio" name="radio" />
        <label for="radio1">Radio 1</label>
    </div>
    
    <div>
        <input type="radio" name="radio" />
        <label for="radio2">Radio 1</label>
    </div>

    Π˜Β ΠΎΠΏΡΡ‚ΡŒΒ β€” Ρ‚Π΅Π³ <input> ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ располоТСн ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅Π³ΠΎΠΌ <label>.

    #

    CSS-стили для Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΊΠΈ:

    .element-wrapper {
        padding: 10px;
    }
    
    /* 
    //////////////////////
    Бтилизация radio 
    //////////////////////
    */
    
    .radio {
        position: absolute;
        z-index: -1;
        opacity: 0;
        margin: 10px 0 0 7px;
    }
    
    .radio + label {
        position: relative;
        padding: 0 0 0 30px;
        cursor: pointer;
    }
    
    /* ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΊΠΈ */
    . radio + label:before {
        content: '';
        position: absolute;
        top: -1px;
        left: 0;
        width: 18px;
        height: 18px;
        border: 2px solid #ccc;
        border-radius: 50%;
        background: #FFF;
    }
    
    /* Π Π°Π΄ΠΈΠΎ Π² состоянии Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ */
    .radio + label:after {
        content: '';
        position: absolute;
        top: 2.5px;
        left: 3.5px;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background: #413548;
        opacity: 0;
        transition: .2s;
    }
    
    .radio:checked + label:after {
        opacity: 1;
    }

    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

    Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Β ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ radio-ΠΊΠ½ΠΎΠΏΠΊΠΈΒ ΠΎΡ‚ webinmind.ru (@webinmind).

    Π’ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ кроссбраузСрно ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартный Π²ΠΈΠ΄ чСкбоксов ΠΈΒ Ρ€Π°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² ΠΏΡ€ΠΈ этом Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь инструмСнт CSS. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΡ€ΠΎ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ скроллбара Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π½Π° Π΄Π²ΠΈΠΆΠΊΠ΅ WebKit.

    ВрСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹: 0,1263 s
    ВрСмя запросов: 0,1263 s
    ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ запросов: 34
    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: database

    : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ — CSS: каскадныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй

    Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ псСвдокласса : checked CSS прСдставляСт любоС Ρ€Π°Π΄ΠΈΠΎ ( ), Ρ„Π»Π°ΠΆΠΎΠΊ ( ) ΠΈΠ»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ( Π²

    CSS
      Π΄Π΅Π»,
    Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ {
      ΠΌΠ°Ρ€ΠΆΠ°: 8 пиксСлСй;
    }
    
    
    input: checked + label {
      красный Ρ†Π²Π΅Ρ‚;
    }
    
    
    input [type = "radio"]: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
      box-shadow: 0 0 0 3px ΠΎΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ;
    }
    
    
    input [type = "checkbox"]: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
      box-shadow: 0 0 0 3px hotpink;
    }
    
    
    option: checked {
      box-shadow: 0 0 0 3px Π»Π°ΠΉΠΌ;
      красный Ρ†Π²Π΅Ρ‚;
    }
      
    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

    ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ элСмСнтов со скрытым Ρ„Π»Π°ΠΆΠΊΠΎΠΌ

    Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ псСвдокласс : checked , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² зависимости ΠΎΡ‚ состояния Ρ„Π»Π°ΠΆΠΊΠ°, ΠΈ всС это Π±Π΅Π· использования JavaScript.

    HTML
      
    
    <Ρ‚Π°Π±Π»ΠΈΡ†Π°>
      
          Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† β„–1   Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† β„–2   Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† β„–3  
      
      
          [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]   [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]   [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]  
          [тСкст ячСйки]   [тСкст ячСйки]   [тСкст ячСйки]  
          [тСкст ячСйки]   [тСкст ячСйки]   [тСкст ячСйки]  
          [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]   [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]   [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]  
          [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]   [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]   [Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст]  
      
    
    
    
      
    CSS
     
    # expand-toggle {
      дисплСй: Π½Π΅Ρ‚;
    }
    
    
    .Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ {
      Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ: коллапс;
      Ρ„ΠΎΠ½: #ddd;
    }
    
    
    # expand-btn {
      дисплСй: встроСнный Π±Π»ΠΎΠΊ;
      ΠΌΠ°Ρ€ΠΆΠ° свСрху: 12 пиксСлСй;
      отступ: 5 пиксСлСй 11 пиксСлСй;
      Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: # ff7;
      Π³Ρ€Π°Π½ΠΈΡ†Π°: сплошная 1px;
      радиус Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 3 пиксСля;
    }
    
    
    # expand-toggle: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ~ * . expandable {
      Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ: видимая;
    }
    
    
    # expand-toggle: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ~ # expand-btn {
      Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: #ccc;
    }  
    Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

    ГалСрСя ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

    ПсСвдокласс : checked ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π³Π°Π»Π΅Ρ€Π΅ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ»Π½ΠΎΡ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ изобраТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Ρƒ.Π‘ΠΌ. Π­Ρ‚Ρƒ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ для Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ подсказки.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Для Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ эффСкта, Π½ΠΎ Π½Π° основС псСвдокласса : hover ΠΈ Π±Π΅Π· скрытых радиобоксов, см. Π­Ρ‚Ρƒ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ, Π²Π·ΡΡ‚ΡƒΡŽ со справочной страницы: hover.

    Π’Π°Π±Π»ΠΈΡ†Ρ‹ BCD Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅

    Чистый CSS Π‘Ρ‚ΠΈΠ»ΡŒ настраиваСмого Ρ„Π»Π°ΠΆΠΊΠ°

    Π­Ρ‚ΠΎ выпуск β„–19 ΠΈΠ· сСрии, посвящСнной соврСмСнным Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ CSS для ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ€Π΅ΡˆΠ°Π» Π·Π° послСдниС 14 с лишним Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ .

    ΠœΡ‹ создадим настраиваСмыС кроссбраузСрныС, настраиваСмыС ΠΏΠΎ Ρ‚Π΅ΠΌΠ°ΠΌ, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π»Π°ΠΆΠΊΠΈ Π½Π° чистом CSS со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

    • currentColor для возмоТности Ρ‚Π΅ΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ SVG
    • em Π΅Π΄ΠΈΠ½ΠΈΡ† для ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°
    • использованиС SVG для : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€
    • ΠœΠ°ΠΊΠ΅Ρ‚ сСтки CSS для выравнивания Π²Π²ΠΎΠ΄Π° ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ

    МногиС ΠΈΠ· прСдставлСнных здСсь ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ с нашими настраиваСмыми ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈΠ· эпизода 18, с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ использования SVG для состояния : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ стили для состояния : ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ доступно : ΠΌΠΎΠΉ яйцСголовый видСокурс Accessible Cross-Browser CSS Form Styling. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, описанныС Π² этом руководствС, Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, создав систСму Π΄ΠΈΠ·Π°ΠΉΠ½Π° Ρ„ΠΎΡ€ΠΌ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ тСматичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° всС ваши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.

    Π€Π»Π°ΠΆΠΎΠΊ HTML #

    Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΡ… ΠΌΡ‹ рассмотрСли Π΄Π²Π° допустимых способа Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°. Как ΠΈ Ρ‚ΠΎΠ³Π΄Π°, ΠΌΡ‹ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄.

    Для Π½Π°ΡˆΠΈΡ… Ρ„Π»Π°ΠΆΠΊΠΎΠ² ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный SVG, Π° Ρ‚Π°ΠΊΠΆΠ΅ для нашСго настраиваСмого элСмСнта управлСния, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²ΠΎΡ‚ наш Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ HTML-ΠΊΠΎΠ΄ для тСстирования ΠΊΠ°ΠΊ Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ состояния:

    ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΌΠΎΠΉ сСминар ΠΏΠΎ CSS Π² июлС Π½Π° Smashing Conference: Level-Up With Modern CSS

      <ΠΌΠ΅Ρ‚ΠΊΠ°> 



    xmlns = "http: // www.w3.org/2000/svg "
    viewBox =" 0 0 24 24 "
    aria-hidden =" true "
    focusable =" false "
    >
    fill =" none "
    stroke =" currentColor "
    ΡˆΡ‚Ρ€ΠΈΡ… -width = "3"
    d = "M1. 73 12.91l6.37 6.37L22.79 4.59"
    />



    Π€Π»Π°ΠΆΠΎΠΊ

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС aria-hidden = "true" ΠΈ focusable = "false" , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ этот SVG ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΎΠΊ.Π’ этом случаС Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ„Π»Π°ΠΆΠΎΠΊ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ доступСн для обСспСчСния сСмантики ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ состояния для доступности.

    РаспространСнныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с собствСнными Ρ„Π»Π°ΠΆΠΊΠ°ΠΌΠΈ #

    Как ΠΈ Π² случаС с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌΠΈ, внСшний Π²ΠΈΠ΄ Ρ„Π»Π°ΠΆΠΊΠ° зависит ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

    Π’ΠΎΡ‚ основныС стили (Π² порядкС слСва) Chrome, Firefox ΠΈ Safari:

    Π’Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² случаС с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ вмСстС с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΡˆΡ€ΠΈΡ„Ρ‚Π° .

    НашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ:

    • шкала с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π½Π° этикСткС
    • ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ†Π²Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ этикСтка, для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅ΠΌΠ°ΠΌΠΈ
    • обСспСчиваСт согласованный кросс-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ : фокус состояниС
    • ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

    Наши стили Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΈ для Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ

    Π‘Ρ‚ΠΈΠ»ΠΈ этикСток #

    На нашСй этикСткС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс .Ρ„Π»Π°ΠΆΠΎΠΊ . Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ сюда: font-size ΠΈ color . Напомним Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎ font-size Π΅Ρ‰Π΅ Π½Π΅ повлияСт Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Π²ΠΎΠ΄Π° Ρ„Π»Π°ΠΆΠΊΠ°.

    ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ большой Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния Π² цСлях дСмонстрации ΡƒΡ‡Π΅Π±Π½ΠΎΠ³ΠΎ пособия.

    Наша ΠΌΠ΅Ρ‚ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ ΠΌΠ°ΠΊΠ΅Ρ‚Π° для нашСго Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΈ ΠΌΡ‹ собираСмся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ для использования ΠΌΠ°ΠΊΠ΅Ρ‚Π° сСтки CSS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами grid-gap.

      .checkbox {
    дисплСй: сСтка;
    столбцов шаблона сСтки: минимальноС содСрТаниС автоматичСски;
    сСтка-Π·Π°Π·ΠΎΡ€: 0,5 ΠΌΠΊΠΌ;
    font-size: 2rem;
    Ρ†Π²Π΅Ρ‚: var (- Ρ†Π²Π΅Ρ‚);
    }

    Π’ΠΎΡ‚ наш прогрСсс, зафиксированный Π² Chrome, ΠΊΠΎΠ³Π΄Π° инспСктор ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈΠ½ΠΈΠΈ сСтки:

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ†Π²Π΅Ρ‚ stroke нашСго SVG ΠΊΠ°ΠΊ currentColor , ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ взял Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ rebeccapurple .

    Π₯ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ совСты ΠΏΠΎ CSS Π±Ρ‹Π»ΠΈ Π² вашСм ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΌ ящикС? ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ ΠΌΠΎΠ΅ΠΌΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒ Π±ΡŽΠ»Π»Π΅Ρ‚Π΅Π½ΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ обновлСния статСй, совСты ΠΏΠΎ CSS ΠΈ внСшниС рСсурсы!

    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ Ρ„Π»Π°ΠΆΠΊΠ° #

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ этому, ΠΌΡ‹ ΠΎΠ±Π΅Ρ€Π½ΡƒΠ»ΠΈ наш Π²Ρ…ΠΎΠ΄ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с Ρ„Π»Π°ΠΆΠΊΠΎΠΌ класса __input . Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ span Π² качСствС родствСнника input с Ρ„Π»Π°ΠΆΠΊΠΎΠΌ класса __control . ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ содСрТит Π³Π°Π»ΠΎΡ‡ΠΊΡƒ SVG.

    ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ

    здСсь ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ для : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ , : фокус ΠΈ : ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ .

    Π¨Π°Π³ 1. Π‘ΠΊΡ€ΠΎΠΉΡ‚Π΅ собствСнный Ρ„Π»Π°ΠΆΠΎΠΊ #

    Нам Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ собствСнный Ρ„Π»Π°ΠΆΠΎΠΊ, Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ тСхничСски доступным, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ взаимодСйствиС с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ доступ ΠΊ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ , : focus .

    Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΈ установим Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту Π½Π° 1em . ΠœΡ‹ сохраним ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ сСнсорных устройств ΠΌΠΎΠ³Π»ΠΈ ΠΈΡ… ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ.

      .checkbox__input {
    Π²Ρ…ΠΎΠ΄ {
    Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ: 0;
    ΡˆΠΈΡ€ΠΈΠ½Π°: 1em;
    высота: 1em;
    }
    }

    Π― Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎΡ‚ Π‘Π°Ρ€Ρ‹ Π‘ΡƒΠ΅ΠΉΠ΄Π°Π½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ скрытия ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдлагаСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ взгляд Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ этих Π²Ρ…ΠΎΠ΄ΠΎΠ².

    Π¨Π°Π³ 2. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ стили для Ρ„Π»Π°ΠΆΠΊΠΎΠ² со снятыми Ρ„Π»Π°ΠΆΠΊΠ°ΠΌΠΈ #

    Для нашСго настраиваСмого Ρ„Π»Π°ΠΆΠΊΠ° ΠΌΡ‹ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΠΌ стили ΠΊ span.checkbox__control , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся родствСнником послС Π²Π²ΠΎΠ΄Π° .

    ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΅Π³ΠΎ ΠΊΠ°ΠΊ элСмСнт inline-grid с Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ em , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° , ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊ ΠΌΠ΅Ρ‚ΠΊΠ΅ . ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ em для значСния border-width , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄.Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ border-radius , Ρ‡Ρ‚ΠΎΠ±Ρ‹ мягко Π·Π°ΠΊΡ€ΡƒΠ³Π»ΠΈΡ‚ΡŒ ΡƒΠ³Π»Ρ‹.

      .checkbox__control {
    display: inline-grid;
    ΡˆΠΈΡ€ΠΈΠ½Π°: 1em;
    высота: 1em;
    border-radius: 0,25em;
    Π³Ρ€Π°Π½ΠΈΡ†Π°: 0.1em сплошной currentColor;
    }

    Π’ΠΎΡ‚ наш прогрСсс послС сокрытия исходного Π²Π²ΠΎΠ΄Π° ΠΈ опрСдСлСния этих Π±Π°Π·ΠΎΠ²Ρ‹Ρ… стилСй для настраиваСмого элСмСнта управлСния Ρ„Π»Π°ΠΆΠΊΠΎΠΌ:

    Π§Ρ‚ΠΎ ΠΆ, дисплСй : inline-grid Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ» свою магию, Ρ‡Ρ‚ΠΎΠ±Ρ‹ красиво ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ SVG, Π½ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта управлСния ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ сэтикСтка?

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ сохранили ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Ρ„Π»Π°ΠΆΠΊΠ° ΠΈ скрыли Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΎΠ½ всС Π΅Ρ‰Π΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСсто.

    Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ сСтки CSS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ .checkbox__input ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ шаблона сСтки ΠΈ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты ΠΊΠΎ всСм, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΌ эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Π­Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° являСтся соврСмСнной Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ : Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ .

      .checkbox__input {
    ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: сСтка;
    сСтка-шаблон-областСй: "Ρ„Π»Π°ΠΆΠΎΠΊ";

    > * {
    ΠΎΠ±Π»Π°ΡΡ‚ΡŒ сСтки: Ρ„Π»Π°ΠΆΠΎΠΊ;
    }
    }

    Если Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ нСбольшоС Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ смСщСниС ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтом управлСния ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ ΠΈΠ·-Π·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΡˆΡ€ΠΈΡ„Ρ‚Π°, см. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

    Π¨Π°Π³ 3: Бтилизация

    : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ состояния #

    ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ : 0 сохранил собствСнный Π²Π²ΠΎΠ΄ Ρ„Π»Π°ΠΆΠΊΠ°, доступный для взаимодСйствия с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для взаимодСйствия Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ / касаниСм.

    Он Ρ‚Π°ΠΊΠΆΠ΅ сохранил ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ своС состояниС : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS.

    ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» порядок Π²Π΅Ρ‰Π΅ΠΉ? Благодаря Π½Π°ΡˆΠ΅ΠΌΡƒ настраиваСмому элСмСнту управлСния, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π·Π° собствСнным Π²Π²ΠΎΠ΄ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сосСднюю ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π±Ρ€Π°Ρ‚ΡŒΠ΅Π² ΠΈ сСстСр — + — для стилизации нашСго настраиваСмого элСмСнта управлСния, ΠΊΠΎΠ³Π΄Π° собствСнный элСмСнт управлСния Ρ€Π°Π²Π΅Π½ : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ πŸ™Œ

    Однако — ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ встроСнный SVG для отобраТСния ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° : checked , Π½Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ SVG ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» скрыт ΠΈ отобраТался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² состоянии : checked .

    ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ эффСкт ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ : scale (0) для ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ скрытия:

      .checkbox__control svg {
    transition: ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ 0,1 с Π·Π° 25 мс;
    ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΌΠ°ΡΡˆΡ‚Π°Π± (0);
    трансформация происхоТдСния: Π²Π½ΠΈΠ·Ρƒ слСва;
    }

    Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ стили : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ снова ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄:

      .checkbox__input input: ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ +.checkbox__control svg {ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ 
    : ΠΌΠ°ΡΡˆΡ‚Π°Π± (1);
    }

    Π’ΠΎΡ‚ дСмонстрация Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ взаимодСйствия : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ :

    Π¨Π°Π³ 4. БостояниС

    : focus #

    Для состояния : focus ΠΌΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ box-shadow , ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ использовали для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ currentColor , Π½ΠΎ обСспСчиваСт Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ настраиваСмым Ρ„Π»Π°ΠΆΠΊΠΎΠΌ ΠΈ стилСм : focus .

      .checkbox__input input: focus + .checkbox__control {
    box-shadow: 0 0 0 0,05em #fff, 0 0 0,15em 0,1em currentColor;
    }

    ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Π½ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сначала создаСм внСшний Π²ΠΈΠ΄ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ Π±Π΅Π»ΠΎΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, которая появляСтся Π½Π°Π΄ Ρ€Π°ΡΡ‚ΡƒΡˆΠ΅Π²Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Π½ΡŒΡŽ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· currentColor .

    Π’ΠΎΡ‚ дСмонстрация : focus внСшний Π²ΠΈΠ΄:

    Π¨Π°Π³ 5: Π‘Ρ‚ΠΈΠ»ΠΈ для

    : ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Ρ„Π»Π°ΠΆΠΊΠΈ #

    Один шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ пропустили Π² ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ΅ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌ, — это стилизация для состояния : ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ .

    Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΉ ΠΆΠ΅ схСмС, Ρ‡Ρ‚ΠΎ ΠΈ для Π½Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… состояний, с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ здСсь Π² основном для обновлСния Ρ†Π²Π΅Ρ‚Π° Π΄ΠΎ сСрого. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС наши Ρ†Π²Π΅Ρ‚Π° привязаны ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ currentColor , это простоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ для настраиваСмого элСмСнта управлСния:

     : root {
    --disabled: # 959495;
    }

    .checkbox__input input: checkbox: disabled + .checkbox__control {
    color: var (- disabled);
    }

    Но ΠΌΡ‹ Π½Π°Ρ‚ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ Π½Π° Π·Π°Π³Π²ΠΎΠ·Π΄ΠΊΡƒ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΊΠ° являСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ элСмСнтом, Π² настоящСС врСмя Ρƒ нас Π½Π΅Ρ‚ возмоТности ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² CSS Π½Π° основС состояния : disabled .

    Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с CSS Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс для ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° извСстно, Ρ‡Ρ‚ΠΎ Ρ„Π»Π°ΠΆΠΎΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это состояниС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг.

    ΠœΡ‹ создадим класс .checkbox - disabled , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ элСмСнту ΠΌΠ΅Ρ‚ΠΊΠΈ HTML.

      .checkbox - ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ {
    color: var (- ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ);
    }

    Π”Π΅ΠΌΠΎ β„–

    Π’ΠΎΡ‚ дСмонстрация, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ стили : disabled , Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΎΡ‰ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… CSS + использованиС currentColor ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π»Π°ΠΆΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого встроСнного стиля.Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠ°ΠΊ быстроС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния ошибки.

    Π‘Ρ‚Π΅Ρ„Π°Π½ΠΈ Эклс (@ 5t3ph)

    : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ | Codrops

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Radio ( ) ΠΈ checkbox ( ) ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. НСкоторыС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Β«ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹Β», ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΈΡ…. Когда Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, примСняСтся псСвдокласс : checked .

    Π˜Ρ‚Π°ΠΊ, : ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈ стиля Ρ„Π»Π°ΠΆΠΊΠ° ( ), Ρ€Π°Π΄ΠΈΠΎ ( ) ΠΈΠ»ΠΈ ΠΎΠΏΡ†ΠΈΠΈ ( Π² ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ.

    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эту Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Codrops

    Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ², для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ явно установлСн Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΈΠ»ΠΈ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… selected Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ явно установлСн.

     ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ >
     ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ >
    
                     

    ПсСвдокласс : checked ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ примСняСтся ΠΊ этим элСмСнтам, Π½ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты, ΠΈ Π² этом случаС ΠΎΠ½ большС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

    ΠžΠ±Ρ‰Π°Ρ информация ΠΈ примСчания

    Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π΄ΠΈΠΎ ΠΈ Ρ„Π»Π°ΠΆΠΊΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ находятся Π² Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ состоянии, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ элСмСнта ΠΈΠ»ΠΈ манипуляциями с DOM. Π’Π°ΠΊΠΈΠ΅ элСмСнты ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ псСвдокласса : indeterminate .

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

    
    
                     
    input [type = "checkbox"]: checked + label {
        тСкстовоС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅: сквозноС;
        Ρ†Π²Π΅Ρ‚: сСрый;
    }
                     

    УстановитС Ρ„Π»Π°ΠΆΠΎΠΊ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ дСмонстрации, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΅Π³ΠΎ Π² дСйствии.

    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эту Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Codrops

    Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ этому, псСвдокласс : checked ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS. Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ½ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π Π°ΠΉΠ°Π½Π° Π‘Π΅Π΄Π΄ΠΎΠ½Π° ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ настраиваСмыС Ρ€Π°Π΄ΠΈΠΎΠ²Ρ…ΠΎΠ΄Ρ‹ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдставлСна β€‹β€‹Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°: настраиваСмыС Π²Π²ΠΎΠ΄Ρ‹ Ρ€Π°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ большС ΠΎΠ± этой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ CSS Click Events здСсь, Π½Π° Codrops.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

    Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ стили любой ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½ Π²Ρ…ΠΎΠ΄ ΠΈΠ»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π°.

    : checked {
        Ρ†Π²Π΅Ρ‚: Π·Π΅Π»Π΅Π½Ρ‹ΠΉ;
    }
                     

    Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΡΡ‚ΠΈΠ»ΡŒ Ρ„Π»Π°ΠΆΠΊΠ°, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Ρ‹Π±ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹, соотвСтствСнно, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСлСкторов Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² CSS.

    input [type = "checkbox"]: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
        ΡˆΠΈΡ€ΠΈΠ½Π°: 20 пиксСлСй;
        высота: 20 пиксСлСй;
    }
    
    input [type = "radio"]: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
        Ρ†Π²Π΅Ρ‚: Π·Π΅Π»Π΅Π½Ρ‹ΠΉ;
    }
    
    option: checked {
        Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: синий;
        Ρ†Π²Π΅Ρ‚ Π±Π΅Π»Ρ‹ΠΉ;
    }
                     

    Live Demo

    ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ΅ ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ состояниС Ρ„Π»Π°ΠΆΠΊΠΎΠ², ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ дСмонстрации, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΡ… : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ стили , ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ (ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅).

    ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эту Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Codrops

    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

    ПсСвдокласс : checked поддСрТиваСтся Π² Chrome, Firefox, Safari, Opera 9+, Internet Explorer 9+, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Android ΠΈ iOS.

    ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„Π»Π°ΠΆΠΊΠΎΠ² HTML ΠΈ CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

    Π€Π»Π°ΠΆΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Π²Π΅Π±-сайта, особСнно Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… с ΠΊΡƒΠΏΠΎΠ½Π°ΠΌΠΈ, Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Ρ„Π»Π°Π΅Ρ€Π°ΠΌΠΈ. ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ для ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Β«Π΄Π°Β» ΠΈΠ»ΠΈ Β«Π½Π΅Ρ‚Β».

    Помимо Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° страницы, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° панСлях управлСния ΠΈ Π² мСню настроСк.

    Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ стал Π±ΠΎΠ»Π΅Π΅ СстСствСнным, Π° эффСкты — Π±ΠΎΠ»Π΅Π΅ соврСмСнными ΠΈ худоТСствСнными. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассказываСтся ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄Π½Ρ‹Ρ… Π΄ΠΈΠ·Π°ΠΉΠ½Π°Ρ… Ρ„Π»Π°ΠΆΠΊΠΎΠ² CSS.

    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ эффСкты Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² соотвСтствии со своими прСдпочтСниями.

    Бтилизация Ρ„Π»Π°ΠΆΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ эффСктивными Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… контСкстах.

    Он Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ сСнсорный контСкст.НСкоторыС ΠΈΠ· часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… областСй для касания Ρ„Π»Π°ΠΆΠΊΠΎΠ² слишком ΠΌΠ°Π»Ρ‹.

    ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ настраиваСмыС Ρ„Π»Π°ΠΆΠΊΠΈ. Π­Ρ‚ΠΎ достиТимо ΠΏΡ€ΠΈ использовании ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ CSS.

    Π’ΠΎΡ‚ творчСскиС способы стилизации Ρ„Π»Π°ΠΆΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ:

    Π€Π»Π°ΠΆΠΎΠΊ Todo

    Автор: ΠšΡΡ‚Ρ€ΠΈΠ½ ΠšΠ°Ρ‚ΠΎ

    Установка этого Ρ„Π»Π°ΠΆΠΊΠ° CSS ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ эффСкту зачСркивания ΠΈ навСдСнию курсора тСкста Π½Π° .

    ЧСкбоксы Π½Π° чистом CSS3 с FontAwesome

    Автор: foxeisen

    Π­Ρ‚ΠΎ Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π° чистом CSS3 , созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ FontAwesome ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ².

    ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ для ящиков ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ

    Автор: Π­Π½Π΄Ρ€ΡŽ Π’Π΅ΠΆΠ±Π°

    Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ Ρ„Π»Π°ΠΆΠΎΠΊ с нСсколькими анимациями. БтатичСскиС ящики ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скучными ΠΈ нСинтСрСсными.

    Π˜Ρ‚Π°ΠΊ, Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π» ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΡΠΊΡƒΡŽ идСю для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ . ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΆΠΈΠ²ΠΈΡ‚ΡŒ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятными.

    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ„Π»Π°ΠΆΠΎΠΊ / Ρ‚ΡƒΠΌΠ±Π»Π΅Ρ€

    Автор: thelaazyguy

    Автор этого Ρ„Π»Π°ΠΆΠΊΠ° CSS использовал HTML, CSS ΠΈ нСбольшой SVG для создания ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ .

    Π‘Ρ‚ΠΈΠ»ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ² CSS3

    Автор: Брэд Π‘ΠΎΠ΄ΠΈΠ½

    Для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π΄ΠΈΠ·Π°ΠΉΠ½Π° этот Ρ„Π»Π°ΠΆΠΎΠΊ CSS соотвСтствуСт всСм трСбованиям. Π’ зависимости ΠΎΡ‚ стиля Ρ„ΠΎΠ½Π° Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π΅Π²ΡΡ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² Π½Π° Π²Ρ‹Π±ΠΎΡ€.

    НСкоторыС ΠΈΠ· этих Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ срСди ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов страницы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ смСлыС ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅. Или ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΠΊΠΎΠ»ΡŒΠ·ΡΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ с Π²Π΅Π±-прилоТСниями, Ρ‚Π°ΠΊ ΠΈ с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ.

    Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Π±-сайты Π±Π΅Π· написания ΠΊΠΎΠ΄Π°

    WoW Π²Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², создавая ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ быстро Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π΅Π±-сайты
    Π±Π΅Π· ΠΎΠΏΡ‹Ρ‚Π° программирования.Slider Revolution позволяСт Π²Π°ΠΌ,
    , ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ ΠΊ Π²Π°ΠΌ ΠΏΠΎΡ‚ΠΎΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π·Π° ΠΌΠΎΠ΄Π½Ρ‹ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ Π²Π΅Π±-сайтов.

    Π€Π»Π°ΠΆΠΊΠΈ ΠΈ Ρ€Π°Π΄ΠΈΠΎΠ³Ρ€ΡƒΠΏΠΏΡ‹, Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌΠΈ

    Автор: Π‘Π°Π΄Π΄ΠΈ Π ΠΈΠ½ΠΎ

    Π‘Π°ΠΌΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π² этом Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ΅Π½ JavaScript. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ псСвдоэлСмСнты Π½Π° ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ΅ состояниС , Ссли ΠΌΠ΅Ρ‚ΠΊΠ° ΠΈΠ΄Π΅Ρ‚ послС Ρ„Π»Π°ΠΆΠΊΠ°.

    CodePen Home Shift ΠΈ Ρ„Π»Π°ΠΆΠΊΠΈ

    Автор: thu nguyen

    Π”ΠΈΠ·Π°ΠΉΠ½ этого Ρ„Π»Π°ΠΆΠΊΠ° CSS ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Apple Notes.Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ сходство с прилоТСниями списков Π΄Π΅Π» .

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹, тСксты Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ. Однако здСсь Π½Π΅Ρ‚ возмоТности Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСксты, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это всСго лишь ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ дСмонстрация.

    Cool Checkbox с SVG!

    Автор: Луис АдамС

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ CSS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ SVG для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ . Π€Π»Π°ΠΆΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² соотвСтствии с прСдпочтСниями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

    Π€Π»Π°ΠΆΠΎΠΊ Jelly

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ чистый CSS для создания Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ .Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это всСго лишь ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ модСль, поэтому конструкция лСгкая ΠΈ простая.

    Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² соотвСтствии с прСдпочтСниями ΠΈ стилСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

    ΠŸΠ°Ρ€Π°Π΄ΠΎΠΊΡ ΠΆΠΈΠ·Π½ΠΈ | Π€Π»Π°ΠΆΠΊΠΈ CSS

    Автор: Π₯Π°Π²Π°Ρ€Π΄ Π‘Ρ€ΠΈΠ½Π΄ΠΆΡƒΠ»ΡŒΡ„ΡΠ΅Π½

    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ захотят Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈ JS для воссоздания этого Ρ„Π»Π°ΠΆΠΊΠ°.

    Toggle Дэрил / Дэйв

    Автор: Дэвид Дарнс

    Автор основал этот Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π° Toggle, созданном Дэрилом Π“ΠΈΠ½Π½ΠΎΠΌ.Но ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈΠ·ΡŽΠΌΠΈΠ½ΠΊΡƒ ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ большС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ .

    Π€Π»Π°ΠΆΠΎΠΊ для скСйтборда Π½Π° чистом CSS

    Автор: Адам ΠšΡƒΠ½

    Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ слоТнСС Π΄Ρ€ΡƒΠ³ΠΈΡ…, Π½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ стоит. Они использовали чистый CSS, Ρ‡Ρ‚ΠΎ сдСлало Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ.

    Π€Π»Π°ΠΆΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ Π½Π° Pretty Pure CSS

    Автор: Cesque

    Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ настраиваСмый Ρ„Π»Π°ΠΆΠΎΠΊ . ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ†Π²Π΅Ρ‚ Π² соотвСтствии со стилСм ΠΈ Ρ„ΠΎΠ½ΠΎΠΌ своСй страницы.

    Π€Π»Π°ΠΆΠΎΠΊ «ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½»

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Автор использовал CSS-ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот Ρ„Π»Π°ΠΆΠΎΠΊ.

    Обман с Ρ„Π»Π°ΠΆΠΊΠΎΠΌ: список Π΄Π΅Π»

    Автор: Π£ΠΈΠ»Π» Π‘ΠΎΠΉΠ΄

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ концСпция Ρ„Π»Π°ΠΆΠΊΠ° CSS ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° доску списка Π΄Π΅Π» , этот Ρ‚Ρ€ΡŽΠΊ с Ρ„Π»Π°ΠΆΠΊΠΎΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ справился со своСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π€Π»Π°ΠΆΠΎΠΊ Π² Ρ†Π΅Π»ΠΎΠΌ выглядит Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² соотвСтствии со своим Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

    Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ дСйствиС ΠΊΠ°ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅, ΠΌΠ΅Ρ‚ΠΊΠ° пСрСмСстится Π² Ρ€Π°Π·Π΄Π΅Π» Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ списка.

    ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ CSS для ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.

    Emojibox — Ρ„Π»Π°ΠΆΠΎΠΊ со смайликами

    Автор: Π–ΡƒΠ°Π½ ΠœΠ°Ρ€ΡΠ΅Π»ΡŒ

    Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²Π΅Π±-страницу Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π° счСт использования смайлов . ΠšΡ€Π΅Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² этом Ρ„Π»Π°ΠΆΠΊΠ΅ CSS.

    Π˜ΠΌΠ΅Π΅Ρ‚ простой Π΄ΠΈΠ·Π°ΠΉΠ½ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ вмСсто тСкстов. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π½Π΅Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°ΠΆΠΊΠ° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ.

    Автор использовал ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ CSS для создания этого Emojibox.

    ЧСкбоксы Π½Π° чистом CSS

    Автор: Бтас МСльников

    Бтас использовал элСмСнты ΠΏΡ€ΠΎΠ»Π΅Ρ‚Π° для создания Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° ΠΈ стрСлы.

    НСобычныС Ρ„Π»Π°ΠΆΠΊΠΈ ΠΈ Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ — со ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Awesome

    Автор: Jase

    Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°ΠΆΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ использовались Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ своСй Ρ†Π΅Π»ΠΈ. Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈ анимация Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Π² эту ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ.

    Π₯отя это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, посСтитСли ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΈ с ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дСталями. Автор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сформированный HTML для создания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² Ρ„Π»Π°ΠΆΠΊΠΎΠ² ΠΈ стилСй Font Awesome .

    Анимация ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

    Автор: Аарон Π˜ΠΊΠ΅Ρ€

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ CSS ΠΈΠΌΠ΅Π΅Ρ‚ сладкой Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ с ΠΏΠ»Π°Π²Π½Ρ‹ΠΌΠΈ ΠΈ сбалансированными скоростными ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ . Она Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

    CSS Β«ΠŸΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΡ / Π²ΠΎΠ»Π½Π°Β» — Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ

    Автор: ΠœΡΡ‚Ρ‚ Бисто

    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ„Π»Π°ΠΆΠΊΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ.ΠœΡΡ‚Ρ‚ использовал эффСкт ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΈ для Ρ„Π»Π°ΠΆΠΊΠΎΠ².

    По ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Π»Π°ΠΆΠΊΠ°ΠΌΠΈ CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ эффСкт ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΈ, это Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅. Он ΠΈΠΌΠ΅Π΅Ρ‚ простой Π΄ΠΈΠ·Π°ΠΉΠ½, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ крСстик, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² Ρ„Π»Π°ΠΆΠΊΠ°Ρ….

    быстрыС Π²Ρ…ΠΎΠ΄Ρ‹ Ρ„Π»Π°ΠΆΠΊΠ°

    Автор: Адам ΠšΡƒΠΈΠ½Π»Π°Π½

    Для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ стиля Ρ„Π»Π°ΠΆΠΊΠΎΠ² стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ этот Π³ΠΈΠ±ΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Ρ„Π»Π°ΠΆΠΊΠ°. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ Π²Π΅Π±-сайтов.

    100 Π΄Π½Π΅ΠΉcss-66

    Π­Ρ‚ΠΎ Ρ„Π»Π°ΠΆΠΎΠΊ с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π½Π° чистом CSS.

    ΠŸΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Π»Π°ΠΆΠΎΠΊ

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Π’Π΅ΠΌ, ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ Ρ„Π»ΠΈΠΏ-чСкбокс, сдСланный Π² HTML ΠΈ CSS, слСдуСт ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΎΠΏΡ†ΠΈΡŽ.

    CodePenChallenge — Π€Π»Π°ΠΆΠΎΠΊ

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ CSS содСрТит Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ . Он ΠΈΠΌΠ΅Π΅Ρ‚ нСзамысловатый Π΄ΠΈΠ·Π°ΠΉΠ½, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях Π²Π΅Π±-сайта ΠΈΠ»ΠΈ прилоТСния.

    ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ устанавливаСт Ρ„Π»Π°ΠΆΠΎΠΊ, появляСтся эффСкт ряби.

    Π—Π°ΠΌΠΎΠΊ

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Автор использовал Ρ„Π»Π°ΠΆΠΎΠΊ HTML ΠΈ SVG для создания микровзаимодСйствия Π½Π° чистом CSS.

    Анимация Ρ„Π»Π°ΠΆΠΊΠ° списка Todo Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для CSS

    Как слСдуСт ΠΈΠ· названия, этот Ρ„Π»Π°ΠΆΠΎΠΊ CSS идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ„ΠΎΡ€ΠΌΡ‹ списка Π΄Π΅Π». Он ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ эффСкт , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΈΠ· списка.

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ поставит Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Π² ΠΏΠΎΠ»Π΅, появится эффСкт зачСркивания.

    НСобычный Ρ„Π»Π°ΠΆΠΎΠΊ

    Автор: Ана Π’ΡƒΠ΄ΠΎΡ€

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΌΠ΅Ρ‚ΠΊΠ° идСально подходят для использования Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.

    Π€Π»Π°ΠΆΠΎΠΊ

    Автор: ΠœΠΎΡ…Π°ΠΌΠΌΠ°Π΄Ρ€Π΅Π·Π° Π—ΠΈΠ°Π΄Π·Π°Π΄Π΅

    Для простого ΠΈΠ»ΠΈ минималистичного Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Π»Π°ΠΆΠΎΠΊ CSS. Π’ Π½Π΅ΠΌ Π½Π΅Ρ‚ ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, которая Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ услоТняСт тСкст.

    Π­Ρ‚ΠΎ сочСтаниС Π΄ΠΈΠ·Π°ΠΉΠ½Π° Ρ„Π»Π°ΠΆΠΊΠ° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ.

    Анимация Ρ„Π»Π°ΠΆΠΊΠ°

    Автор: Himalaya Singh

    Автор использовал HTML ΠΈ CSS для создания этой простой Π² использовании Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Ρ„Π»Π°ΠΆΠΊΠ°.

    Π“Π°Π»ΠΎΡ‡ΠΊΠ°

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    Π€Π»Π°ΠΆΠΎΠΊ Fancy Π½Π° чистом CSS

    / Π Π°Π΄ΠΈΠΎ

    Автор: Π Π°ΡƒΠ»ΡŒ Π‘Π°Ρ€Ρ€Π΅Ρ€Π°

    Π­Ρ‚ΠΎΡ‚ тСкст ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ вСсь тСкст послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ установил Ρ„Π»Π°ΠΆΠΎΠΊ. Π­Ρ‚ΠΎ отличаСтся ΠΎΡ‚ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ дизайнСрского эффСкта Ρ„Π»Π°ΠΆΠΊΠ° CSS — Ρ€ΡΠ±ΡŒ ΠΈ отскок.

    Π­Ρ‚ΠΎ ясно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΉ. Если пСрвостСпСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ.

    ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Ρ„Π»Π°ΠΆΠΊΠΎΠ²

    Автор: Артём

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ CSS Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΊΠ°Ρ€ΠΈΠΊΠ°Ρ‚ΡƒΡ€Ρƒ . Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ² просты ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Π² использовании.

    Π€Π»Π°ΠΆΠΊΠΈ

    Автор: Аарон Π˜ΠΊΠ΅Ρ€

    Checkboxes — это классичСский CSS-Ρ„Π»Π°ΠΆΠΎΠΊ с микровзаимодСйствиСм ΠΈ нСсколькими Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ.

    ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ„Π»Π°ΠΆΠΎΠΊ

    Автор: Π’Π°Π»Π΅Ρ€ΠΈΠΉ

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот настраиваСмый Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° , ΠΎΠ½ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ.НС Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ слоТныС ΠΈ бСсполСзныС конструкции.

    Π­Ρ„Ρ„Π΅ΠΊΡ‚ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ ΠΈ быстрый.

    НСйморфный Π΄ΠΈΠ·Π°ΠΉΠ½

    Chris Weissenberger являСтся Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ этого Ρ„Π»Π°ΠΆΠΊΠ°.

    АнимированныС Ρ„Π»Π°ΠΆΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ CSS

    Автор: Вомас Ворвардарсон

    Если ваш Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ свойств dash-offset ΠΈ dash-array, эти Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π»Π°ΠΆΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ CSS ΡΠ΄Π΅Π»Π°ΡŽΡ‚ всю Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° вас.

    2020 ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚

    Автор: Аарон Π˜ΠΊΠ΅Ρ€

    НСйоморфныС Ρ„Π»Π°ΠΆΠΊΠΈ

    Автор: Π‘Ρ€Π΅ΠΉΠ΄ΠΎΠ½ ΠšΠΎΠΉΠ΅Ρ€

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ CSS ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для использования Π½Π° Π²Π΅Π±-страницС. Он ΠΈΠ³Ρ€Π°Π΅Ρ‚ со свСтом ΠΈ тСнями, давая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚. .

    ЀлаТок с mo.js

    Автор: Майк ΠšΡƒΠΈΠ½Π½

    Π£ этого Π΅ΡΡ‚ΡŒ эффСкт ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ , ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π°Π²Ρ‚ΠΎΡ€ использовал скрипт mo.js.Π£ Π½Π΅Π³ΠΎ простой ΠΈ Π°Π½ΠΈΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ страницу Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

    Плавная анимация ΠΈ эффСкт ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ посСтитСлям Π½Π°ΡΠ»Π°Π΄ΠΈΡ‚ΡŒΡΡ просмотром Π²Π΅Π±-сайта.

    ΠŸΠ ΠžΠ’Π•Π ΠšΠ GOOEY

    Автор: АндрСас Π‘Ρ‚ΠΎΡ€ΠΌ

    +/- ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ

    Автор: Аарон Π˜ΠΊΠ΅Ρ€

    Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°ΠΆΠΎΠΊ Toggle CSS прост Π² использовании, Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π±Π°Π²Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ 3D-эффСкт Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΒ» .

    Если Π²Π°ΠΌ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ² CSS, Π²Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ стоит Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π½ΠΈΡ…:

    Checkbox CSS: Бтилизация Ρ„Π»Π°ΠΆΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS

    Π­Ρ‚ΠΎ каТСтся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ; ΡΡ‚ΠΈΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS.Но, ΠΊ соТалСнию, Π² случаС Ρ„Π»Π°ΠΆΠΊΠΎΠ² отсутствуСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прямого оформлСния Ρ„Π»Π°ΠΆΠΊΠ°.

    Из-Π·Π° этого я Π²ΠΈΠ΄Π΅Π» нСсколько Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ JavaScript для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π»Π°ΠΆΠΊΠ° ΠΈ Ρ„Π»Π°ΠΆΠΊΠ° с установлСнным Ρ„Π»Π°ΠΆΠΊΠΎΠΌ Π² зависимости ΠΎΡ‚ состояния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стилизованный Ρ„Π»Π°ΠΆΠΎΠΊ.

    Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Π°ΠΊ быстро ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ JS для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ стилизации! Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого CSS, Π½Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ нашС ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅.

    1. Π‘Ρ‚ΠΈΠ»ΡŒ для Ρ„Π»Π°ΠΆΠΊΠ°
    2. Π‘Ρ‚ΠΈΠ»ΡŒ этикСтки
    3. НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² DOM ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π½Π°Ρ‡ΠΊΠΈ / изобраТСния)
    4. ВрСбуСтся 0 JavaScript

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ Ρ„Π»Π°ΠΆΠΊΠ° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ checkbox-style: awesome; , Π½Π°ΠΌ потрСбуСтся Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

    1. Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ фактичСский Π²Π²ΠΎΠ΄ Ρ„Π»Π°ΠΆΠΊΠ°
    2. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ стилизованный элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΠΊΠ°ΠΊ пустой Ρ„Π»Π°ΠΆΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Ρ…ΠΎΠ΄ Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½
    3. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ стилизованный элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΠΊΠ°ΠΊ установлСнный Ρ„Π»Π°ΠΆΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Π²ΠΎΠ΄ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСлСкторы CSS

    1. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ° Ρ‚ΠΈΠΏ — Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ всС элСмСнты Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.Π³Ρ€Π°ΠΌΠΌ. input Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ всС ΡƒΠ·Π»ΠΎΠ²)

    2. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° [attribute = "value"] — Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ элСмСнт с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ , Π³Π΄Π΅ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

    3. ПсСвдо-класс : ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ — Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ„Π»Π°ΠΆΠΊΠΈ / Ρ‚ΠΈΠΏΡ‹ Ρ€Π°Π΄ΠΈΠΎΠ²Ρ…ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Π² Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ / ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ / Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ / Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹

    4. ΠŸΡΠ΅Π²Π΄ΠΎΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ :: before — стилизуСмый элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ фактичСски Π½Π΅ сущСствуСт Π² DOM; считаСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ элСмСнтом Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта

    5. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСлСктор * — Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ всС / всС

    6. Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ > — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° сСлСктора; суТСниС Π²Ρ‹Π±ΠΎΡ€Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ прямыми ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌΠΈ элСмСнтов, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π² Π»Π΅Π²ΠΎΠΉ части.

    7. Π‘ΠΌΠ΅ΠΆΠ½Ρ‹ΠΉ ΠΎΠ΄Π½ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€ + — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π΄Π²Π° сСлСктора; суТСниС выдСлСния Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±Ρ€Π°Ρ‚ΡŒΡΠΌΠΈ ΠΈ сСстрами сразу послС элСмСнтов Π² Π»Π΅Π²ΠΎΠΉ части

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ стили CSS

    1. content — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² псСвдоэлСмСнтС :: before для установки Π΅Π³ΠΎ содСрТимого

    2. display — Π² частности none , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнты, ΠΈ inline-block , Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш встроСнный Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ„Π»Π°ΠΆΠΎΠΊ ΠΌΠΎΠ³ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту

    3. ΡˆΠΈΡ€ΠΈΠ½Π° / высота — Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅: устанавливаСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту элСмСнта

    4. Ρ†Π²Π΅Ρ‚ — устанавливаСт Ρ†Π²Π΅Ρ‚ тСкста

    5. text-align / vertical-align — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ полоТСния нашСго Ρ„Π»Π°ΠΆΠΊΠ° / Ρ„Π»Π°ΠΆΠΊΠ° Π² соотвСтствии с Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ

    6. border styles — Как ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΠΊΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°ΠΆΠΎΠΊ

    7. Ρ„ΠΎΠ½ — устанавливаСт Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для заполнСния Ρ„Π»Π°ΠΆΠΊΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ установлСн)

    Начало: HTML

    Π”Π°Π²Π°ΠΉΡ‚Π΅ установим наш Ρ„Π»Π°ΠΆΠΎΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π΅Π³ΠΎ элСмСнту label с Π±Ρ€Π°Ρ‚ΠΎΠΌ span тСкста ярлыка:

      <ΠΌΠ΅Ρ‚ΠΊΠ°>
      
       Π― - Ρ„Π»Π°ΠΆΠΎΠΊ 
    
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Π­Ρ‚Π° структура позволяСт Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ тСкст ΠΌΠ΅Ρ‚ΠΊΠΈ ( Π― - Ρ„Π»Π°ΠΆΠΎΠΊ ) для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π»Π°ΠΆΠΊΠ° Π±Π΅Π· нСобходимости для ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² id .Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ тСкста Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ сразу послС Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² CSS.

    ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг: скройтС нСстилируСмый Ρ„Π»Π°ΠΆΠΎΠΊ

    Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ ΠΊ нашСй стратСгии: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ со встроСнным Ρ„Π»Π°ΠΆΠΊΠΎΠΌ, Π½Π°ΠΌ придСтся ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈ Π·Π°Π½ΡΡ‚ΡŒΡΡ своими Π΄Π΅Π»Π°ΠΌΠΈ.

      label> input [type = "checkbox"] {
      дисплСй: Π½Π΅Ρ‚;
    }
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    УстановитС Ρ„Π»Π°ΠΆΠΎΠΊ ( input [type = "checkbox"] ) ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ( label> ).Π’ΠΎΠ³Π΄Π° просто дисплСй : Π½ΠΈΡ‡Π΅Π³ΠΎ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Π½Π°ΡˆΠΈΡ… экранов.

    Π’Ρ‚ΠΎΡ€ΠΎΠΉ шаг: сдСлайтС наш собствСнный Ρ„Π»Π°ΠΆΠΎΠΊ

    Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CSS Π»Π΅Π³ΠΊΠΎ: просто помСститС Ρ€Π°ΠΌΠΊΡƒ Π²ΠΎΠΊΡ€ΡƒΠ³ элСмСнта Π±Π΅Π· содСрТимого ΠΈ установитС Π΅Π³ΠΎ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ помСстим Π΅Π³ΠΎ Π² псСвдоэлСмСнт :: before , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ добавлСния Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ HTML.

      label> input [type = "checkbox"] + * :: before {
      содСрТаниС: "";
      дисплСй: встроСнный Π±Π»ΠΎΠΊ;
      Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅: снизу;
      ΡˆΠΈΡ€ΠΈΠ½Π°: 1бэр;
      высота: 1бэр;
      радиус Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 10%;
      ΡΡ‚ΠΈΠ»ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: сплошной;
      ΡˆΠΈΡ€ΠΈΠ½Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 0.1Ρ€Π΅ΠΌ;
      Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: сСрый;
    }
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Π—Π΄Π°Π½ΠΈΠ΅ ΠΈΠ· Π²Ρ‹Π±ΠΎΡ€Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅; ΠΌΡ‹ добавляСм + * для Π²Ρ‹Π±ΠΎΡ€Π° любого элСмСнта, Ссли ΠΎΠ½ являСтся прямым ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ родствСнником ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π»Π°ΠΆΠΊΠ°, Π° Π·Π°Ρ‚Π΅ΠΌ :: ΠΏΠ΅Ρ€Π΅Π΄ , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ упомянутый псСвдоэлСмСнт для создания поля.

    ПослСдний шаг: ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ наш Ρ„Π»Π°ΠΆΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ установлСн

    Пока Ρ‡Ρ‚ΠΎ, хотя Ρ„Π»Π°ΠΆΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π΅ выглядит ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ это, установив Ρ„Π»Π°ΠΆΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Ρ€Π°Π²Π΅Π½ : установлСн . ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ стили Π² самом тСкстС ΠΌΠ΅Ρ‚ΠΊΠΈ (я измСню Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π²Π΅Ρ‚ тСкста, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ любого стиля для создания любого Π²ΠΈΠ΄Π° интСрфСйса Π²Ρ‹Π±ΠΎΡ€Π° / ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Π²Ρ‹Π±ΠΎΡ€Π° / ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Π²Ρ‹Π±ΠΎΡ€Π°).

      label> input [type = "checkbox"]: checked + * :: before {
      содСрТаниС: Β«βœ“Β»;
      Ρ†Π²Π΅Ρ‚ Π±Π΅Π»Ρ‹ΠΉ;
      Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста: Ρ†Π΅Π½Ρ‚Ρ€;
      Ρ„ΠΎΠ½: Π±ΠΈΡ€ΡŽΠ·ΠΎΠ²Ρ‹ΠΉ;
      Ρ†Π²Π΅Ρ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: Π±ΠΈΡ€ΡŽΠ·ΠΎΠ²Ρ‹ΠΉ;
    }
    label> input [type = "checkbox"]: checked + * {
      Ρ†Π²Π΅Ρ‚: Π±ΠΈΡ€ΡŽΠ·ΠΎΠ²Ρ‹ΠΉ;
    }
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Π’Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ здСсь являСтся : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ помСщаСтся послС input [type = "checkbox"] (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ ΠΈΠ»ΠΈ Π½Π΅Ρ‚).И, ΠΊ ΡΡ‡Π°ΡΡ‚ΡŒΡŽ для нас, Π΅ΡΡ‚ΡŒ символ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² качСствС содСрТимого нашСго Ρ„Π»Π°ΠΆΠΊΠ°: βœ“ .

    БонусныС Π±Π°Π»Π»Ρ‹: распространитС это Π½Π° Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ

    Как Π²Ρ‹Π·ΠΎΠ² для вас, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ, Ρ‚Π° ΠΆΠ΅ самая стратСгия ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ созданию стилизованной Ρ€Π°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ это ΠΊΠ°ΠΊ руководство, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ это для Π²Ρ…ΠΎΠ΄Π° type = "radio" ? (ΠΈΠ»ΠΈ просто слСдуйтС Π·Π° ΠΌΠ½ΠΎΠΉ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ выпуск Π² этой сСрии)

    Бпасибо Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅! МнС нравится Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, Π³Π΄Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π±Π΅Π· массивной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JavaScript ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, тормозящСго страницу.Π”Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ нСсколько ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ шаблонам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° CSS / HTML для этой сСрии.

    Π₯отя Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ Β«Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠΉ DOMΒ»; Π’Π°ΠΊΠΆΠ΅ Π²ΠΏΠΎΠ»Π½Π΅ допустимо Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… span (ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ…) для хранСния Π·Π½Π°Ρ‡ΠΊΠΎΠ² svg / font-awesome для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… / экзотичСских Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² Ρ„Π»Π°ΠΆΠΊΠΎΠ². Π—Π°Ρ‚Π΅ΠΌ : ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ отобраТСния : Π½Π΅Ρ‚ ΠΈ display: inline-block ΠΈΠΊΠΎΠ½ΠΎΠΊ, ΠΈ + Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ ~ для Π²Ρ‹Π±ΠΎΡ€Π° всСх Π±Ρ€Π°Ρ‚ΡŒΠ΅Π² ΠΈ сСстСр.

    Π€Π»Π°ΠΆΠΎΠΊ

    CSS: ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ„Π»Π°ΠΆΠΊΠΎΠ² HTML ΠΎΡ‡Π΅Π½ΡŒ просто

    Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅

    Бтарая история

    РаньшС HTML-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ checkbox , Π±Ρ‹Π»ΠΎ довольно слоТно ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ. Часто эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ выходят ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π° страницы, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

    НС говоря ΡƒΠΆΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠΌΠ΅Π» (ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚) свой внСшний Π²ΠΈΠ΄ элСмСнта управлСния, Ρ‡Ρ‚ΠΎ вносит свой Π²ΠΊΠ»Π°Π΄ Π² Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Π²ΠΎ внСшнСм Π²ΠΈΠ΄Π΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ эти ситуации, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ использовали мноТСство Π²Π·Π»ΠΎΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ скрытиС Π²Π²ΠΎΠ΄Π°, созданиС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π·Π½Π°Ρ‡ΠΊΠΎΠ² для Π³Π°Π»ΠΎΡ‡ΠΊΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡƒΡ‡ΠΈ ΠΊΠΎΠ΄Π° JavaScript для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ / снятия ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ. Если Π²Ρ‹ спроситС мСня, это Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ красиво, ΠΈ каТСтся, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ простого.

    Новая история

    Π’Ρ€Π΅ΠΌΠ΅Π½Π°, описанныС Π²Ρ‹ΡˆΠ΅, Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΡˆΠ»ΠΈ, ΠΈ ΠΌΡ‹ Π±Π»ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ, ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ способу стилизации Ρ„Π»Π°ΠΆΠΊΠΎΠ² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ выглядСли ΠΈ ΠΎΡ‰ΡƒΡ‰Π°Π»ΠΈΡΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ всСх Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, особСнно с новостями ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Microsoft создаСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° основС Ρ…Ρ€ΠΎΠΌΠ°. Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ± этом здСсь.

    Новая история, с ΠΌΠΎΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°ΠΆΠΎΠΊ, Π½Π΅ скрывая Π΅Π³ΠΎ ΠΈ Π½Π΅ добавляя изобраТСния SVG ΠΈ ΠΊΠΎΠ΄ JavaScript. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ вмСсто этого:

    1. CSS внСшний Π²ΠΈΠ΄ свойство
    2. Π—Π½Π°Ρ‡ΠΎΠΊ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ HTML символ (βœ“)

    Бвойство внСшнСго Π²ΠΈΠ΄Π°

    Бвойство внСшнСго Π²ΠΈΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния элСмСнта с использованиСм собствСнного стиля ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° основС Ρ‚Π΅ΠΌΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

    Π­Ρ‚ΠΎ свойство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ нас интСрСсуСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ none . По сути, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ стили ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ собствСнный. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Ρƒ нашСго Ρ„Π»Π°ΠΆΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‚ приятныС Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹, Π° самоС Π³Π»Π°Π²Π½ΠΎΠ΅, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΈ ΠΎΡ‰ΡƒΡ‰Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΠΎ всСх основных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

      .my-class {
       -webkit-appearance: value;
       -ΠΌΠΎΠ·-внСшний Π²ΠΈΠ΄: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;
       / * -o-appearance: value; - НС трСбуСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии Opera ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ -
          прСфикс webkit для этого свойства, Π½ΠΎ ΠΌΡ‹, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π° всякий случай.
          ΠΈΠ· этого
        * /
       внСшний Π²ΠΈΠ΄: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;
    }
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ погрузимся Π² ΠΊΠΎΠ΄.

    HTML

    Наша Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° HTML довольно проста. Π£ нас Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠ° , ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ наш Π²Ρ…ΠΎΠ΄ , ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ для удСрТания тСкста Π²Π½ΡƒΡ‚Ρ€ΠΈ. Выглядит это Ρ‚Π°ΠΊ:

      <ΠΌΠ΅Ρ‚ΠΊΠ°>
        
         ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ мСня 
    
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного. ΠœΡ‹ использовали элСмСнт-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… элСмСнтов ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ.Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°ΠΊΠ΅Ρ‚Π° flexbox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ CSS.

    CSS

    Π‘Ρ‚ΠΈΠ»ΡŒ CSS выглядит Ρ‚Π°ΠΊ:

      .checkbox {
        дисплСй: встроСнный Π³ΠΈΠ±ΠΊΠΈΠΉ;
        курсор: ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ;
        ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅;
    }
    
    .checkbox> span {
        Ρ†Π²Π΅Ρ‚: # 34495E;
        Π½Π°Π±ΠΈΠ²ΠΊΠ°: 0,5 бэр 0,25 бэр;
    }
    
    .checkbox> input {
        высота: 25 пиксСлСй;
        ΡˆΠΈΡ€ΠΈΠ½Π°: 25 пиксСлСй;
        -webkit-appearance: Π½Π΅Ρ‚;
        -ΠΌΠΎΠ·-внСшний Π²ΠΈΠ΄: Π½Π΅Ρ‚;
        -ΠΎ-внСшний Π²ΠΈΠ΄: Π½Π΅Ρ‚;
        внСшний Π²ΠΈΠ΄: Π½Π΅Ρ‚;
        Π³Ρ€Π°Π½ΠΈΡ†Π°: 1px solid # 34495E;
        радиус Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 4 пиксСля;
        наброски: Π½Π΅Ρ‚;
        ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°: 0.3 с;
        Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: # 41B883;
        курсор: ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ;
      }
    
    .checkbox> input: checked {
        Π³Ρ€Π°Π½ΠΈΡ†Π°: 1px solid # 41B883;
        Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: # 34495E;
    }
    
    .checkbox> input: checked + span :: before {
        содСрТаниС: '\ 2713';
        дисплСй: блок;
        Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста: Ρ†Π΅Π½Ρ‚Ρ€;
        Ρ†Π²Π΅Ρ‚: # 41B883;
        позиция: Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ;
        слСва: 0,7 бэр;
        Π²Π΅Ρ€Ρ…: 0,2 бэр;
    }
    
    .checkbox> input: active {
        Π³Ρ€Π°Π½ΠΈΡ†Π°: 2px solid # 34495E;
    }
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ ΠΌΠ½ΠΎΠ³ΠΎ CSS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΌΠ°ΠΊΠ΅Ρ‚ flexbox ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого стиля.Π­Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ элСгантным. Если ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠΌ лишний CSS, всС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, установив внСшний Π²ΠΈΠ΄ Π½Π° none , Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈ раскраску ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ символ HTML.

    Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π²Π°ΠΆΠ½Ρ‹Π΅ части, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство appearance ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

      ...
    
    -webkit-appearance: Π½Π΅Ρ‚;
    -ΠΌΠΎΠ·-внСшний Π²ΠΈΠ΄: Π½Π΅Ρ‚;
    -ΠΎ-внСшний Π²ΠΈΠ΄: Π½Π΅Ρ‚;
    внСшний Π²ΠΈΠ΄: Π½Π΅Ρ‚;
    
    ...
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    НадСюсь, это свойство скоро станСт стандартом, ΠΈ ΠΌΡ‹ смоТСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±Π΅Π· прСфиксов, спСцифичных для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

    Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ наши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈ Ρ„ΠΎΠ½:

      ...
    
    Π³Ρ€Π°Π½ΠΈΡ†Π°: 1px solid # 34495E;
    радиус Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 4 пиксСля;
    наброски: Π½Π΅Ρ‚;
    Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: # 41B883;
    курсор: ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ;
    
    ...
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдокласс :: before для стилизации символа HTML.Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ CSS символ HTML Π±ΡƒΠ΄Π΅Ρ‚ красиво ΠΎΠΊΡ€Π°ΡˆΠ΅Π½ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°.

      ...
    
    содСрТаниС: '\ 2713';
    дисплСй: блок;
    Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста: Ρ†Π΅Π½Ρ‚Ρ€;
    Ρ†Π²Π΅Ρ‚: # 41B883;
    позиция: Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ;
    слСва: 0,7 бэр;
    Π²Π΅Ρ€Ρ…: 0,2 бэр;
    
    ...
      
    Π’ΠΎΠΉΡ‚ΠΈ Π² полноэкранный Ρ€Π΅ΠΆΠΈΠΌΠ’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· полноэкранного Ρ€Π΅ΠΆΠΈΠΌΠ°

    Π’ΠΎΡ‚ ΠΈ всС! Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ просто. Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… излишков JavaScript для достиТСния этих стилСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ„Π»Π°ΠΆΠΊΠ° соотвСтствовал ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части страницы. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ бСзопасно Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прСдоставлСнного здСсь CSS.

    Π’ΠΎΡ‚ Тивая скрипка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ:

    Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅

    Если вас ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ CSS, посмотритС этот ΠΈΠ»ΠΈ этот пост, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² ΠΌΠΎΠ΅ΠΌ Π±Π»ΠΎΠ³Π΅.

    Π‘ΠΌ. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ свойству внСшнСго Π²ΠΈΠ΄Π°

    CSS: checked ПсСвдокласс

    ПсСвдокласс: checked ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° элСмСнтов, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ находятся Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ состоянии. Π­Ρ‚ΠΎ относится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ элСмСнтам (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ„Π»Π°ΠΆΠΊΠΎΠ²) ΠΈ

    Π€Π»Π°ΠΆΠΎΠΊ ΠΈ радиоэлСмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈΠ»ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

    ВСрсия ΒΆ

    HTML Living Standard

    HTML5

    Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ уровня 4

    Бинтаксис ΒΆ

     : ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
      объявлСния css;
    }  

    Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ установитС Ρ„Π»Π°ΠΆΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сСлСктора: checked с Ρ‚Π΅Π³ΠΎΠΌ

    : ΒΆ
      
    
      
         НазваниС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° 
        <ΡΡ‚ΠΈΠ»ΡŒ>
          div {
            ΠΌΠ°Ρ€ΠΆΠ°: 10 пиксСлСй;
            Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°: 20 пиксСлСй;
          }
          input: checked + label {
            Ρ†Π²Π΅Ρ‚: # 000;
          }
          input [type = "radio"]: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
            Ρ‚Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ: 0 0 0 4px # 8ebf42;
          }
            
            input [type = "checkbox"]: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ {
            Ρ‚Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ: 0 0 0 3px # 1c87c9;
          }
        
      
      
         

    : ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ сСлСктора

    ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами Β»

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сСлСктора: checked с Ρ‚Π΅Π³Π°ΠΌΠΈ

    ,,
    ,: ΒΆ
      
    
      
         НазваниС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° 
        <ΡΡ‚ΠΈΠ»ΡŒ>
          table, tr, th, td {
            Π³Ρ€Π°Π½ΠΈΡ†Π°: 1px solid #ccc;
            Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста: Ρ†Π΅Π½Ρ‚Ρ€;
            Π³Ρ€Π°Π½ΠΈΡ†Π°-коллапс: коллапс;
            отступ: 8 пиксСлСй;
          }
          #ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ {
            дисплСй: Π½Π΅Ρ‚;
          }
          .Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ {
            Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ: коллапс;
            Ρ„ΠΎΠ½: # 1c87c9;
          }
          #btn {
            дисплСй: встроСнный Π±Π»ΠΎΠΊ;
            ΠΌΠ°Ρ€ΠΆΠ° свСрху: 15 пиксСлСй;
            отступ: 10 пиксСлСй 20 пиксСлСй;
            Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: # 8ebf42;
            Ρ†Π²Π΅Ρ‚: #fff;
            курсор: ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ;
            радиус Π³Ρ€Π°Π½ΠΈΡ†Ρ‹: 3 пиксСля;
          }
          #toggle: checked ~ * .expandable {
            Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ: видимая;
          }
          #toggle: ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ~ #btn {
            Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°: #ccc;
          }
        
      
      
         

    :: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ сСлСктора

    <Ρ‚Π°Π±Π»ΠΈΡ†Π°>
    Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 1 Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 2 Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† 3
    [Π΅Ρ‰Π΅ тСкст] [Π΅Ρ‰Π΅ тСкст] [Π΅Ρ‰Π΅ тСкст]
    [тСкст] [тСкст] [тСкст]
    [Π΅Ρ‰Π΅ тСкст] [Π΅Ρ‰Π΅ тСкст] [Π΅Ρ‰Π΅ тСкст]
    [тСкст] [тСкст] [тСкст]
    [Π΅Ρ‰Π΅ тСкст] [Π΅Ρ‰Π΅ тСкст] [Π΅Ρ‰Π΅ тСкст]
    ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сами Β»

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ сСлСктора: checked: ΒΆ

       НазваниС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° <ΡΡ‚ΠΈΠ»ΡŒ> input [type = checkbox] {
     Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅: ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ;
     }
     input [type = checkbox] + label {
     Ρ†Π²Π΅Ρ‚: # 999999;
     ΡΡ‚ΠΈΠ»ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚Π°: Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ;
     }
     input [type = checkbox]: checked + label {
     Ρ†Π²Π΅Ρ‚: # 8ebf42;
     ΡΡ‚ΠΈΠ»ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚Π°: курсив;
     font-weight: ΠΆΠΈΡ€Π½Ρ‹ΠΉ;
     } 

    : ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ сСлСктора

    <Ρ„ΠΎΡ€ΠΌΠ°>

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *