<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          超期待的 3 個將推出的 CSS 特性!

          共 3331字,需瀏覽 7分鐘

           ·

          2022-08-24 23:00

          大家好,我是魚皮,今天給大家總結(jié)分享一下 3 個很 ???? 的即將推出的 CSS 屬性,等你看完,每一個都要喊絕了 !

          聲明一下:這些特性現(xiàn)在基本都不好使,就算有的高級瀏覽器支持了,也只是個例??梢云诖幌乱院?~

          一、@container

          @container 是一個容器查詢方法,正如它的名字一樣,它是用來支持根據(jù)當(dāng)前元素所在容器的大小來進(jìn)行動態(tài)修改添加樣式的,這跟 @media 基于視口大小是不一樣的。

          來舉個??

          先創(chuàng)建一個側(cè)邊欄和一個主內(nèi)容

          <body>
            <aside class="sidebar">
              <div class="card">
                <h4>側(cè)邊欄</h4>
                <p>
                  To the world you may be one person, but to one person you may be the world.
                </p>
              </div>
            </aside>
            <main class="content">
              <div class="card">
                <h4>主內(nèi)容</h4>
                <p>
                  To the world you may be one person, but to one person you may be the world.
                </p>
              </div>
            </main>
          </body>

          讓這兩個元素橫向布局,且側(cè)邊欄寬度占 30%,主內(nèi)容寬度占 70%

          body {
            display: flex;
            color: white;
          }

          h4 {
            color: black;
          }

          .sidebar {
            width30%;
          }

          .content {
            width70%;
            background#f0f5f9;  /* 給個底色,與側(cè)邊欄區(qū)分 */
          }

          .card {
            background: lightpink;
            box-shadow3px 10px 20px rgba(0000.2);
            border-radius8px;
          }

          目前為止是這樣的效果:

          現(xiàn)在我們發(fā)現(xiàn)主內(nèi)容這塊兒空間很富余,便想改變一下標(biāo)題和內(nèi)容文字的布局,此時就可以用上 @container 了,直接讓主內(nèi)容在當(dāng)前容器寬度大于 400px 時變成橫向布局

          @container (min-width: 400px) {
            .content .card {
              display: flex;
            }
          }

          此時效果如下:

          是不是很酷 ??

          基于這點,還想到了一個之前我做過的需求中很頭疼的需求,就是字體大小隨著容器寬高的改變而動態(tài)改變,如果支持了這個特性,那這個需求也就很簡單了

          二、object-view-box

          object-view-box 屬性就類似于 SVG 中的 viewBox 屬性。它允許您使用一行 CSS 來平移縮放、裁剪 圖像。

          我們就對這張圖來動動刀子

          加一行代碼

          .crop {
            object-view-boxinset(10% 50% 35% 5%);
          }

          實現(xiàn)的效果就是這樣:

          跟原圖對比一下就是這樣:

          除了簡單的裁剪,我們還能基于它實現(xiàn)一些好玩的效果,例如:

          三、animation-timeline

          animation-timeline 相比前兩個就更好玩了!它允許我們基于容器滾動的進(jìn)度來對動畫進(jìn)行處理,簡而言之就是頁面滾動了百分之多少,動畫就執(zhí)行百分之多少。而且動畫也能根據(jù)頁面倒著滾動而倒著播放

          .shoes {
            animation-name: Rotate;
            animation-duration1s
            animation-timeline: scrollTimeline;
          }

          @scroll-timeline scrollTimeline {
            sourceselector('#container');
            orientation: "vertical";
          }

          @keyframes Rotate {
            from {
              transformtranslate(-200px, -200pxrotate(0deg);
            }

            to {
              transformtranslate(100vw100vhrotate(720deg);
            }
          }

          使用起來很簡單,就是在本身的基礎(chǔ)動畫上,新增一個 animation-timeline 屬性即可,我們也可以對這個 timeline 定義是基于哪個容器,滾動方向是水平還是豎直

          大致效果就是:

          最后

          這三個 CSS 新特性,你們最喜歡哪個?有沒有想到一些比較實用的場景,歡迎在評論區(qū)分享~


          歡迎加入 魚皮的編程知識星球(點擊了解詳情),帶你一起學(xué)編程做項目,想加入的同學(xué)可添加魚皮微信 yupi5927 備注【想加星球】,無備注不通過,非誠勿擾謝謝。



          往期推薦

          服了!JAVA 中簡單的 for 循環(huán)這么坑。。。

          我用了 6 年,告訴你怎么學(xué)好 Java

          MySQL 優(yōu)化居然有這么多技巧?

          IDEA 防沉迷插件刷爆,誰再卷就給他裝上 !

          緩存穿透該怎么解決? 回懵面試官


          瀏覽 86
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  老司机久久一区二区三区 | 国产性爱无码 | 40岁女人毛片 | 青青草精品拍拍 | 一级黄网站|