Technikai alapok Szakszó

Inline CSS

Szerző: · 7 perc olvasás · Frissítve:
Inline CSS - Technikai alapok (szakszó) a tudástárban
Inline CSS - Technikai alapok | eClick GEO-audit tudástár

Az inline CSS az a megoldás, amikor a stílust közvetlenül a HTML-elem style attribútumába írod, külső stíluslap helyett. Például: <div style="color:#c00;padding:16px">, és a szabály csak erre az egy elemre érvényes.

Hogyan működik

A böngésző a HTML-t fentről lefelé dolgozza fel. Az inline szabályt azonnal látja, nem kell hozzá külön fájlt letöltenie. Ez első ránézésre gyors, de a stílus beleég a dokumentumba.

Egy külső .css fájlt a böngésző egyszer tölt le, utána a gyorsítótárból veszi elő. Az inline stílus minden oldalletöltéskor újra átmegy a hálózaton. Tíz aloldalon tízszer.

Mit tesz az oldaladdal

Egy-két style attribútum senkit nem zavar. Százával viszont már látszik a számokon. A riportokban rendszeresen látunk sablonépítővel készült oldalakat, ahol a HTML fele stílusdefiníció.

Ennek két mérhető következménye van:

  • nő az HTML-méret, ami lassítja az első bájtok utáni feldolgozást
  • romlik a szöveg/HTML arány, mert a hasznos tartalom elvész a kód között

Mikor jogos mégis

Van legitim esete. Az úgynevezett critical CSS, amit a fejlécben lévő <style> blokkba tesznek, pont azért születik, hogy kikerülje a render-blokkoló erőforrásokat. Ez tudatos döntés, és nem style attribútum.

Ugyanígy elfogadott az e-mail-sablon, ahol a levelezőkliensek miatt nincs más választás. Minden más esetben a külső stíluslap a helyes válasz.

Röviden: a style="" attribútum nem hiba, csak drága; ami sok elemen ismétlődik, az osztályba és külső CSS-fájlba való.

Miért fontos

Sebesség

Az inline stílus nem gyorsítótárazható külön. Minden aloldal letöltésekor újra utazik a hálózaton. Egy 200 kB-os HTML-ből könnyen 80 kB is stílus lehet. Ez a betöltési időn mobilnetes körülmények között már látszik.

Biztonság

A szigorú Content-Security-Policy tiltja az inline stílusokat. Ha az oldalad tele van style attribútummal, csak 'unsafe-inline' engedéllyel tudod bevezetni a CSP-t. Ezzel viszont pont a védelem nagy részét adod fel. A riportokban ez a leggyakoribb technikai ok, ami miatt egy CSP félkészen marad.

Karbantarthatóság

Az inline szabály erősebb minden szelektornál. Csak !important írja felül. Ezért egy dizájnváltás után a fejlesztő !important-tal kezd tapasztani, és onnantól a CSS irányíthatatlan. Ez tiszta technikai adósság.

AI-értelmezhetőség

A nyelvi modellek gyakran a nyers HTML-ből dolgoznak. Minden stílusattribútum tokent eszik a hasznos szöveg elől. Rövidebb, tisztább markupból pontosabb olvasat lesz.

Kikre vonatkozik

Vonatkozik rá:

  • minden publikus weboldal, ahol a HTML mérete vagy a sebesség számít
  • sablonépítővel (Elementor, Divi, WPBakery) készült WordPress-oldalak, ahol ez szinte törvényszerű
  • webshopok, ahol több ezer terméklista-elem sokszorozza a stílusokat
  • oldalak, amelyek szigorú CSP bevezetésére készülnek

Kevésbé vonatkozik rá:

  • e-mail-sablonok és hírlevelek, ahol a kliensek nem támogatják a külső CSS-t
  • a fejlécbe tett, tudatosan generált critical CSS
  • noindexelt admin- és staging-felületek, ahol nincs valódi forgalom
  • egyedi, dinamikus érték (például progress bar szélessége), amit csak JavaScript tud kiszámolni

