跳到主要內容
m.Mandy's Web
← 返回所有筆記

了解 Astro 的樣式設定 (Style)

約 5 分鐘閱讀
關於這篇筆記

昨天我們了解了 Astro 的樣版語法元素,今天我們將深入研究 Astro 中的樣式部分。

Astro 中的樣式設定

在 Astro 中,要為元件或頁面模板設置樣式,只需添加 <style> 標籤即可。當您將 <style> 標籤放入 Astro 元件中時,Astro 會自動偵測 CSS 並處理樣式。

範例:

/* src/components/MyComponent.astro */
<style>
  h1 { color: red; }
</style>

區域性樣式

Astro 的 <style> CSS 規則默認會自動進行區域性封裝。這表示這些樣式只會應用於元件內部的 HTML。在 Astro 元件內部編寫的 CSS 會自動封裝在元件內。

範例:

 /* index.astro */
<style>
  h1 {
    color: red;
  }

  .text {
    color: blue;
  }
</style>

編譯成:

<style>
  h1:where(.astro-HHNQFKH6) {
     color: red;
  }

  .text:where(.astro-HHNQFKH6) {
    color: blue;
  }
</style>

區域樣式不會外洩,也不會影響站點的其餘部分。在 Astro 中,可以使用低特定性的選擇器(例如 h1 {} 或 p {}),因為它們會在最終輸出中與範圍一起編譯。

全局樣式

雖然我們建議大多數元件使用區域性樣式,但你可能會找到一個合理的理由來寫全局、非區域性的 CSS。你可以使用 <style is:global> 屬性來取消自動 CSS 區域性封裝。

範例:

 /* src/components/GlobalStyles.astro */
<style is:global>
  /* 不受限制,原封不動地傳遞給瀏覽器。
     適用於你網站上的所有 <h1> 標籤。 */
  h1 { color: red; }
</style>

通過 <style> 標籤混合全局和區域樣式

你也可以在同一個