Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本在线视频网,自愉自愉自产国产91,精品国产免费第一区二区三区日韩

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS 實現弧形卡片的 3 種方式

          CSS實現弧形卡片的3種方式:打造優雅的現代網頁設計

          **導語:** 在網頁設計中,弧形元素以其柔和而富有動態感的設計深受青睞,尤其在卡片設計上,弧形邊緣能賦予其獨特的視覺效果。本文將詳細介紹利用CSS創建弧形卡片的3種不同方法,包括但不限于CSS border-radius、clip-path及mask屬性,讓您的網頁更具吸引力。下面我們將通過實戰代碼演示每種方法的具體應用。

          ---

          ### **一、基礎方法:border-radius 弧度控制**

          **簡介:**

          `border-radius` 是最常見且兼容性最好的創建圓角或弧形卡片的方式,適用于創建簡單弧形邊角的卡片設計。

          ```html

          <div class="card-rounded">

          <!-- 卡片內容 -->

          </div>

          ```

          ```css

          .card-rounded {

          background-color: #f5f5f5;

          width: 200px;

          height: 100px;

          border-radius: 20px; /* 可根據需要調整數值 */

          overflow: hidden;

          }

          ```

          上述代碼將創建一個具有弧形邊角的卡片。通過調整 `border-radius` 的值,您可以創建出不同程度的弧形效果,但請注意,這種方法無法創建非對稱或復雜弧形。

          ---

          ### **二、進階技巧:clip-path 實現自由形狀**

          **介紹:**

          `clip-path` 屬性允許我們創建任意形狀的裁剪區域,從而實現更為復雜和定制化的弧形卡片設計。

          ```html

          <div class="card-clip-path">

          <!-- 卡片內容 -->

          </div>

          ```

          ```css

          .card-clip-path {

          background-color: #f5f5f5;

          width: 200px;

          height: 100px;

          -webkit-clip-path: circle(50% at right 50%);

          clip-path: circle(50% at right 50%);

          }

          ```

          上述代碼創建了一個右半部分呈弧形的卡片。`clip-path` 提供了更多創造性可能,可以創建橢圓、多邊形甚至路徑裁剪等多種弧形效果。然而需要注意的是,`clip-path` 的瀏覽器兼容性不如 `border-radius` 理想。

          ---

          ### **三、創新方案:CSS Masks 打造靈活曲線**

          **原理:**

          CSS Masks 可以通過 `mask-image` 或 `mask-shape` 屬性為元素添加遮罩,同樣可以用來創建弧形卡片效果。

          ```html

          <div class="card-mask">

          <!-- 卡片內容 -->

          </div>

          ```

          ```css

          .card-mask {

          background-color: #f5f5f5;

          width: 200px;

          height: 100px;

          -webkit-mask-image: radial-gradient(circle, transparent 50%, white 51%);

          mask-image: radial-gradient(circle, transparent 50%, white 51%);

          }

          ```

          以上代碼利用徑向漸變作為遮罩,實現了卡片頂部弧形邊緣的效果。CSS Masks 具有高度靈活性,可以用于創建更復雜的形狀,但它的瀏覽器兼容性也相對有限。

          ---

          ### **結論與比較**

          - **border-radius** 方法最為簡單易用且兼容性最好,適合日常項目和快速原型設計;

          - **clip-path** 提供了更豐富的形狀裁剪能力,適合需要突破常規、追求獨特視覺效果的場景;

          - **CSS Masks** 能夠創建基于圖像或者漸變的復雜蒙版效果,適用范圍較廣,但需要注意舊版本瀏覽器的支持情況。

          選擇何種方式實現弧形卡片取決于項目的實際需求和兼容性要求。通過巧妙運用這些CSS特性,您可以輕松打造出別具一格的弧形卡片設計,增添網站的視覺吸引力。

          ---

          **補充實踐案例:**

          對于一些高級應用場景,您還可以結合以上技術,比如使用CSS Grid布局和Flexbox進行容器布局,同時利用CSS變量和媒體查詢適應不同屏幕尺寸,讓弧形卡片設計更加靈活和響應式。

          切記,在實際開發過程中,務必關注瀏覽器兼容性問題,必要時借助PostCSS、Autoprefixer等工具增強跨瀏覽器兼容性。同時,保持對新興CSS特性的關注,與時俱進地更新您的設計與開發技術棧。

          內容首發于工粽號:程序員大澈,每日分享一段優質代碼片段,歡迎關注和投稿!

          大家好,我是大澈!

          本文約 1400+ 字,整篇閱讀約需 2 分鐘。

          今天分享一段優質 CSS 代碼片段,讓文本和背景色混合產生一種獨特的效果,就像下圖這種。

          老規矩,先閱讀代碼片段并思考,再看代碼解析再思考,最后評論區留下你的見解!

          <div class="banner">
              <h1 class="title">每日分享一段優質代碼片段,歡迎關注與投稿!</h1>
          </div>
          
          .banner {
              height: 230px;
              background-image: url(./img/banner.png);
              background-repeat: no-repeat;
              background-size: 100% 230px;
              line-height: 230px;
              text-align: center;
          }
          .title {
              margin: 0;
              color: #fff;
              font-size: 50px;
              /* 關鍵點 */
              mix-blend-mode: difference; 
          }


          分享原因

          這段代碼展示了如何使用 CSS 和 HTML 創建一個帶有背景圖片和標題文本的橫幅(banner),并且通過 mix-blend-mode: difference; 為標題文本添加混合模式效果。

          mix-blend-mode 屬性可以為元素設置混合模式,使其顏色與背景顏色混合,從而創建有趣的視覺效果。

          這個效果在設計中很常見,能增加頁面的視覺吸引力,強調和突出文本內容。

          代碼解析

          1. banner 類

          設置背景元素基礎樣式。

          定義背景圖片,以及讓文本垂直水平居中對齊。

          2. mix-blend-mode: difference;

          這是一個關鍵設置。

          使用了 mix-blend-mode: difference; ,這意味著標題文字的顏色將與其父元素(.banner)的背景顏色進行差值計算,產生類似于反相的效果。

          在這種情況下,由于父元素(.banner)的背景是白色,而文字原本的顏色是白色,通過差值計算后,文字顏色就變成了黑色,從而讓白色文字在白色背景上也能夠顯示。

          3. mix-blend-mode 屬性詳解

          mix-blend-mode CSS 屬性描述了元素的內容應該與其直系父元素的內容和元素的背景如何混合。

          它允許創建各種視覺效果,例如半透明效果、陰影、圖片蒙版等。

          以下是兼容性

          以下是一些常見的屬性值

          normal:這是默認值,使用正常的顏色混合模式,不產生特殊混合效果。

          multiply:將兩個顏色的值相乘,會得到一個更暗的顏色,常用于創建陰影效果。

          screen:將兩個顏色的值相加,然后減去相乘的值,會得到一個更亮的顏色,可用于創建高光效果。

          overlay:根據背景顏色的亮度來選擇顏色混合模式。如果背景顏色較暗,則使用 multiply 模式;如果背景顏色較亮,則使用 screen 模式。

          darken:將兩個顏色的值進行比較,使用較暗的那個顏色。

          lighten:與 darken 相反,使用較亮的那個顏色。

          color-dodge:將前景色分解為 RGB 分量,并將每個分量分別除以(1 減去背景色的對應分量),然后將每個分量限制在 0 到 1 之間,并使用限制后的前景色作為混合色。這種模式會使顏色變亮。

          color-burn:將前景色分解為 RGB 分量,并將每個分量分別除以背景色的對應分量,然后將每個分量限制在 0 到 1 之間,并使用限制后的前景色作為混合色。它會使顏色變暗。

          difference:將前景色減去背景色的值,并取絕對值,會導致一種反相的效果。

          exclusion:將前景色和背景色的值相加,然后減去相乘的值的兩倍,常用于創建反相效果,但其對比度比 difference 更低,顏色更柔和。

          hue:將前景色的色相(hue)與背景色的飽和度(saturation)和亮度(lightness)混合,可在不改變亮度和飽和度的情況下改變顏色。

          saturation:將前景色的飽和度與背景色的色相和亮度混合,用于在不改變顏色的情況下改變飽和度。

          color:將前景色的色相、飽和度和亮度與背景色混合,會在改變所有顏色屬性的情況下改變前景色的顏色。

          luminosity:將前景色的亮度與背景色的色相和飽和度混合,可在不改變顏色的情況下改變亮度。

          通常,我們為div盒子或者圖片設置陰影使用 box-shadow 屬性,代碼如下:

          box-shadow: 10px 10px 10px gray;

          問題拋出

          使用 box-shadow 屬性 給div盒子設置陰影倒還好,如果用在透明的圖片上,陰影會變成方形的,讓其看起來像添加了一個邊框一樣。

          解決方法

          我們可以通過css的另一種參數,為透明png實現基于透明圖片的陰影效果,效果如下圖,左側是 box-shadow ,右側 drop-shadow 。

          drop-shadow()說明:

          drop-shadow() 是CSS中用于為圖像或文本添加陰影效果的一個函數,?它屬于 filter 屬性的一部分。?這個函數允許你為元素創建陰影,?而不需要考慮元素的形狀或邊界框。?與 box-shadow 不同,?drop-shadow 可以應用于非矩形形狀,?如透明的PNG或SVG圖像,?它使用元素的Alpha蒙版來決定陰影的形狀。?這意味著,?即使元素沒有背景,drop-shadow 也能為圖像的非透明部分創建陰影。?

          drop-shadow()語法如下:

          filter: drop-shadow( offset-x offset-y blur-radius spread-radius color )

          drop-shadow()參數說明如下:

          • offset-x:該參數設置圖像的水平偏移量。正值創建右側偏移,負值創建左側偏移。
          • offset-y:此參數設置圖像的垂直偏移量。正值創建到底部的偏移量,負值創建到頂部的偏移量。
          • blur-radius:設置模糊半徑的值。它是一個可選參數。
          • spread-radius:設置傳播半徑的值。它是一個可選參數。
          • color:設置投影的顏色。它的可選參數。

          演示代碼如下:

          <!DOCTYPE html>
          <html lang="en">
          <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Document</title>
            <style>
              .img_box .left_img{
                box-shadow: 10px 10px 10px gray;
              }
              .img_box .right_img{
                filter: drop-shadow(2px 4px 8px rgb(225, 170, 170));
              }
            </style>
          </head>
          <body>
          
            <div class="img_box">
              <img class="left_img" src="./lihua.png" />
              <img class="right_img" src="./lihua.png" />
            </div>
            
          </body>
          </html>

          總結

          盡管有很好的支持,但 drop-shadow 濾鏡仍然沒有得到充分的利用。我希望這篇文章強調了一些使用 box-shadow的 情況,也許你可以在你的下一個項目中使用它!


          主站蜘蛛池模板: 亚洲熟妇无码一区二区三区| 精品国产一区二区三区久久狼| 国产精品无码一区二区三区电影| 亚洲av无码一区二区三区不卡| 国产精品分类视频分类一区 | 久久久国产精品亚洲一区 | 国产第一区二区三区在线观看| 高清一区高清二区视频| 国产亚洲无线码一区二区| 国产伦精品一区二区三区视频小说| 国产剧情国产精品一区| 精品国产天堂综合一区在线| 人妻天天爽夜夜爽一区二区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲日本中文字幕一区二区三区| 无码一区18禁3D| 亚洲视频在线一区二区三区| 国产AV一区二区三区传媒| 欧洲无码一区二区三区在线观看| 国产亚洲自拍一区| 亚洲日本一区二区三区在线不卡| 色一情一乱一伦一区二区三区| 偷拍激情视频一区二区三区| 午夜福利无码一区二区| 国产精品视频无圣光一区| 成人国产精品一区二区网站公司| 日韩一区二区在线免费观看| 亚洲国产精品一区二区九九| 插我一区二区在线观看| 奇米精品一区二区三区在| 久久精品无码一区二区无码| 怡红院一区二区在线观看| 综合激情区视频一区视频二区| 无码人妻久久一区二区三区蜜桃| AV怡红院一区二区三区| 激情内射亚洲一区二区三区爱妻| 国产小仙女视频一区二区三区| 波多野结衣一区二区三区aV高清| 日韩AV无码久久一区二区| 一区二区三区四区视频在线| 国产免费一区二区三区|