Зараз забагато CSS? PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Зараз забагато CSS?

Як інтерфейсні розробники, ми бажали багатьох речей протягом багатьох років — способів центрування речей у CSS, інкапсуляції стилів, встановлення співвідношення сторін елемента, отримання більш точного контролю над кольорами, вибору елемента на основі його властивості дітей, керувати шарами специфічності, дозволяти елементам реагувати на ширину їхніх батьків… список можна продовжувати нескінченно.

І тепер, коли ми отримали все, чого бажали, і навіть більше, дехто з нас запитує: чи маємо ми тепер? забагато CSS?

Темні часи

Якщо ви, як і я, почали займатися веб-розробкою під час зародження CSS, ідея мати надто багато цього здається смішною.

У минулі часи практично весь опис роботи фронтенд-розробника полягав у роботі з обмеженнями CSS. The злам clearfix очищати поплавці, в 100% padding hack створювати квадратні div, не кажучи вже про напіввипадкове застосування непов’язаних властивостей, щоб обманом змусити Internet Explorer виконувати ваші ставки.

У той час веб-переглядач був підступним ворогом, якого потрібно перемогти за допомогою простої хитрості та таємничих заклинань. Сьогодні ідеальне майно чекає, і його можна просто скопіювати та вставити на MDN.

Нова ера CSS

Але сьогодні все зовсім інакше: не тільки все рухається набагато швидше, але й постачальники браузерів насправді турбота про задоволення розробників! Я знаю, я теж не міг у це повірити. Але я керую річним Стан CSS опитування розробників (це відкрий зараз, до речі — іди, бери!), і я точно знаю, що групи розробників браузерів використовують результати опитування (серед багатьох інших даних) для формування дорожньої карти.

Окрім цього, Google також допоміг профінансувати мою роботу над опитуванням і навіть найняв Леа Веру взяти на себе ініціативу у виборі запитань цьогорічного опитування.

Це не тільки Google. Стало модно критикувати Safari та Apple загалом (іноді цілком заслужено), але ви не можете заперечити, наскільки пристрасним є хтось, як Дженніфер Сіммонс це про те, щоб слухати розробників і покращувати Інтернет.

І не тільки виробники браузерів самостійно покращують CSS; вони навіть співпрацюють між бойовими лініями з такими ініціативами, як Interop 2023 щоб допомогти зменшити невідповідності та несумісність між браузерами.

Занадто багато хорошого?

Результатом усього цього є те, що зараз ми зіткнулися з незручністю багатства CSS, і це може бути важко наздогнати. Сітка CSS почав підтримуватися в основних браузерах майже п’ять років тому, але я все ще перевіряю посилання кожного разу, коли використовую його. І як круто підсітка здається, я ще навіть не спробував це.

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

  • Команда linear() функція полегшення, що дозволяє визначати криві згладжування з більшою деталізацією. 
  • Команда env() функція, що дозволяє використовувати змінні, визначені браузером або пристроєм. 
  • Команда scrollbar-width властивість, яка допомагає контролювати вигляд смуги прокрутки. 
  • Команда margin-trim властивість, яка дозволяє контролювати поведінку дочірніх полів контейнера. 

Усі вони потенційно дуже корисні, і всі вони були б великою новиною під час засухи CSS минулих років. Але в сучасному контексті їм доводиться боротися за увагу за допомогою набагато більших оголошень, таких як селектор has() або вкладення CSS!

Не в захваті

Як Сільвестар Бистрович пише, він «не в захваті від усіх цих нових функцій CSS». Це знайшло відгук у Twitter, с Сара Суейдан заявляючи, що її цікавить «практичність, а не те, наскільки блискуча функція виглядає в даний момент».

Це може здатися негативним ставленням, але я думаю, що це зрозуміло. Ніхто не може очікувати, щоб не відставати від такої кількості нових функцій!

Іншим ненавмисним (чи, можливо, навмисним?) наслідком є ​​те, що чим складнішим стає CSS, тим більше він піднімає планку для будь-якої нової компанії, яка хоче розробити движок браузера, не кажучи вже про додаткове робоче навантаження, коли справа доходить до підтримки та документування всіх ці нові функції. 

Перевищення CSS

Існує також цілком обґрунтоване занепокоєння, що CSS може розгалужуватися на області, з якими не зовсім підходить. Це ще одна річ, на яку звернула увагу Сара Суейдан, реагуючи на нову експериментальну реалізацію CSS Toggles (ось квиток, де це обговорюється):

Багато хто висловлював дуже обґрунтовану думку, що таку поведінку найкраще впорається за допомогою нового елемента HTML, а не керування перемикачами лише через CSS, і що CSS може бути не найкращим засобом для забезпечення належного вирішення проблем доступності. 

Коли CSS бере на себе щось, що раніше оброблялося через JavaScript, це зазвичай сприймається як хороша річ, оскільки це часто зменшує кількість коду, який має завантажити браузер. Тому я обережно оптимістично налаштований щодо CSS Toggles і вірю, що робоча група CSS належним чином розгляне проблеми спільноти. Але все ж може настати день, коли ми почнемо хвилюватися, що CSS може вийти за свої межі та зазіхнути на обов’язки HTML і JavaScript.

Нові очікування

І, можливо, це те, що потрібно змінити: можливо, нам слід відмовитися від очікувань, які повинні знати розробники CSS всі CSS? 

Це очікування походить від часів, коли CSS був запізнілою думкою, цей маленький дратівливий синтаксис, який вам довелося вивчити, щоб зробити вашу кнопку синьою та жирною, як просив клієнт. Але я думаю, що нам потрібно визнати, що сьогоднішній CSS може бути надто великим, щоб оволодіти однією людиною, особливо на додаток до інших зовнішніх обов’язків.

As Мішель Баркер пише:

І ось де я сам зрештою приземляюся. Я змирився з тим фактом, що, мабуть, ніколи не використовуватиму — і навіть не знатиму — про всі можливі функції CSS. І це йде від того, хто проводить опитування про CSS!

Але ці нові функції, безсумнівно, будуть корисні хтось. Хтось напише про них дописи в блогах, створить з ними круті CodePens, виступить про них. Ця людина буде крутим, молодим, енергійним розробником, у якого все ще волосся. Іншими словами, це буду не я — і це добре. 

І, можливо, ви хвилюєтеся, що цей новий розробник буде перевантажений усім тим, що йому потрібно вивчити одночасно. Але майте на увазі все, що вони НЕ буде потрібно дізнатися, саме тому, що його замінили ці нові альтернативи. Я знаю, що прийму цю угоду будь-коли.

Але подумайте про це: за останні пару років ми не тільки спостерігали величезне збільшення кількості пристроїв, які нам потрібно обслуговувати, ми також почали усвідомлювати, що всі ми використовуємо Інтернет дещо по-різному, чи то через до обмежених можливостей, поточного контексту чи просто особистих уподобань. Чи не варто CSS адаптуватися до цієї нової реальності?

Тепер я маю зізнатися, що все це викликало у мене трохи ностальгії… тому вибачте, поки я зніму пару поплавків, просто заради старих часів.


Як я вже згадував, щорічно Опитування стану CSS зараз відкрито. Незалежно від того, вважаєте ви, що CSS забагато чи ні, опитування – це чудовий спосіб повідомити розробникам веб-переглядачів, що ви відчуваєте, тому іди заповни це якщо у вас є 10 хвилин. 

Часова мітка:

Більше від CSS-хитрощі