国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 css教程 使用現(xiàn)代 CSS 設(shè)計 HTML 和

使用現(xiàn)代 CSS 設(shè)計 HTML 和

Jan 03, 2025 am 05:54 AM

作者:羅布·奧利里??

和<摘要> HTML 元素(統(tǒng)稱為公開小部件)不容易設(shè)置樣式。由于限制,人們經(jīng)常使用自定義組件制作自己的版本。然而,隨著 CSS 的發(fā)展,這些元素變得更容易定制。在本文中,我將介紹如何自定義披露小部件的外觀和行為。

如何和<摘要>一起工作嗎?

<詳情>是一個 HTML 元素,用于創(chuàng)建隱藏附加信息的公開小部件。公開小部件通常呈現(xiàn)為帶有一些文本的三角形標(biāo)記。

當(dāng)用戶單擊小部件或聚焦于它并按空格鍵時,它會打開并顯示其他信息。三角形標(biāo)記指向下方表示處于打開狀態(tài):

Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

披露小部件有一個始終顯示的標(biāo)簽,由

提供。元素。這是第一個孩子。如果省略,則瀏覽器提供默認(rèn)標(biāo)簽。通常,它會說“詳細(xì)信息”:

Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

您還可以在

之后提供多個元素表示附加信息的元素:

<details>
  <summary>Do you want to know more?</summary>
  <h3>Additional info</h3>
  <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
</details>

造型和<摘要>

在設(shè)置

樣式時應(yīng)考慮一些互操作性問題。和<摘要>元素。在討論一些常見用例之前,讓我們先介紹一下基礎(chǔ)知識。

