構建「透明膠帶」圖像塊樣式

在今天的帖子中,酒館讀者所關注的內容與我們常規的新聞和意見流有所不同。 歡迎來到 用積木建造 系列。 這是一種新型的帖子,我們正在嘗試向人們展示他們可以使用 WordPress 塊做的一些有趣、獨特或創造性的事情。

我們的團隊決定將該系列分為以開發人員和以用戶為中心的軌道。 帖子可能涵蓋創建「關於我」頁面、編寫自定義塊樣式、拼湊圖案或其他內容。

由於我要開始這個系列,所以我想回答一個我們已經從我們的一位讀者那裡收到的問題。 我之前在我的報道中分享了一種帶有「透明膠帶」外觀的自定義塊樣式 FSE Outreach Program 呼籲進行媒體測試

building-a-scotch-tape-image-block-style 構建「透明膠帶」圖像塊樣式原始塊樣式。

德文德拉·米娜 在評論中問

嘿夥計,如何獲得「磁帶」自定義塊圖像?

這感覺像是我在該系列中的第一篇文章的自然起點。

該設計展示了一塊膠帶,上面裝有寶麗來風格的帶框圖像。 從技術上講,我還有另一種風格,在拐角處有兩條膠帶。 但是,本教程將重點關注前者。 兩角設計需要覆蓋一些特定於編輯器的 CSS,在技術上會破壞功能,這不是我應該鼓勵的。

我還想從塊樣式開始,因為它們沒有得到充分利用。 我見過的大多數變化都是簡單的更改,例如添加邊框和刪除邊距。 這些通常最好留給阻止設計工具。 當然,他們正在添加這些樣式,因為 WordPress 當前缺少或以前缺少用於處理它們的 UI 控制項。 這也是很多人要求的原因之一 混合和匹配多種塊樣式 ——主題正在做核心應該做的工作。 更多的工具不斷被添加,但我們還有很長的路要走。

當我想到塊樣式時,我想創建不太可能通過標準設計工具獲得的設計。 我想為主題用戶提供一些獨特的東西。 這就是我們今天開始的地方。

作為獎勵,自定義塊樣式適用於經典和塊主題。

儘管我一生寫了數百篇教程,但這個練習比我預期的要難一些。 很容易忘記,我編寫的所有代碼都是從「修復」我覺得默認塊庫樣式奇怪的地方開始的。 這讓我的生活更輕鬆。 然而,許多主題作者會依賴核心的默認設置,所以我需要使這個通用性足以為他們工作。

因此,我選擇從默認的二十二十二主題開始。 在測試中,我建議使用它。 下一節中的 CSS 代碼可能需要對其他人稍作改動。

創建「透明膠帶」塊樣式

第一步是通過主題註冊自定義塊樣式。 WordPress 兩者都有 伺服器端和 JavaScript API 對於這個功能。 如果您還沒有編輯器腳本文件可將代碼放入其中,則使用 PHP 更容易設置。

要註冊自定義塊樣式,請將以下代碼添加到主題的 functions.php 文件中:

// 在 init 鉤子上註冊塊樣式。 add_action(‘init’, ‘tavern_register_block_styles’); // 用於註冊所有塊樣式的包裝函數。 功能 tavern_register_block_styles() { register_block_style( ‘核心/圖像’, [ ‘name’ => ‘scotch-tape’, ‘label’ => __( ‘Scotch Tape’, ‘tavern’ ) ] ); }

這樣做將在編輯器中註冊樣式。 您可以通過在後期編輯屏幕上添加圖像塊來測試這一點。 「透明膠帶」應該可以在樣式選項卡下選擇。

building-a-scotch-tape-image-block-style-1 構建「透明膠帶」圖像塊樣式Image 塊的註冊樣式正確顯示。

註冊樣式是很容易的部分。 編寫代碼是讓事情變得冒險的地方。 WordPress 有很多載入 CSS 樣式的方法,您可能不知道從哪裡開始。

之前使用的 register_block_style() 函數允許開發人員添加 style_handle,即對已註冊樣式表的引用。 Themers 還可以通過 inline_style 參數直接添加內聯樣式。 只需幾行 CSS,就可以很好地工作。

在我自己的主題中,我 註冊特定於塊的樣式表 通過 wp_enqueue_block_style() 函數——是的,函數名稱非常混亂。 這是在 WordPress 5.9 中正式添加的。 它只會在頁面上使用塊時輸出 CSS。 例如,我添加了一個 core-image.css 文件來容納所有 Image 塊 CSS。 這是我推薦的方法。

不過,為了簡單起見,我在二十二十二的 style.css 文件末尾添加了以下代碼:

/*

包裝器的設計。 */ .wp-block-image.is-style-scotch-tape { 位置:相對; 溢出:可見; 填充:1rem; 背景顏色:#fff; box-shadow: 0 4px 10px 0 rgba( 0, 0, 0, 0.3 ), 0 0 4rem rgba( 255, 255, 235, 0.5 ) 插圖; } /* 為「磁帶」設計。 */ .wp-block-image.is-style-scotch-tape::before { content: “”; 顯示:塊; 位置:絕對; 寬度:7rem; 高度:2rem; 保證金:自動自動自動-3.5rem; z-index:1; 左:50%; 頂部:-0.5rem; 背景:RGBA(255、255、235、0.5); 盒子陰影:0 4px 10px 0 rgba( 0, 0, 0, 0.3 ); } /* 移除 TT2 的圖像陰影。 */ .wp-block-image.is-style-scotch-tape img { box-shadow: none; } /* 調整標題。 */ .wp-block-image.is-style-scotch-tape figcaption { display: block; 保證金:1rem 0 0; 行高:1; 字體大小:1rem; font-family: ‘Fuzzy Bubbles’, sans-serif; }

使用 CSS 後,只需找到要測試的圖像即可。 我選擇了 馬庫斯·伯內特的鯨鯊 來自 WordPress 照片。

building-a-scotch-tape-image-block-style-2 構建「透明膠帶」圖像塊樣式在風格中添加圖像!

如果您想為您的字幕添加一些風格,請載入 模糊氣泡 或來自 Google Fonts 的另一種手寫字體。

此樣式不一定需要綁定到 Image 塊。 經過一些調整,它沒有理由不適用於段落、組等。

現在,我希望你們都玩得開心。 此外,請隨時在評論中分享您希望在未來看到新的「Building with Blocks」系列的內容。

來源

相關文章