Про inline css-стилі, і чому їх не можна використовувати

Сьогодні з усією очевидністю усвідомив, нарешті, яка ж все-таки гидота - ці ваші inline CSS-стилі.

І ось до цих пір дивуюся, як же не розумів такий простий і очевидною речі раніше!

Осяяння сталося після того, як я спробував належним чином переоформити (для відповідності дизайну конкретного додатка) компонент, написаний в рамках Java-фреймворку під доброзичливим назвою Google Web Tools. На жаль, наші дизайнери все ще думають, що вони роблять дизайн web-сторінок, і не вдомек їм, бідненький, що деякі примудряються для web програмувати точно таким же чином, яким вони б писали своє перше чудове desktop-додаток (з чудовою можливістю використання inline-стилів, звичайно ж!), ну, тобто GWT-way рулить природно! Варто було б, звичайно, з дизайнерами трохи попрацювати в цьому плані ... Але inline-стилі від цього не стають менш кошмарної субстанцією.

Загалом, сенс в тому, що хоча inline-стилі і зручні в плані швидкості верстки (не треба відкривати абсолютно інший файл, а потім шукати в ньому, де ж знаходиться потрібний стиль, або де б завести новий), вони по суті є серйозним антипаттерн при розробці web-сторінок і, тим більше, web-додатків.

1. Inline-стилі не ізолюють контент від дизайну. Це по суті ті ж вбудовані атрибути тегів, дати можливість не використовувати які суть призначення CSS.

2. Inline-стилі - причина більшої кількості головних болів при підтримці. Ну, просто варто уявити, що буде, якщо ви раптом вирішите позбутися від жирного накреслення шрифту для деяких елементів на своїх сторінках. Добре, якщо все "font-weight: bold;" описані у вас в чудовому файлі style.css. Якщо ж це все inline-стилі, то залишається тільки побажати вам удачі!

3. Inline-стилі збільшують розмір підсумкової сторінки.

Від себе ж додам: так як inline CSS-стилі за своєю природою займають найважливіше місце в ієрархії стилів, вони стають каменем спотикання при необхідності повторного використання web-компонентів, написаних в рамках сучасних web-фреймворків (GWT, Apache Wicket, ASP.NET і т.д.). Використовувані inline-стилі виключають можливість поміняти зовнішній вигляд компонента без зміни коду самого компонента.

Ось тому inline-стилі не варто використовувати ніколи, ніде, ні за яких умов і скільки б вам за це не платили!

Схожі статті