A szabály hatása alacsony, a hatóköre kód. Nem vészhelyzet, hanem higiénia.

Hogyan ellenőrzöd

Lépések

  1. Nyisd meg az oldalt, és nézd meg a forráskódot (Ctrl+U vagy Cmd+Option+U).
  2. Keress rá a style=" mintára a keresőmezővel. A böngésző kiírja a találatok számát.
  3. Parancssorból gyorsabb: curl -s https://pelda.hu | grep -o 'style="' | wc -l.
  4. A DevTools Elements paneljén jelöld ki a gyanús elemet. Ha a Styles fülön element.style blokk jelenik meg, az inline stílus.
  5. Vesd össze a HTML méretét: curl -s https://pelda.hu | wc -c. Ha 150 kB felett vagy, nézd meg, mennyi ebből a stílus.

Jó jel

  • 0-20 style attribútum egy átlagos aloldalon
  • a stílusok külön .css fájlban, <link rel="stylesheet"> hivatkozással
  • a fejlécben legfeljebb egy rövid, generált critical CSS blokk

Rossz jel

  • több száz style attribútum egyetlen oldalon
  • ugyanaz a szabálysor tucatnyi elemen ismétlődik
  • inline stílusok !important jelzéssel
  • a HTML több mint negyede stílusdefiníció

Mit néz ebből a riport

Az audit a letöltött HTML-ben megszámolja a style attribútumokat. Ha a szám magas, jelzi, hogy a stílusok a dokumentumba vannak ágyazva. Az ajánlás egyszerű: tedd a stílusokat külső stíluslapra a beágyazott style="" helyett.

Hogyan javítod

WordPress

  1. Nézd meg, melyik bővítmény generálja a stílusokat. A sablonépítők a leggyakoribbak.
  2. Elementorban kapcsold be a Beállítások > Kísérletek alatt az optimalizált CSS-betöltést. Ez külön fájlba viszi a widgetek stílusát.
  3. A blokkszerkesztőben ne állíts egyedi színt és betűméretet elemenként. Használj téma-stílusokat.
  4. A saját szabályokat gyerektéma style.css fájljába vagy a Testreszabó > Egyéni CSS mezőbe tedd.
  5. Ellenőrizd, hogy az oldalsablon nem tartalmaz-e kézzel írt inline stílust. Ez gyakran régi HTML-szokásokkal együtt jár.

Shopify

  1. A stílusokat az assets könyvtár CSS-fájljába írd, ne a .liquid sablonokba.
  2. A sekciókban használj osztályt, a változó értékeket pedig CSS-változóval add át.
  3. A téma beállításaiból jövő színeket egyetlen <style> blokkban definiáld a theme.liquid fejlécében, ne elemenként.

Unas

  1. Az adminban keresd a design- vagy sablonszerkesztő saját CSS mezőjét.
  2. A szerkesztőben beillesztett HTML-blokkokból szedd ki a style attribútumokat, és cseréld osztályra.
  3. A WYSIWYG-szerkesztő automatikusan generál inline stílust. Használd a forráskód-nézetet, és tisztítsd meg a beillesztett tartalmat.

Shoprenter

  1. A sablonszerkesztőben vidd a szabályokat a téma saját CSS-fájljába.
  2. A termékleírásokban gyakran ragad bent Wordből másolt inline formázás. A leírást forrásnézetben illeszd be.
  3. Frissítés előtt mentsd a sablont, mert a felülírás visszahozhatja a régi kódot.

Egyedi fejlesztés

  1. Vezess be stylelint szabályt, ami tiltja az inline stílust a sablonokban.
  2. A build lépés generáljon egy összefűzött, tömörített CSS-fájlt hosszú Cache-Control fejléccel.
  3. Dinamikus értékekhez használj CSS-változót: style="--w:42%" helyett osztály plusz változó.
  4. Ha kész vagy, állítsd be a CSP style-src direktíváját 'unsafe-inline' nélkül, és teszteld report-only módban.

