本文與本系列先前的文章非常相似,但這次我們將使用 Tailwind 框架作為無類別名稱 CSS 框架。文章靈感來自《基於 Tailwind 的無類名 CSS》一文。
建立新的 Rails 應用程式
-
rails serve
指令前的time
用來顯示指令執行的總時間。以下範例耗時 47 秒。
$ rails -v Rails 8.0.0 $ time rails new classless-css-tailwind ... real 0m47.500s user 0m33.052s sys 0m4.249s
Rails 8 基於其「無建置」理念,預設使用 Propshaft 作為資源管道庫,使用 Importmap 作為 JavaScript 程式庫。 Importmap 不對 JavaScript 進行任何處理。
使用 VSCode 或您喜歡的編輯器開啟專案
$ cd classless-css-tailwind && code .
建立一些頁面來預覽 HTML 元素的樣式
頁面在系列文章的第一篇文章的「常見步驟」。
修改 Tailwind 檔案 app/assets/stylesheets/application.tailwind.css
展開…
修改上述文件以包含 Tailwind CSS 樣式檔的引用。請注意,只有選項 1 未被註解。/* 在顶部插入自定义的 Tailwind CSS */ /* 如果“@tailwind base”、“@tailwind components”和“@tailwind utilities”没有被注释 */ /* 选项 1:绿色 */ @import "./custom_tailwind/custom1.css"; /* 选项 2:蓝色 */ /* @import "./custom_tailwind/custom2.css"; */ /* 选项 3:来自文章“基于 Tailwind 的无类名 CSS” */ /* https://www.php.cn/link/9220e33481b237d9d5d19112688f6dd4 */ /* @import "./custom_tailwind/custom3.css"; */ /* @tailwind base; @tailwind components; @tailwind utilities; */
在 app/assets/stylesheets/
目錄下建立 custom_tailwind
資料夾,以新增自訂的 Tailwind 檔案。
將內容新增至第一個自訂 Tailwind 檔案 custom1.css
展開…
建立檔案 `app/assets/stylesheets/custom_tailwind/custom1.css` 並複製以下內容:/* 概述: 统一主题变量(我们只使用 --background、--text 和 --accent 等,而不是 --background-light 和 --background-dark)。 减少 @media (prefers-color-scheme: dark) 的重复。大部分深色主题都集中在 :root 中。 我们使用变量代替直接颜色,并在某些地方利用 Tailwind 的命名。 如果您使用类(class="dark")而不是 prefers-color-scheme 来使用深色模式, 逻辑会略有不同(使用 dark:bg-*、dark:text-* 等)。 但是,根据建议,我们保留了 @media (prefers-color-scheme: dark) 以尊重用户的偏好。 1. 统一的主题变量 现在我们使用 --background、--text 和 --accent(以及其他)代替 --background-light、--background-dark 等。 这减少了重复,使代码更易于维护。 2. 减少 @media (prefers-color-scheme: dark) 的重复 几乎所有深色主题的内容都集中在一个块中,位于 :root 内。 因此,每当用户偏好深色模式时,所有变量都会被重新定义。 3. 使用补充变量 我们添加了 --background-code、--border、--form-border 和 --focus-ring,以确保所有可能根据主题变化的颜色都易于修改。 4. 优化的表单样式 我们统一了大多数表单元素,而不是将每种输入类型分成多个块。 这避免了重复,并保持了设计的一致性。 --- 最终说明 如果您想进一步遵循 Tailwind 的标准,减少变量的使用,您可以使用标准的实用程序类 (bg-gray-50、text-gray-900、dark:bg-gray-800、dark:text-gray-100 等)。 对于那些更喜欢使用 .dark 类来实现深色模式的用户,只需将 @media (prefers-color-scheme: dark) 替换为文件中的 .dark & { ... } 选择器,并使用 JavaScript 或在 HTML 中手动控制主题即可。 */
將內容加入第二個自訂 Tailwind 檔案 custom2.css
展開…
建立檔案 `app/assets/stylesheets/custom_tailwind/custom2.css` 並複製以下內容:/* ================================================================= CSS 变量配置 集中定义项目的所有变量 ================================================================= */ :root { /* 颜色 - 浅色主题 */ --color-primary: #2563eb; /* Tailwind 的 blue-600 */ --color-primary-hover: #1d4ed8; /* Tailwind 的 blue-700 */ --color-background: #ffffff; --color-text: #1f2937; /* Tailwind 的 gray-800 */ --color-text-muted: #4b5563; /* Tailwind 的 gray-600 */ --color-border: #d1d5db; /* Tailwind 的 gray-300 */ --color-input-bg: #f9fafb; /* Tailwind 的 gray-50 */ --color-code-bg: #f3f4f6; /* Tailwind 的 gray-100 */ --color-code-text: #273e65; /* Tailwind 的 blue-800 */ /* 间距 */ --spacing-base: 1rem; --spacing-lg: 1.5rem; --spacing-xl: 2rem; /* 圆角 */ --radius-base: 0.375rem; --radius-lg: 0.5rem; /* 最大宽度 */ --max-width-content: 48rem; /* 768px */ } /* 使用 prefers-color-scheme 配置深色主题 */ @media (prefers-color-scheme: dark) { :root { /* 颜色 - 深色主题 */ --color-primary: #0284c7; /* Tailwind 的 sky-600 */ --color-primary-hover: #6990c7; /* Tailwind 的 blue-400 */ --color-background: #111827; /* Tailwind 的 gray-900 */ --color-text: #f3f4f6; /* Tailwind 的 gray-100 */ --color-text-muted: #9ca3af; /* Tailwind 的 gray-400 */ --color-border: #374151; /* Tailwind 的 gray-700 */ --color-input-bg: #1f2937; /* Tailwind 的 gray-800 */ --color-code-bg: #1f2937; /* Tailwind 的 gray-800 */ --color-code-text: #e8ecf6; /* Tailwind 的 blue-100 */ } } /* Tailwind 导入 */ @tailwind base; @tailwind components; @tailwind utilities; // ... (其余样式代码,与原文相同) ...
將內容新增至第三個自訂 Tailwind 檔案 custom3.css
展開…
建立檔案 `app/assets/stylesheets/custom_tailwind/custom3.css` 並複製以下內容:// ... (其余样式代码,与原文相同) ...
從 app/views/layouts/application.html.erb
檔案移除 Tailwind 類別名稱
展開…
在 `application.html.erb` 檔案中,移除或註解掉 `<!-- ... --> </main>
更多步驟,讓自訂 Tailwind 樣式生效
展開…
如果您按照上述步驟操作,`app/assets/stylesheets/application.tailwind.css` 檔案應該只包含一行未註解的 `@import "./custom_tailwind/custom1.css";`。應該只有一個樣式未被註解。若要測試其他樣式,請先註解掉目前正在使用的樣式,然後取消註解要測試的另一個樣式。
選擇可用的自訂樣式後,執行以下指令:
$ rails -v Rails 8.0.0 $ time rails new classless-css-tailwind ... real 0m47.500s user 0m33.052s sys 0m4.249s
如果上述指令無法使 HTML 元素生效,請先清除先前的文件,然後重新預先編譯:
$ cd classless-css-tailwind && code .
現在,一個有樣式的 HTML ?
配置好帶有上述自訂設定的 Tailwind 並啟動 Rails 伺服器後,您將看到帶有樣式的 HTML。
深色模式
某些樣式具有深色模式 (dark mode) 選項。若要確認,請在您的電腦的色彩個人化設定中變更主題。在 Windows 中搜尋“啟用應用的深色模式”,並在深色模式和淺色模式之間切換。更改作業系統設定後,HTML 頁面應該會自動更改,表示它支援淺色和深色模式。
後續步驟
[x] 依照您的喜好整理樣式; [x] 使用專案中的 CSS 檔案進行樣式設置,不使用 CDN; [x] 使用 Tailwind 複製無類別名稱 CSS 框架的功能; [-] 使用 Rails Live Reload 動態更新瀏覽器中的項目變更; [-] 如果您想花更多時間在前端,請查看您最喜歡的樣式的自訂選項;
參考資料
- https://www.php.cn/link/9220e33481b237d9d5d19112688f6dd4
- https://www.php.cn/link/cc0a521e0f695aa06ed11384fb616ac3
- https://www.php.cn/link/dfae769c739093f5225cecaf4d5a612f
- https://www.php.cn/link/930473a02d035f62b3c3c2628a284416
- https://www.php.cn/link/c42c101f89ec57e54230d611f74d5ae1
- https://www.php.cn/link/3f37c010783748f8e8577f732d74054c
- https://www.php.cn/link/480167897cc43b2fb914238f45d7dbbf
- https://www.php.cn/link/c48eb27d5b0a288f5bbf1545c218e001
以上是使用 CSS-Zero 作為無類別 CSS 框架的 Ruby on Rails 快速前端的詳細內容。更多資訊請關注PHP中文網其他相關文章!

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

本教程演示了使用智能表單框架創建外觀專業的JavaScript表單(注意:不再可用)。 儘管框架本身不可用,但原理和技術仍然與其他形式的建築商相關。

本文探討了Envato Market上可用的PHP表單構建器腳本,比較了其功能,靈活性和設計。 在研究特定選項之前,讓我們了解PHP形式構建器是什麼以及為什麼要使用一個。 PHP形式

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境