ToolDeck

CSS Formatter

Formátujte a zkrášlete CSS se správným odsazením

Zkusit příklad

CSS vstup

Formátované CSS

Běží lokálně · Bezpečné pro vkládání tajných údajů
Formátované CSS se zobrazí zde…

Co je formátování CSS?

Formátování CSS je proces přidávání konzistentního odsazení, zalomení řádků a mezer do kaskádových stylů tak, aby byl kód čitelný pro lidi. Prohlížeče bílé znaky v CSS zcela ignorují. Minifikovaný jednořádkový soubor a pečlivě odsazený stylesheet produkují identické vykreslení. Rozdíl je v čitelnosti: formátované CSS vám umožňuje přehlédnout selektory, odhalit chybějící středníky a porozumět kaskádě na první pohled.

CSS formatter (někdy nazývaný CSS beautifier nebo pretty-printer) vezme komprimované nebo nekonzistentně napsané CSS a přepíše ho s rovnoměrným odsazením, jednou deklarací na řádek a konzistentním umístěním složených závorek. Jde o opačnou operaci minifikace, nazývanou také zkrášlování nebo pretty-printing. Zatímco minifikace odstraňuje bílé znaky za účelem zmenšení velikosti souboru pro produkci, formátování obnovuje strukturu pro vývoj, revizi kódu a údržbu kódové základny.

Specifikace CSS (W3C CSS Syntax Module Level 3) definuje gramatiku pro stylesheety, ale nic neříká o konvencích bílých znaků. Pravidla formátování jsou rozhodnutím týmu: tabulátory versus mezery, odsazení 2 nebo 4 mezerami, styl složených závorek, prázdné řádky mezi bloky pravidel. Formatter vynucuje zvolenou konvenci konzistentně napříč všemi soubory. Většina týmů svou volbu kodifikuje v souboru .prettierrc nebo .editorconfig.

Proč použít tento CSS Formatter?

Vložte libovolné CSS a získejte správně odsazený výstup během milisekund. Žádné pluginy do editoru k instalaci, žádné konfigurační soubory k psaní, žádné účty k vytvoření.

Okamžité formátování
Výstup se aktualizuje při psaní nebo vkládání. Formátované CSS získáte okamžitě bez čekání na krok sestavení nebo spouštění CLI příkazu.
🔒
Zpracování s důrazem na soukromí
Veškeré formátování probíhá lokálně ve vašem prohlížeči pomocí JavaScriptu. Vaše CSS nikdy neopustí vaše zařízení a není nikdy odesláno na žádný server.
🎨
Konfigurovatelné odsazení
Vyberte si mezi odsazením 2 mezerami, 4 mezerami nebo tabulátorem, aby odpovídalo stylu kódu vašeho projektu. Výstup je připraven přímo vložit do vaší kódové základny.
📋
Bez nutnosti přihlášení
Otevřete stránku, vložte CSS, zkopírujte výsledek. Bez registrace, bez omezení počtu požadavků, bez uzamčených funkcí. Plný nástroj je dostupný při každé návštěvě.

Případy použití CSS Formatteru

Frontend vývoj
Když obdržíte minifikované CSS z knihovny dodavatele nebo CDN, zformátujte ho, abyste prošli selektory a pochopili, co přepisuje ve vašich vlastních stylesheetech.
Backend inženýrství
Stránky vykreslované serverem často vkládají kritické CSS jako jeden řádek. Zformátování tohoto CSS usnadňuje audit stylů zahrnutých v počátečním HTML.
DevOps a CI pipeline
Vynuťte konzistentní formátování CSS v pull requestech porovnáním výstupu formatteru s committovanými soubory. Nekonzistentní bílé znaky vytvářejí šumné diffy, které zakrývají skutečné změny.
QA a ladění chyb
Při ladění vizuální chyby zformátujte vypočítané CSS z DevTools, abyste rychle zjistili, které vlastnosti jsou aplikovány a v jakém pořadí specifičnosti.
Migrace dat
Redakční systémy a nástroje pro tvorbu e-mailů ukládají CSS do polí databáze, často bez bílých znaků. Zformátování extrahovaného CSS pomáhá ověřit ho před opětovným importem.
Výuka CSS
Studenti učící se CSS mohou vkládat příklady z tutoriálů nebo odpovědí ze Stack Overflow a vidět je konzistentně zformátované, což usnadňuje sledování zanoření a kaskády.

Referenční tabulka pořadí CSS vlastností

Většina CSS formatterů vlastnosti nepřeřazuje. Mnoho style guides však doporučuje seskupovat příbuzné vlastnosti dohromady. Tabulka níže ukazuje běžnou konvenci seskupení používanou nástroji jako plugin order pro Stylelint a CSScomb:

SkupinaPříklady vlastnostíÚčel
Position & Layoutposition, display, float, clearDefines the element's rendering mode
Box Modelwidth, height, margin, paddingControls dimensions and spacing
Typographyfont-size, line-height, colorText styling properties
Visualbackground, border, box-shadowDecorative properties
Animationtransition, animation, transformMotion and transform effects
Misccursor, overflow, z-indexBehavioral and stacking properties

Toto seskupení je konvencí, nikoliv požadavkem CSS. Prohlížeče aplikují deklarace na základě specifičnosti a pořadí v kódu, bez ohledu na pořadí vlastností uvnitř bloku pravidla. Formatter se zaměřuje na bílé znaky a odsazení; přeřazování vlastností je samostatnou záležitostí lintování řešenou nástroji jako Stylelint.

Formátování CSS vs. minifikace CSS

Formátování a minifikace jsou inverzní operace, aplikované v různých fázích vývoje:

