: дійсний - CSS-хитрощі

Зміст

:validСелектор дозволяє вибрати елементи , які містять дійсний зміст, як визначено його typeатрибут. :validвизначається в специфікації CSS Selectors Level 3 як “псевдоселектор дійсності”, тобто він використовується для стилювання інтерактивних елементів на основі оцінки вводу користувача.

Цей селектор має одне особливе використання: надання користувачеві зворотного зв'язку під час взаємодії з формою на сторінці. У наведеному нижче прикладі використовується CSS, щоб перетворити поля “Електронна пошта” в червоний чи зелений колір, відповідаючи на відповідність вмісту дійсній схемі електронної адреси чи ні:

Див. Pen: valid &: invalid input by Chris Coyier (@chriscoyier) на CodePen

Зверніть увагу на те, як перший („Електронна пошта”) є зеленим, навіть якщо в полі немає вмісту. Це тому, що введення є необов’язковим, тож якщо залишити його пустим, це призведе до подання дійсної форми. Щоб виправити цю поведінку, другий має атрибут “required”, що означає, що порожнє поле призведе до неправильної подачі форми.

Цікаві місця

  • :validможе бути "прикутий" до інших псевдоселекторів: наприклад, :focusперевіряти лише тоді, коли користувач набирає текст, :beforeабо :afterгенерувати піктограми або текст, щоб забезпечити більше відгуків користувачів, або селектори атрибутів хотіли input(value="")перевіряти лише поля введення, що містять вміст.

Підтримка браузера

Chrome Сафарі Firefox Опера IE Android iOS
10,0+ 5.0+ 4.0+ 10,0+ 10+ 5+ 2+

:validбув введений в модулі CSS Selectors 3, що означає, що старі версії браузерів його не підтримують. Однак сучасна підтримка браузера стає кращою. Якщо вам потрібна старіша підтримка браузера, або поліфіл, або використовуйте ці селектори некритичними способами - поступове вдосконалення, яке рекомендується.

Цікаві статті...