Gyakori hibák

  • Minden dizájnváltást inline stílussal old meg a szerkesztő - a HTML hízik, a CSS-fájl meg üresen áll.
  • Wordből vagy Google Docsból másolt szöveg - hoz magával betűtípust, sortávot és felesleges span elemeket.
  • Inline stílus plusz !important - ezt már semmi nem írja felül, a jövőbeli fejlesztő kezét megköti.
  • Az összes CSS a fejlécbe másolva - nem gyorsítótárazható, ezért minden aloldalon újra letöltődik.
  • Sablonépítő optimalizálás nélkül - a magyar KKV-oldalak többségén ez a beállítás alapból kikapcsolva marad.
  • A CSP bevezetése 'unsafe-inline' engedéllyel - papíron megvan a fejléc, védelem viszont alig.
  • Inline stíluson keresztüli elrejtés - a display:none tömeges használata gyanús mintázat, könnyen cloaking gyanúba keveredhetsz.

Technikai példa

Ugyanaz a doboz kétféleképpen. Az első verzió minden oldalletöltéskor újra utazik, a második egyszer töltődik le és utána gyorsítótárból jön.

<!-- Rossz: a stílus az elemre tapad, nem újrahasznosítható -->
<div style="margin:0 0 24px;padding:16px;border:1px solid #ddd;border-radius:8px">
  <h2 style="font-size:20px;color:#222;margin:0 0 8px">Szolgaltatasaink</h2>
  <p style="font-size:15px;line-height:1.6;color:#555">Rovid leiras.</p>
</div>

<!-- Jo: osztaly + kulso stiluslap -->
<link rel="stylesheet" href="/assets/app.css">
<div class="card">
  <h2 class="card-title">Szolgaltatasaink</h2>
  <p class="card-text">Rovid leiras.</p>
</div>

Gyors mérés parancssorból. Az első szám az inline stílusok darabszáma, a második a HTML nyers mérete bájtban.

curl -s https://pelda.hu | grep -o 'style="' | wc -l
curl -s https://pelda.hu | wc -c

Ha a CSS már külső fájlban van, ez a CSP-direktíva 'unsafe-inline' nélkül is működik:

Content-Security-Policy: default-src 'self'; style-src 'self'

Gyakori kérdések

Rontja az inline CSS a Google-rangsorolásomat?
Közvetlenül nem. A Google nem bünteti a style attribútumot. Közvetve viszont számít, mert lassítja a betöltést, és a sebesség rangsorolási tényező. Néhány tucat inline szabály miatt nem fogsz pozíciót veszíteni.
Akkor miért ajánlja mégis a javítást a riport?
Mert olcsó javítás, és több helyen hoz hasznot. Csökken a HTML-méret, gyorsabb az ismételt betöltés, és megnyílik az út a szigorú CSP felé. A hatása alacsony, ezért nem sürgős, de érdemes elvégezni.
A critical CSS is inline CSS-nek számít?
Technikailag beágyazott stílus, de más a célja. A fejlécbe tett <style> blokk azért van ott, hogy az első képernyő azonnal megjelenjen, külső fájlra várás nélkül. Ez tudatos optimalizálás, nem hanyagság. A riport a style attribútumot nézi, nem ezt.
Hány style attribútum a sok?
Nincs hivatalos küszöb. Tapasztalatból 20 alatt nincs mit javítani, 200 felett viszont biztosan sablonépítő vagy generált kód áll mögötte. A HTML teljes mérete a jobb mérőszám: 150 kB felett érdemes megnézni, mi eszi a helyet.
A termékleírásokban is baj, ha van inline stílus?
Ott a leggyakoribb, és ott a legbosszantóbb. A beillesztett formázás gyakran eltér a bolt dizájnjától, és ezer terméknél ezerszer ismétlődik. Illeszd be a szöveget formázás nélkül, és a megjelenést a téma CSS-e adja.

Források

Kapcsolódó fogalmak

A te oldaladon hogy áll a(z) „Inline CSS”?

Futtass egy SEO-auditot: pontszám, fejlesztői ítélet, a leggyorsabb javítások, és minden tételhez bizonyíték.

Ingyenes SEO-audit indítása