CSS Formatter (tento nástroj)
Přidává odsazení, zalomení řádků a mezery, aby bylo CSS čitelné. Používá se při vývoji a revizi kódu. Zvětšuje velikost souboru, ale nemá žádný vliv na vykreslování v prohlížeči. Výstup je určen lidem.
CSS Minifier
Odstraňuje veškeré zbytečné bílé znaky, komentáře a nadbytečnou syntaxi za účelem zmenšení velikosti souboru. Používá se pro produkční sestavení. Výstup je určen prohlížečům a CDN, nikoli ke čtení.

Příklady kódu

Jak programově formátovat CSS v různých jazycích a prostředích:

JavaScript (Prettier API)
import * as prettier from 'prettier'

const ugly = 'body{margin:0;padding:0}h1{font-size:2rem;color:#333}'

const formatted = await prettier.format(ugly, {
  parser: 'css',
  tabWidth: 2,
  singleQuote: true,
})
// → "body {\n  margin: 0;\n  padding: 0;\n}\n\nh1 {\n  font-size: 2rem;\n  color: #333;\n}\n"
Python (cssbeautifier)
import cssbeautifier

ugly = 'body{margin:0;padding:0}h1{font-size:2rem;color:#333}'

opts = cssbeautifier.default_options()
opts.indent_size = 2

formatted = cssbeautifier.beautify(ugly, opts)
# → "body {\n  margin: 0;\n  padding: 0;\n}\n\nh1 {\n  font-size: 2rem;\n  color: #333;\n}"
CLI (Prettier)
# Format a single file in place
npx prettier --write styles.css

# Format all CSS files in a directory
npx prettier --write "src/**/*.css"

# Check formatting without modifying files
npx prettier --check "src/**/*.css"

# Pipe minified CSS through stdin
echo "body{margin:0;padding:0}" | npx prettier --parser css
PHP (sabberworm/php-css-parser)
<?php
// composer require sabberworm/php-css-parser
require 'vendor/autoload.php';

use Sabberworm\CSS\Parser;
use Sabberworm\CSS\OutputFormat;

$input = 'body{margin:0;padding:0}h1{font-size:2rem;color:#333}';

$document = (new Parser($input))->parse();
echo $document->render(OutputFormat::createPretty());
// → body {
//     margin: 0;
//     padding: 0;
//   }
//   h1 {
//     font-size: 2rem;
//     color: #333;
//   }

Nejčastější dotazy

Jaký je rozdíl mezi CSS formatterem a CSS linterem?
CSS formatter mění pouze bílé znaky: odsazení, zalomení řádků, mezery kolem dvojteček a složených závorek. Neupravuje vaše skutečné CSS deklarace. CSS linter (jako Stylelint) analyzuje váš kód na chyby, špatné praktiky a porušení stylu, a může navrhovat nebo automaticky opravovat problémy nad rámec bílých znaků. Týmy obvykle používají obojí: formatter pro konzistentní mezery, linter pro odchytávání chyb.
Změní formátování CSS způsob, jakým se vykresluje v prohlížeči?
Ne. Prohlížeče zpracovávají CSS podle W3C CSS Syntax Module, který zachází se všemi bílými znaky (mezery, tabulátory, nové řádky) jako s ekvivalentními oddělovači tokenů. Přidávání nebo odebírání bílých znaků mezi deklaracemi, selektory nebo hodnotami nemá žádný vliv na vypočítané styly. Jedinou výjimkou jsou bílé znaky uvnitř řetězcových hodnot jako content: "hello world", které formatter zachovává.
Kolik mezer mám používat pro odsazení CSS?
Dvě nejběžnější konvence jsou 2 mezery a 4 mezery. Google Style Guide a výchozí nastavení Prettier používají 2 mezery. WordPress CSS coding standards používají tabulátory. Výkonnostní rozdíl neexistuje. Zvolte to, co váš tým již používá nebo co odpovídá vašemu stávajícímu JavaScriptovému nebo HTML kódu, a buďte konzistentní.
Mohu tímto nástrojem formátovat SCSS, LESS nebo jiné CSS preprocesory?
Tento nástroj formátuje standardní CSS syntaxi. SCSS a LESS sdílejí většinu syntaxe CSS, takže jednoduchý kód preprocesorů se často správně zformátuje. Nicméně SCSS specifické konstrukce jako @mixin, @include a zanořené bloky pravidel nemusí být zpracovány podle očekávání. Pro SCSS použijte Prettier se SCSS parserem nebo rozšíření sass-formatter.
Je formátování CSS totéž co zkrášlování CSS?
Ano. Termíny CSS formatter, CSS beautifier a CSS pretty-printer označují stejnou operaci: přidávání konzistentních bílých znaků do CSS kódu. Různé nástroje používají různé názvy, ale výstup je stejný: odsazené, čitelné CSS s jednou deklarací na řádek.
Proč má moje formátované CSS jiný počet řádků než originál?
Minifikované nebo komprimované CSS často sbaluje více deklarací na jeden řádek nebo vynechává zalomení řádků mezi bloky pravidel. Formatter přidává zalomení řádku za každou deklarací a prázdný řádek mezi bloky pravidel, což zvyšuje počet řádků. Skutečný CSS obsah (selektory, vlastnosti, hodnoty) zůstává nezměněn.
Mám do verzovacího systému commitovat formátované nebo minifikované CSS?
Commitujte formátované CSS. Diffy ve verzovacím systému jsou řádkové, takže formátované CSS s jednou deklarací na řádek produkuje čisté, přehledné diffy. Minifikované CSS vytváří jednořádkové diffy, které nelze zkontrolovat. Minifikaci provádějte jako krok sestavení, nikoli jako zdrojový formát. Nástroje jako PostCSS, cssnano nebo CSS plugin vašeho bundleru zajistí produkční minifikaci automaticky.