實現div毛玻璃背景

来源:https://www.cnblogs.com/wwhhq/archive/2018/01/02/8179594.html
-Advertisement-
Play Games

毛玻璃效果 ios里毛玻璃效果的使用非常多,本文介紹一個實現div毛玻璃背景的方法 CSS3 Filter CSS3的Filter主要用在圖像的特效處理上,預設值為none,還有以下備選項:   1.grayscale灰度   2.sepia褐色   ...


毛玻璃效果

ios里毛玻璃效果的使用非常多,本文介紹一個實現div毛玻璃背景的方法

CSS3 Filter

CSS3的Filter主要用在圖像的特效處理上,預設值為none,還有以下備選項:

  1.grayscale灰度
  2.sepia褐色
  3.saturate飽和度
  4.hue-rotate色相旋轉
  5.invert反色
  6.opacity透明度
  7.brightness亮度
  8.contrast對比度
  9.blur模糊
  10.drop-shadow陰影
  每一種效果大家可以自己試試,考慮一下可以用在哪些方面,
  這裡僅僅用到了其中的blur,幫助實現高斯模糊的效果。
  相容性我試了一下最新的火狐和Chrome效果都是可以的,IE不用說了…

filter:blur()

參數預設是0,單位px,不接受%,參數值的大小表示屏幕上以多少像素融在一起, 所以值越大越模糊。

:before()

:before是css中的一種偽元素,可用於在某個元素之前插入某些內容。
用它來添加模糊背景,具體用法可以看我另外一篇?:before和:after

rgba()

毛玻璃背景上文字內容顯示效果並不理想,無論字體顏色深或淺,看著總是怪怪的…因此還需要加上一層帶色的半透明背景,一般是黑色,或白色。

示例:

整體通過三層重疊實現,
最下麵是模糊層.blur_box:before,設置z-index: -2。
中間是rgba層.rgba,設置z-index: -1。
最上面是內容層.blur_box,設置z-index: 0。
代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>毛玻璃效果</title>
</head>
<style>
*{
  margin: 0;
  padding: 0;
}
.bg{
  background:url(1.jpg) no-repeat center center fixed;/* 與下麵的blur_box:before中的background設置一樣 */
  width:100%;
  height:100%;
}
.blur_box{
  z-index: 0;/* 為不影響內容顯示必須為最高層 */
  position: relative;
  overflow: hidden;
}
.blur_box:before{
  content: "";/* 必須包括 */
  position: absolute;/* 固定模糊層位置 */
  width:300%;
  height:300%;
  left: -100%;/* 回調模糊層位置 */
  top: -100%;/* 回調模糊層位置 */
  background:url(1.jpg) no-repeat center center fixed;/* 與上面的bg中的background設置一樣 */
  filter: blur(20px);/* 值越大越模糊 */
  z-index: -2;/* 模糊層在最下麵 */
}
.rgba{
  background-color: rgba(0, 0, 0, 0.2);/* 為文字更好顯示,將背景顏色加深 */
  position: absolute;/* 固定半透明色層位置 */
  width:100%;
  height:100%;
  z-index: -1;/* 中間是rgba半透明色層 */
}
.content_text{
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  padding: 50px 30px;
  line-height: 28px;
}
article{
  width:40%;
  height:300px;
  margin:120px auto;
}
</style>
<body
  <div class="bg">
    <article class="blur_box">
      <div class="rgba"></div><!-- 寫在這其實和blur_box:before效果相同,但已經設置過blur_box:before了 -->
      <div class="content_text">
        <h1>haha</h1>
        <p>texttexttexttexttexttexttexttexttext</p>
        <p>texttexttexttexttexttexttexttexttext</p>
        <p>texttexttexttexttexttexttexttexttext</p>
        <p>texttexttexttexttexttexttexttexttext</p>
        <p>texttexttexttexttexttexttexttexttext</p>
        <p>texttexttexttexttexttexttexttexttext</p>
      </div>
    </article>
  </div>
</body>
</html>

註釋已經寫的很詳細了,但有一點還是得單獨說一下。因為blur()產生的模糊效果當值越大時,就會有越寬的邊緣漸變過渡,為了消除(實際上只是讓它看不見),我將模糊層的寬度和高度都變大,再通過top和left負值調整位置。

.blur_box:before{
  content: "";
  position: absolute;
  width:300%;/* 模糊層的寬度和高度都變大 */
  height:300%;
  left: -100%;/* 回調模糊層位置 */
  top: -100%;
  background:url(1.jpg) no-repeat center center fixed; 
  filter: blur(20px);
  z-index: -2;
}

其中.rgba也可改為白色半透明background-color: rgba(255,255,255,0.2);,完全取決於自己,然後相應改變內容的字色。blur()的參數也可以根據自己愛好試著改變出想要的效果。

http://hellopan.top/2017/10/31/%E5%AE%9E%E7%8E%B0div%E6%AF%9B%E7%8E%BB%E7%92%83%E8%83%8C%E6%99%AF/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在runtime.h中,你可以通過其中的一個方法來獲取實例變數,那就是class_copyIvarList方法 ...
  • ...
  • 2017年對我來說註定是不簡單的一個年份,有收穫有遺憾,收穫的是有了人生中第一份工作、在開源世界上有了自己更多的貢獻、閱讀了許多經典的書籍讓自己的知識的深度和廣度上了一個臺階、當然也結識了許多志同道合優秀的朋友、同時趁著自己大學時光的最後一年也出去走走看看;當然遺憾也不少,總感覺時間不夠用,也總感覺... ...
  • 正式開始跑編譯,依次解析,首先是: 流程圖如下: 這裡是第一個compilation事件註入的地方,註入代碼如下: 這裡的requestShortener為FunctionModulePlugin的第二個參數,沒有傳所以是undefined。 options.output為傳入的output參數,但 ...
  • 列舉一下常用的html標簽及用法,與大家共勉,歡迎補充! <!DOCTYPE> <!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位於 <html> 標簽之前。 <head> <head> 標簽放在文檔的開始處,緊跟<html> 後面,並處於 <body>標簽之前. <head> 標簽用於定 ...
  • 今天在用vue項目中,實現回到頂部功能的時候,我寫了一個backTop組件,接下來需要通過監聽window.scroll事件來控制這個組件顯示隱藏 因為可能會有其他的組件會用到這樣的邏輯,所以將此功能做成一個自定義指令: 根據滾動的距離控制一個數據為true還是為false(v scroll sho ...
  • 前言 Duang,Duang,Duang,博主又來分享插件了,這次是一個炫酷的網格摺疊動畫效果,其原理模擬紙板摺疊過程的動畫,頁面使用了大量CSS3屬性,具體效果請看演示頁面(建議使用新版谷歌、火狐瀏覽器觀看,對於ie9以下不支持CSS3屬性的瀏覽器不相容)。 博主個人建議:這個效果可以用於網站引導 ...
  • 最近用ofo小黃車App的時候,發現以前下方掃一掃變成了一個眼睛動的小黃人,覺得蠻有意思的,這裡用HTML5仿一下效果。 ofo眼睛效果 效果分析 從效果中不難看出,是使用陀螺儀事件實現的。 這裡先來看一下HTML5中陀螺儀事件的一些概念。 陀螺儀事件為deviceorientation,這裡主要獲 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...