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

首頁 web前端 css教學(xué) 用純CSS實(shí)施'顯示更多/更少”功能

用純CSS實(shí)施'顯示更多/更少”功能

Feb 24, 2025 am 09:24 AM

Implementing

>現(xiàn)代網(wǎng)絡(luò)開發(fā)通常利用CSS創(chuàng)建動(dòng)態(tài)元素,例如滑塊,模態(tài)和工具提示,從而最大程度地減少JavaScript Reliance。本文展示了實(shí)現(xiàn)“顯示更多/更少”功能的純CSS方法,甚至創(chuàng)建了功能性手風(fēng)琴風(fēng)格的示例。 我們將探索技術(shù),潛在問題和解決方案。 此處省略了可訪問性注意事項(xiàng),但是未來改進(jìn)的關(guān)鍵方面。

密鑰概念:

此CSS僅“顯示更多/不顯示”依賴於“ Checkbox Hack”和同胞選擇器。 HTML結(jié)構(gòu)使用無序列表;最後一項(xiàng)包含隱藏的複選框及其標(biāo)籤。嵌套的無序列表保留要顯示/隱藏的內(nèi)容。

>和max-heightcss屬性控制光滑的揭示/隱藏。 可能存在瀏覽器不一致;例如,光標(biāo)行為在瀏覽器中可能有所不同。 transition

基本CSS知識(shí): 理解以下內(nèi)容至關(guān)重要:

<ul>一般的同級(jí)選擇器(
  • :選擇所有兄弟姐妹遵循指定元素。 > ~
  • 相鄰的同胞選擇器(
  • :選擇立即在同胞之後。 > >
  • >複選框hack
  • :使用複選框的檢查狀態(tài)觸發(fā)CSS更改。
  • codepen演示(輸入中未提供的鏈接)提供了這些技術(shù)的交互式示例。 >

    html結(jié)構(gòu):

    基本的HTML結(jié)構(gòu)是(從原來簡(jiǎn)化):

    造型複選框容器:

    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li class="container">
        <input type="checkbox" id="showHide">
        <label for="showHide"></label>
        <ul>
          <li>Hidden Item 1</li>
          <li>Hidden Item 2</li>
        </ul>
      </li>
    </ul>
    >

    樣式位置標(biāo)籤並隱藏複選框:>

    使用偽元素(

    > and.container)來處理標(biāo)籤的內(nèi)容(“更多”或“更少”)和動(dòng)畫。

    .container {
      position: relative;
      height: auto;
    }
    
    [type="checkbox"] {
      position: absolute;
      left: -9999px;
    }
    
    label {
      background: #e4e3df;
      display: block;
      width: 100%;
      height: 50px;
      cursor: pointer;
      position: absolute;
      top: 0;
    }
    最初隱藏嵌套的

    與CSS:::before::after

    label:before,
    label:after {
      position: absolute;
    }
    
    /* ... (styles for :before and :after based on checked state) ... */

    <ul>複選框的檢查狀態(tài)顯示隱藏的內(nèi)容:

    [type="checkbox"] ~ ul {
      display: none;
    }

    選中標(biāo)籤的位置和內(nèi)容:> onclick codepen演示(鏈接省略)展示此基本切換效果。 >

    添加平滑的過渡:

    [type="checkbox"]:checked ~ ul {
      display: block;
    }

    對(duì)於平滑的過渡,使用

    >和
    [type="checkbox"]:checked + label {
      top: 100%;
    }
    
    /* ... (styles for :before and :after when checked) ... */

    >

    標(biāo)籤的過渡也已更新:

    codepen演示(省略鏈接)演示了改進(jìn)的,更順暢的過渡。

    max-height transition瀏覽器注意事項(xiàng):

    [type="checkbox"] ~ ul {
      overflow: hidden;
      max-height: 0;
      transition: max-height .45s cubic-bezier(.44,.99,.48,1);
    }
    
    [type="checkbox"]:checked ~ ul {
      max-height: 300px; /* Or a calculated height */
    }
    請(qǐng)注意,光標(biāo)行為在瀏覽器之間可能不一致(尤其是與過渡)。

    結(jié)論:
    label {
      transition: top .45s cubic-bezier(.44,.99,.48,1);
    }

    >本文展示了一種功能強(qiáng)大的僅使用CSS的方法,用於“顯示更多/不顯示”功能。 儘管存在局限性(主要是瀏覽器不一致,並且需要預(yù)定的max-height),但該技術(shù)為許多情況提供了乾淨(jìng)的,無JavaScript的解決方案。 請(qǐng)記住,在構(gòu)建交互式組件時(shí)始終優(yōu)先考慮可訪問性。

    >

    以上是用純CSS實(shí)施'顯示更多/更少”功能的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

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

    熱AI工具

    Undress AI Tool

    Undress AI Tool

    免費(fèi)脫衣圖片

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Clothoff.io

    Clothoff.io

    AI脫衣器

    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版

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

    如何僅在某些頁面上包括CSS? 如何僅在某些頁面上包括CSS? Jun 11, 2025 am 12:01 AM

    選擇性包含CSS在特定頁面上的方法有三種:1.內(nèi)聯(lián)CSS,適用於不常訪問或需要獨(dú)特樣式的頁面;2.使用JavaScript條件加載外部CSS文件,適合需要靈活性的情況;3.服務(wù)器端包含,適用於使用服務(wù)器端語言的場(chǎng)景。這種方法可以優(yōu)化網(wǎng)站性能和可維護(hù)性,但需平衡模塊化與性能。

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

    CSS會(huì)阻塞頁面渲染是因?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減少請(qǐng)求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

    如何在無花果中使用Lotties 如何在無花果中使用Lotties Jun 14, 2025 am 10:17 AM

    在接下來的教程中,我將向您展示如何在無花果中創(chuàng)建Lottie動(dòng)畫。我們將使用兩種彩色設(shè)計(jì)來超越如何在無花果上進(jìn)行動(dòng)畫,然後向您展示如何從Figma到Lottie動(dòng)畫。您只需要免費(fèi)無花果

    打破邊界:用(s)CSS構(gòu)建湯姆拼圖 打破邊界:用(s)CSS構(gòu)建湯姆拼圖 Jun 13, 2025 am 11:33 AM

    我們對(duì)其進(jìn)行了測(cè)試,事實(shí)證明,至少在低級(jí)邏輯和拼圖行為時(shí),Sass可以替換JavaScript。除了地圖,混音,功能和大量數(shù)學(xué)外,我們都設(shè)法使我們的Tangram難題栩栩如生,沒有J

    外部與內(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 19, 2025 am 12:29 AM

    否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進(jìn)性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

    CSS計(jì)數(shù)器:一個(gè)逐步教程,示例 CSS計(jì)數(shù)器:一個(gè)逐步教程,示例 Jun 12, 2025 am 10:31 AM

    CSSCounters是一種用於創(chuàng)建自動(dòng)編號(hào)的工具。 1.基本用法:通過counter-reset和counter-increment定義和操作計(jì)數(shù)器,如在h2前顯示"SectionX."。 2.高級(jí)用法:使用嵌套計(jì)數(shù)器創(chuàng)建複雜編號(hào),如章節(jié)和小節(jié)編號(hào)。 3.注意事項(xiàng):確保正確重置計(jì)數(shù)器,優(yōu)化性能,簡(jiǎn)化計(jì)數(shù)器邏輯。 4.最佳實(shí)踐:命名清晰,在CSS中定義計(jì)數(shù)器,合理使用counter-increment和counter-reset。

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

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

    See all articles