Pattern CSS – The CSS Editor For Blocks

توسط

The missing inline block CSS editor for the Gutenberg editor. Very powerful with synced patterns as well. And it pairs well with global styles.

This plugin is perfect for users looking to add CSS for blocks without needing to create a child theme, or use a bloated plugin. Client safe too. CSS won’t leak outside of the block, and only valid block CSS is persisted.

Star it on GitHub
Follow me on Twitter @kevinbatdorf

How to

  • Every block will have a new “Pattern CSS” settings panel
  • Open it and add any CSS. It will be scoped to the block
  • To target the block directly, you must use the [block] selector
  • To target any element inside the block, use the normal CSS selector
  • Use !important to override your theme styles (use sparingly)

Global Editor

  • Access global styles under the options menu (three dots) in the top right corner of the editor
  • Additionaly, you can open from the Pattern CSS block editor controls

Features

  • Powered by WebAssembly for fast and secure CSS parsing
  • Smart loading. Only loads the CSS when the block is present
  • Styles persist when changing themes
  • Scopes styles to the block so that parent/sibling blocks are not affected
  • It’s fast
  • CSS is minified and optimized
  • It’s safe. Invalid, non-spec CSS is never persisted
  • Supports reusable (synced or not-synced) patterns
  • See changes on the page as you make them
  • Combines adjacent rules (to decrease size)
  • Minifies colors and math functions to simplify according to spec
  • Supports CSS nesting

Basic Example

/* Target the block directly */
[block] {
  background: antiquewhite;
  padding: 2rem;
}
/* Target any inner elements */
a {
  text-decoration-color: burlywood;
  text-decoration-thickness: 2px;
  text-decoration-style: solid !important;
}
a:hover {
  text-decoration-color: darkgoldenrod;
}

/* Output: */
.pcss-a1b7b016{background:#faebd7;padding:2rem}.pcss-a1b7b016 a{text-decoration-color:#deb887;text-decoration-thickness:2px;text-decoration-style:solid!important}.pcss-a1b7b016 a:hover{text-decoration-color:#b8860b}

Supports Media Queries

@media (prefers-color-scheme: dark) {
  [block] {
    border-color: blue;
  }
}

/* Output: */
@media (prefers-color-scheme:dark){.pcss-cddaa023{border-color:#00f}}

Combines Rules

[block] {
  color: red;
}
.bar {
  color: red;
}

/* Output: */
.pcss-3aa0f0fc,.pcss-3aa0f0fc .bar{color:red}

Fixes redundant properties

[block] {
  padding-top: 5px;
  padding-left: 50px;
  padding-bottom: 15px;
  padding-right: 5px;
}

/* Output: */
.pcss-3aa0f0fc{padding:5px 5px 15px 50px}

Supports CSS nesting

[block] {
  padding: 1rem;
  a {
    color: red;
  }
  background: white;
  /* Including media queries */
  @media (prefers-color-scheme: dark) {
    background: black;
    color:white;
  }
}

/* Output: */
.pcss-f526bb2d{background:#fff;padding:1rem;& a{color:red}@media (prefers-color-scheme:dark){&{color:#fff;background:#000}}}

Check browser support for CSS nesting

  1. Activate the plugin through the ‘Plugins’ screen in WordPress

سوالات متداول

Error about application/wasm mime type

Your server needs to be able to identify the mime type being used. See here: https://wordpress.org/support/topic/webassembly-instantiatestreaming-failed-because-your-server-does-not-serve-wasm/

Can I use something other than [block]?

You can add a custom selector via a PHP constant. It requires setting a type (type, attribute, etc) and the name.

Here’s an example for “foo { color: red }”, where foo will be replaced with .pcss-h3Hso39bsK (or something similar):

Add this to functions.php:

define('PATTERN_CSS_SELECTOR_OVERRIDE', ['name' => 'foo', 'type' => 'type']);

Can I manually set the class ID?

By default, class IDs are auto-generated. If you need to manually set or change a block’s class ID (e.g. to match an existing class), you can enable this by adding the following constant to wp-config.php or functions.php:

define('PATTERN_CSS_ALLOW_MANUAL_OVERRIDE', true);

Once enabled, the ID field in the Advanced panel becomes editable. Type your desired class name and press “Apply” to save it. The value will be slugified automatically.

×
نظری برای این آیتم موجود نیست.
0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
نسخه حجم فایل SHA256 تغییرات دانلود
1.5.6 9 مگابایت -
دانلود
×
★★★★★
★★★★★
5.0 /5 (8 نظر)

قیمت:

رایگان

نگارش

1.5.6

آخرین انتشار

18 اردیبهشت 1405

آخرین بروزرسانی

3 ماه پیش

نصب های فعال

100+

نگارش وردپرس

وردپرس 6.7+

تست شده از نسخه

وردپرس 7.0

نگارش PHP

PHP 7.0+

نسخه ها

1 نسخه