元素與 [

  • ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li) 元素類似,因?yàn)樗哪J(rèn)樣式包括 display: list-item。因此,它支持 [list-style](https://developer.mozilla.org/docs/Web/CSS/list-style) 簡寫屬性及其普通屬性。瀏覽器對列表樣式屬性的支持相當(dāng)好,但 Safari 仍然落后。

    披露小部件有兩個偽元素來設(shè)置其組成部分的樣式:

    1. ::marker 偽元素:表示位于 開頭的三角形標(biāo)記。這個造型的故事有點(diǎn)復(fù)雜。我們僅限于一小組 CSS 屬性。瀏覽器對 ::marker 的支持很好,但 Safari 目前不支持完整的屬性集。我將在本文的“設(shè)置摘要標(biāo)記樣式”部分中更詳細(xì)地討論這一點(diǎn)
    2. ::details-content 偽元素:表示
      的“附加信息”。這是最近添加的,因此瀏覽器支持目前僅限于 Chrome

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    在下面的部分中,我將演示一些更新的、鮮為人知的自定義披露小部件的方法。

    動畫打開和關(guān)閉動作

    當(dāng)您打開公開小部件時,它會立即打開。一眨眼,你就會錯過它!

    最好以更漸進(jìn)的方式從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài),以向用戶展示其操作的影響。我們可以為顯示小部件的打開和關(guān)閉操作添加過渡動畫嗎?簡而言之,是的!

    為了實(shí)現(xiàn)動畫效果,我們希望隱藏內(nèi)容的高度從零過渡到其最終高度。 height 屬性的默認(rèn)值為 auto,這讓瀏覽器根據(jù)內(nèi)容計算高度。在添加 [interpolate-size](https://nerdy.dev/interpolate-size) 屬性之前,在 CSS 中無法將動畫設(shè)置為 auto 值。雖然瀏覽器對我們需要使用的新 CSS 功能的支持有點(diǎn)有限(主要是 interpolate-size 和 ::details-content),但這是漸進(jìn)增強(qiáng)的一個很好的例子。目前它可以在 Chrome 中運(yùn)行!

    這是動畫的 CodePen 示例。

    披露動畫如何運(yùn)作?

    首先,我們添加 interpolate-size,以便我們可以過渡到 auto 高度:

    <details>
      <summary>Do you want to know more?</summary>
      <h3>Additional info</h3>
      <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
    </details>
    

    接下來,我們要描述封閉式風(fēng)格。我們希望“附加信息”內(nèi)容的高度為零,并確保沒有內(nèi)容可見,即我們希望防止溢出。

    我們使用 ::details-content 偽元素來定位隱藏內(nèi)容。我使用塊大小屬性而不是高度,因?yàn)槭褂眠壿媽傩允且粋€好習(xí)慣。我們需要在過渡中包含內(nèi)容可見性,因?yàn)闉g覽器在內(nèi)容處于關(guān)閉狀態(tài)時設(shè)置內(nèi)容可見性:隱藏 - 如果不包含它,關(guān)閉動畫將無法工作:

    <details>
      <summary>Do you want to know more?</summary>
      <h3>Additional info</h3>
      <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
    </details>
    

    動畫仍然無法按預(yù)期工作,因?yàn)閮?nèi)容可見性屬性是離散的動畫屬性。這意味著沒有插值;瀏覽器將在兩個值之間翻轉(zhuǎn),以便在整個動畫持續(xù)時間內(nèi)顯示過渡內(nèi)容。我們不想要這個。

    如果我們包含transition-behavior:allow-discrete;,值會在動畫的最后翻轉(zhuǎn),這樣我們就得到了漸變過渡。

    此外,當(dāng)公開小部件處于中間狀態(tài)時,我們通過將塊大小設(shè)置為 0 來獲得內(nèi)容溢出。我們會在打開時顯示大部分內(nèi)容。為了防止這種情況發(fā)生,我們添加了overflow:hidden。

    最后,我們添加打開狀態(tài)的樣式。我們希望最終狀態(tài)的大小為 auto:

    details {
        interpolate-size: allow-keywords;
    }
    

    這些是大致的思路。如果您想要更詳細(xì)的視頻說明,請查看 Kevin Powell 的演練,了解如何為

    制作動畫和。

    為披露小部件設(shè)置動畫時還有其他注意事項(xiàng)嗎?

    如果“附加信息”內(nèi)容比寬,則披露小部件可能會水平增長。內(nèi)容。這可能會導(dǎo)致不必要的布局變化。在這種情況下,您可能需要在

    上設(shè)置寬度。

    與任何動畫一樣,您應(yīng)該考慮對運(yùn)動敏感的用戶。您可以使用prefers-reduced-motion 媒體查詢來滿足該場景:

    /* closed state */
    details::details-content {
      block-size: 0;
    
      transition: content-visibility, block-size;
      transition-duration: 750ms;
    
      transition-behavior: allow-discrete;
      overflow: hidden;
    }
    

    實(shí)施獨(dú)家<細(xì)節(jié)>組(手風(fēng)琴專用)

    常見的 UI 模式是手風(fēng)琴組件。它由一堆公開小部件組成,可以擴(kuò)展這些小部件以顯示其內(nèi)容。要實(shí)現(xiàn)此模式,您只需要多個連續(xù)的

    元素。您可以設(shè)置它們的樣式以在視覺上表明它們屬于在一起:

    /* open state */
    details[open]::details-content {
      block-size: auto;
    }
    

    默認(rèn)樣式相當(dāng)簡單:

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    每個占據(jù)自己的陣線。它們的位置靠近(沒有邊距或填充),并且由于鄰近而被視為一個組。如果您想強(qiáng)調(diào)它們是組合在一起的,您可以添加邊框并為它們提供相同的背景樣式,如下例所示:

    此模式的一種變體是使手風(fēng)琴獨(dú)占,以便一次只能打開一個披露小部件。一旦打開一個,瀏覽器就會關(guān)閉另一個。您可以通過

    的name屬性創(chuàng)建獨(dú)占組。具有相同的名稱形成一個語義組:

    <details>
      <summary>Do you want to know more?</summary>
      <h3>Additional info</h3>
      <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
    </details>
    

    在使用專屬手風(fēng)琴之前,請考慮它是否對用戶有幫助。如果用戶可能想要消耗更多信息,這將要求他們經(jīng)常打開項(xiàng)目,這可能會令人沮喪。

    目前所有現(xiàn)代瀏覽器都支持此功能,因此您可以立即使用它。

    設(shè)置摘要標(biāo)記的樣式

    披露小部件通常在其旁邊顯示一個小三角形標(biāo)記。在本節(jié)中,我們將介紹設(shè)置此標(biāo)記樣式的過程。

    標(biāo)記與

    相關(guān)聯(lián)。元素。添加 [::marker](https://developer.mozilla.org/docs/Web/CSS/::marker) 偽元素意味著我們可以直接設(shè)置標(biāo)記框的樣式。但是,我們僅限于一小組 CSS 屬性:

    • 所有字體屬性
    • 顏色
    • 空白
    • text-combine-upright、[unicode-bidi](https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi) 和方向?qū)傩?/li>
    • 內(nèi)容
    • 所有動畫和過渡屬性

    如前所述,<總結(jié)>類似于 [

  • ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li);它支持列表樣式的簡寫屬性及其普通屬性。雖然這聽起來有點(diǎn)大雜燴,但通過一些示例會更容易理解樣式選項(xiàng)。

    在進(jìn)入示例之前,先簡單介紹一下瀏覽器支持。在撰寫本文時,Safari 是唯一不完全支持標(biāo)記樣式的主要瀏覽器:

    • Safari 支持當(dāng)前僅限于對 ::marker 偽元素的顏色和字體大小屬性進(jìn)行樣式設(shè)置。 Safari 支持非標(biāo)準(zhǔn)偽元素 ::-webkit-details-marker
    • Safari 根本不支持設(shè)置列表樣式屬性的樣式。參考CanIUse

    更改標(biāo)記的顏色和大小

    假設(shè)我們想將三角形??標(biāo)記的顏色更改為紅色,并將其放大 50%。我們可以做以下事情:

    details {
        interpolate-size: allow-keywords;
    }
    

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    這應(yīng)該適用于所有瀏覽器。這是 CodePen 示例。

    調(diào)整標(biāo)記的間距

    默認(rèn)情況下,標(biāo)記位于

    文本內(nèi)容的一側(cè)。并且它們位于同一個邊界框中。列表樣式位置設(shè)置為內(nèi)部。當(dāng)它處于打開狀態(tài)時,“附加信息”位于標(biāo)記的正下方。也許您想更改其間距和對齊方式:

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    如果我們將 list-style-position 設(shè)置為 Outside,則標(biāo)記位于

    之外。邊界框。這使我們能夠調(diào)整摘要文本和標(biāo)記之間的間距:

    <details>
      <summary>Do you want to know more?</summary>
      <h3>Additional info</h3>
      <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
    </details>
    

    您可以在上面屏幕截圖的第二個實(shí)例中看到這一點(diǎn)。

    這是此示例的 CodePen:

    更改標(biāo)記文本/圖像

    如果要更改標(biāo)記的內(nèi)容,可以使用 ::marker 偽元素的 content 屬性。根據(jù)您的喜好,您可以將其設(shè)置為文本。對于我的示例,我使用拉鏈嘴表情符號表示閉合狀態(tài),使用張口表情符號表示打開狀態(tài):

    details {
        interpolate-size: allow-keywords;
    }
    

    要使用圖像作為標(biāo)記,可以使用 ::marker 偽元素的 content 屬性,或

    :
    的 list-style-image 屬性

    /* closed state */
    details::details-content {
      block-size: 0;
    
      transition: content-visibility, block-size;
      transition-duration: 750ms;
    
      transition-behavior: allow-discrete;
      overflow: hidden;
    }
    

    在下面的示例中,我們使用材質(zhì)符號中的兩個箭頭圖標(biāo)作為標(biāo)記。向右的箭頭為關(guān)閉狀態(tài),向下的箭頭為打開狀態(tài):

    這些示例將在 Chrome 和 Firefox 中按預(yù)期工作,但 Safari 將忽略樣式。您可以將其視為漸進(jìn)式增強(qiáng),然后就到此為止了。但如果您希望在所有瀏覽器中具有相同的外觀,則可以隱藏標(biāo)記,然后添加您自己的圖像作為替身。這給你更多的自由:

    /* open state */
    details[open]::details-content {
      block-size: auto;
    }
    

    您可以使用新的標(biāo)記圖標(biāo)(例如內(nèi)聯(lián)圖像或通過偽元素)直觀地指示狀態(tài)。 <總結(jié)>已經(jīng)(大部分)指示展開/折疊狀態(tài)。因此,如果您使用內(nèi)嵌圖形,則應(yīng)將其視為裝飾性的??盏?alt 屬性可以執(zhí)行以下操作:

    <details>
      <summary>Do you want to know more?</summary>
      <h3>Additional info</h3>
      <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
    </details>
    

    如果您愿意,您也可以選擇將標(biāo)記放置在

    的末尾:

    details {
        interpolate-size: allow-keywords;
    }
    

    但是,需要注意的是,隱藏標(biāo)記會導(dǎo)致屏幕閱讀器出現(xiàn)可訪問性問題。 Firefox、VoiceOver、JAWS 和 NVDA 都存在一個問題,即如果刪除標(biāo)記,則始終會宣布公開小部件的切換狀態(tài)。不幸的是,這種風(fēng)格與國家息息相關(guān)。最好避免這樣做。

    設(shè)計
    的“附加信息”部分

    您可能想要設(shè)置披露小部件的“附加信息”部分的樣式,而不會將樣式泄漏到。因?yàn)?

    中可以包含可變數(shù)量的元素,所以最好有一個包羅萬象的規(guī)則:

    /* closed state */
    details::details-content {
      block-size: 0;
    
      transition: content-visibility, block-size;
      transition-duration: 750ms;
    
      transition-behavior: allow-discrete;
      overflow: hidden;
    }
    

    我的做法是排除

    使用 :not() 函數(shù)的元素。請記住,這針對的是每個元素,而不是作為單個部分的內(nèi)容!

    /* open state */
    details[open]::details-content {
      block-size: auto;
    }
    

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    或者,您可以使用 ::details-content 偽元素,它針對整個部分。這就是為什么你想用它來動畫打開和關(guān)閉狀態(tài)轉(zhuǎn)換:

    >@media (prefers-reduced-motion) {
      /* styles to apply if a user's device settings are set to reduced motion */
    
       details::details-content {
          transition-duration: 0.8s; /* slower speed */
       }
    }
    

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    注意到區(qū)別了嗎?該節(jié)的開頭只有一個邊距。

    沒有邊距。使用 ::details-content 偽元素的缺點(diǎn)是瀏覽器支持目前僅限于 Chrome。

    設(shè)計披露小部件時的常見錯誤

    • 歷史上,無法更改
      的顯示類型。元素。 Chrome 中放寬了此限制
    • 請小心更改 的顯示類型。默認(rèn)為display:list-item;;如果將其更改為 display: block;,可能會導(dǎo)致標(biāo)記在某些瀏覽器中被隱藏。這是 Firefox 中的一個問題:
    <details>
        <summary>Payment Options</summary>
        <p>...</p>
    </details>
    <details>
        <summary>Personalise your PIN</summary>
        <p>...</p>
    </details>
    <details>
        <summary>How can I add an additional cardholder to my Platinum Mastercard</summary>
        <p>...</p>
    </details>
    
    • 你不能嵌套
    • 因?yàn)樵鼐哂邪粹o的默認(rèn) ARIA 角色,它會從子元素中刪除所有角色。因此,如果您想要一個像

      這樣的標(biāo)題,總之,屏幕閱讀器等輔助技術(shù)不會將其識別為標(biāo)題。盡量避免這種模式:
      <details>
        <summary>Do you want to know more?</summary>
        <h3>Additional info</h3>
        <p>The average human head weighs around 10 to 11 pounds (approximately 4.5 to 5 kg).</p>
      </details>
      

    • 隱藏標(biāo)記會導(dǎo)致某些屏幕閱讀器出現(xiàn)輔助功能問題。 Firefox、VoiceOver、JAWS 和 NVDA 都存在一個問題,即如果刪除標(biāo)記,則始終會宣布公開小部件的切換狀態(tài)

    還會有更多變化嗎?

    最近有一個大提案,幫助把做成了。瀏覽器之間更具可定制性和互操作性。第一階段包括我在本文中介紹的一些內(nèi)容:

    1. 刪除CSS顯示屬性限制,以便您可以使用其他顯示類型,例如flex和grid
    2. 更清晰地指定影子樹的結(jié)構(gòu)。這應(yīng)該有助于與 Flexbox 和 CSS Grid 的互操作性
    3. 添加 ::details-content 偽元素來尋址第二個槽,以便在
      中添加“附加信息”的容器。元素可以設(shè)置樣式

    令人興奮的消息是上面列表中的第 1 項(xiàng)和第 3 項(xiàng)已在 Chrome 131 中發(fā)布(截至 2024 年 11 月)。下一階段應(yīng)該解決改進(jìn)標(biāo)記的樣式問題。此外,還有一組相關(guān)的更改將有助于提高這些元素的動畫能力。

    結(jié)論

    在 CSS 中自定義 HTML 元素變得更加容易。現(xiàn)在,您可以創(chuàng)建具有完整瀏覽器支持的專用組,將打開/關(guān)閉狀態(tài)的轉(zhuǎn)換動畫化為漸進(jìn)增強(qiáng),并執(zhí)行標(biāo)記的簡單樣式。

    的致命弱點(diǎn)是標(biāo)記的樣式。好消息是,有一個積極的提案可以解決這個問題和其他一些痛點(diǎn)。這應(yīng)該可以消除使用

    時的所有障礙。在不久的將來,您將不需要編寫自己的披露小部件或使用第三方 Web 組件! ?


    您的前端是否占用了用戶的 CPU?

    隨著 Web 前端變得越來越復(fù)雜,資源貪婪的功能對瀏覽器的要求越來越高。如果您有興趣監(jiān)控和跟蹤生產(chǎn)中所有用戶的客戶端 CPU 使用情況、內(nèi)存使用情況等,請嘗試 LogRocket。

    Styling HTML <details> 和 <summary> 使用現(xiàn)代 CSS

    LogRocket 就像網(wǎng)絡(luò)和移動應(yīng)用程序的 DVR,記錄網(wǎng)絡(luò)應(yīng)用程序、移動應(yīng)用程序或網(wǎng)站中發(fā)生的所有情況。您無需猜測問題發(fā)生的原因,而是可以匯總和報告關(guān)鍵前端性能指標(biāo)、重放用戶會話以及應(yīng)用程序狀態(tài)、記錄網(wǎng)絡(luò)請求并自動顯示所有錯誤。

    現(xiàn)代化調(diào)試 Web 和移動應(yīng)用程序的方式 - 開始免費(fèi)監(jiān)控。

  • 以上是使用現(xiàn)代 CSS 設(shè)計 HTML 和 的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

    本站聲明
    本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費(fèi)脫衣服圖片

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用于從照片中去除衣服的在線人工智能工具。

    Clothoff.io

    Clothoff.io

    AI脫衣機(jī)

    Video Face Swap

    Video Face Swap

    使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費(fèi)的代碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    功能強(qiáng)大的PHP集成開發(fā)環(huán)境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網(wǎng)頁開發(fā)工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級代碼編輯軟件(SublimeText3)

    什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

    CSS會阻塞頁面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合并CSS減少請求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

    外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

    thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

    CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

    cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

    什么是AutoPrefixer,它如何工作? 什么是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

    Autoprefixer是一個根據(jù)目標(biāo)瀏覽器范圍自動為CSS屬性添加廠商前綴的工具。1.它解決了手動維護(hù)前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項(xiàng)有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

    什么是圓錐級函數(shù)? 什么是圓錐級函數(shù)? Jul 01, 2025 am 01:16 AM

    theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

    CSS教程,用于創(chuàng)建粘性標(biāo)頭或頁腳 CSS教程,用于創(chuàng)建粘性標(biāo)頭或頁腳 Jul 02, 2025 am 01:04 AM

    TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

    CSS自定義屬性的范圍是什么? CSS自定義屬性的范圍是什么? Jun 25, 2025 am 12:16 AM

    CSS自定義屬性的作用域取決于其聲明的上下文,全局變量通常定義在:root中,而局部變量則定義在特定選擇器內(nèi),以便組件化和隔離樣式。例如,定義在.card類中的變量僅對匹配該類的元素及其子元素可用。最佳實(shí)踐包括:1.使用:root定義全局變量如主題色;2.在組件內(nèi)部定義局部變量以實(shí)現(xiàn)封裝;3.避免重復(fù)聲明同一變量;4.注意選擇器特異性可能引發(fā)的覆蓋問題。此外,CSS變量區(qū)分大小寫,且應(yīng)在使用前定義以避免錯誤。若變量未定義或引用失敗,則會采用回退值或默認(rèn)值initial。調(diào)試時可通過瀏覽器開發(fā)者工

    解鎖CSS動畫的潛力:深度潛水 解鎖CSS動畫的潛力:深度潛水 Jun 20, 2025 am 12:14 AM

    cssanimationsenhancewebpagesbyimprovinguserexperienceandsiteFunctionallity.1)usetransitionsforsmoothstylechanges,asinthebuttoncolorexample.2)losplyKeyKeyframesforeSfordEteTailEdAnimations.3)

    See all articles