首頁 web前端 css教學 CSS 砌體 Catness

CSS 砌體 Catness

Nov 01, 2024 am 07:09 AM

CSS 就像技術中的其他東西一樣 - 它總是在變化和發展。該領域正在進行的開發是 CSS 網格佈局模組層級 3,也稱為 CSS Masonry 佈局。 Theo 製作了一段視頻,介紹了它的開發方式以及蘋果和谷歌就如何實施它進行的辯論。

所有這些讓我很高興嘗試 CSS 砌體! WebKit 照片示範啟發我用貓的照片製作類似的視圖!誰不愛貓呢?

先決條件

要查看我們要建立的內容,您需要 Safari 技術預覽版,或在 Firefox 中將功能標誌 layout.css.grid-template-masonry-value.enabled 設為 true。

要存取 Firefox 中的功能標誌,請在網址列中輸入 about:config。按下回車鍵,您可以搜尋網格或上面提到的字串。將其切換為 true,然後就可以開始了!

基本上熟悉 TypeScript/JavaScript、React 和 Next。

設定一個新項目

在終端機中建立一個新的 Next 專案。

執行此指令:npx create-next-app@latest

那麼您可能需要安裝以下軟體包:

create-next-app@15.0.1
Ok to proceed? (y) y
登入後複製
登入後複製

為您的項目命名。我稱我的貓為圖片瀑布

繼續在終端機中設定下一個項目(確保不要使用 Tailwind):

Would you like to use TypeScript?  Yes
Would you like to use ESLint?  Yes
Would you like to use Tailwind CSS? No
Would you like your code inside a 'src/' directory?  No
Would you like to use App Router? (recommended) Yes
Would you like to use Turbopack for next dev? No
Would you like to customize the import alias (@/* by default)? No
登入後複製
登入後複製

當您的專案完成設定後:

  • 透過在終端機 cd your-project-name 中執行此命令將目錄變更為您的專案。

  • 然後執行此命令程式碼在 VSCode 中開啟它。 (如果還沒有設定此指令)

刪除樣板

應用程式資料夾內有一個名為 page.tsx 的文件,其中包含樣板檔案中呈現的所有程式碼。

刪除該程式碼並暫時保留 div 或片段。這是一個例子:

// app/page.tsx
export default function Home() {
  return <div></div>;
}
登入後複製

應用程式資料夾中還有一個頁面樣式表。它名為 page.module.css,您可以打開它,選擇其中的所有樣式,然後刪除它們。

讓我們更改我們的元數據,讓我們的應用程式的功能更加清晰。像這樣更新layout.tsx:

// app/layout.tsx
import type { Metadata } from "next";
import "./globals.css";

export const metadata: Metadata = {
  title: "Cat Pics",
  description: "Bringing cats your way with experimental CSS",
};

export default function RootLayout({
  children,
}: Readonly<{
  children: React.ReactNode;
}>) {
  return (
    <html lang="en">
      <body>
        {children}
      </body>
    </html>
  );
}
登入後複製

如果您也願意的話,可以添加一個貓的圖標(如何在下一步中添加圖標)!

建立 .env 文件

在專案根目錄建立一個 .env 檔案。我們將在此處儲存來自 Cat API 的 API 金鑰。

註冊 Cat API

從 The Cat API 註冊免費的 API 金鑰。初始註冊後,您將收到一封包含 API 金鑰的電子郵件。複製該 API 金鑰並在 .env 中建立一個新變數。我將我的鑰匙稱為 CAT_KEY。

您的本地 .env 應如下所示:CAT_KEY=your_api_key。如果您部署此功能,請確保將其新增至部署的任何位置。

把貓咪的照片拿出來!

我從前面提到的 WebKit 演示中收集資訊來創建貓圖片的頁面和樣式。在這裡,我們呼叫 API,映射結果,並渲染返回的圖片:

create-next-app@15.0.1
Ok to proceed? (y) y
登入後複製
登入後複製

為照片設計風格

現在我們已經引入了圖片,讓我們看看 CSS 砌體的實際效果!從 WebKit 的書中取出一頁,這裡是 page.module.css:

Would you like to use TypeScript?  Yes
Would you like to use ESLint?  Yes
Would you like to use Tailwind CSS? No
Would you like your code inside a 'src/' directory?  No
Would you like to use App Router? (recommended) Yes
Would you like to use Turbopack for next dev? No
Would you like to customize the import alias (@/* by default)? No
登入後複製
登入後複製

如果您儲存檔案並在終端機中執行 npm run dev,它應該會給您一個像這樣的頁面(隨機選擇映像):

CSS Masonry Catness

在此基礎上還有很大的潛力!圖像保持其質量,並且沒有媒體查詢,頁面感覺響應靈敏。您可以透過其他方式使用 CSS 中的內容,Theo 在他的影片中展示了它們,WebKit 和 Google 的演示也是如此。

現在成為開發者真是太好了。許多令人驚嘆的工具、功能、運行時等等正在建置中。時間會告訴我們這是如何在 CSS 中實現的。不管最終如何決定,結論是 CSS 變得越來越酷。

看看我為這個專案製作的儲存庫。我也在 Vercel 上部署了它,如果您使用先決條件中提到的兩個瀏覽器設定之一,您可以在這裡查看。

您可以建立一個頁面來渲染貓的圖片,或在工作中完成工作。您如何看待 CSS 的這些功能?你打算如何使用它們?

以上是CSS 砌體 Catness的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

如何通過CSS選擇第一個類名為item的子元素? 如何通過CSS選擇第一個類名為item的子元素? Apr 05, 2025 pm 11:24 PM

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? 在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? Apr 05, 2025 pm 10:21 PM

在前端開發中如何實現類似Windows...

我們如何創建一個在SVG中生成格子呢模式的靜態站點 我們如何創建一個在SVG中生成格子呢模式的靜態站點 Apr 09, 2025 am 11:29 AM

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tar​​tanify.com上,我們收集了5,000多個格子呢

See all articles