css毛玻璃效果(外加background屬性)

fondtiger發表於2021-09-09

前因:

圖片描述

後果,二話不說,上效果:

圖片描述

注意:此方法只適合body設定背景圖時的模糊。

頁面佈局方面,主要父元素為body,子元素為想要的效果,涉及到的知識點:background、filter、定位、偽元素、flex佈局(主要為子元素水平居中使用)、z-index=-1也是很重要的一個點。

  1. background

    簡單粗暴()

    background: url('./timg1.jpg') no-repeat center fixed;

    分別對應:背景圖片地址、平鋪效果、滾動、位置

    同時也要標註背景圖片尺寸background-size

    background-size: cover;

    上圖:

    圖片描述

  2. filter

    blur(px) 給影像設定高斯模糊。

    附上Filter函式的地址

  3. 定位

    常說的一句話“子絕父相”

  4. 偽元素

    佈局中用了很多偽元素

    圖片描述

  5. z-index=-1,透過設定使父元素內容在內容下面

程式碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>毛玻璃效果</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body,
        .item::before {
            background: url('./timg1.jpg') no-repeat center fixed;
            background-size: cover;
        }
        body {
            height: 100vh;
            width: 100vw;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .item {
            position: relative;
            width: auto;
            height: auto;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 0 5px 1px #fff;
            color: #fff;
            font-size: 15px;
            font-weight: lighter;
            line-height: 35px;
            overflow: hidden;
        }
        .item::before {
            content: '';
            display: block;
            position: absolute;
            z-index: -1;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: -20px;
            filter: blur(10px);
            /* blur(px) 給影像設定高斯模糊。"radius"一值設定高斯函式的標準差,
            或者是螢幕上以多少畫素融在一起, 所以值越大越模糊;
            如果沒有設定值,則預設是0;這個引數可設定css長度值,但不接受百分比值。 */
        }
    </style>
</head>
<body>
    <div class="item">
        <p>
            沒有什麼比時間更具有說服力了,<br>
            因為時間無需通知我們就可以改變一切。<br>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            ——《活著》<br>
        </p>
    </div>
</body>
</html>

若有不正確的地方請各位大佬指出,更多內容請參考:



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2508/viewspace-2824273/,如需轉載,請註明出處,否則將追究法律責任。

相關文章