亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用css中:after偽元素實現背景圖片疊加層的方法

發布時間:2020-08-31 11:03:41 來源:億速云 閱讀:1218 作者:小新 欄目:web開發

小編給大家分享一下使用css中:after偽元素實現背景圖片疊加層的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

0在網頁設計中我們發現越來越多的文本會放在圖像之上,通常情況下,這不太好操作,因為圖像具有動態顏色和光照,文本大部分是一種顏色。這通常對于可讀性和可訪問性的不太有利的,可能會讓文本看起來不太清楚。

這意味著如果我們想要在圖像和文本之間引入疊加層,那么有時這會使背景圖像變暗以便于閱讀。我們都需要一種簡單的CSS技術來引入這種疊加。(推薦課程:css3視頻教程)

由于我不想為修飾引入新標記,我們將使用CSS ::after偽元素。

我們可以通過以下過程來實現。

1、為你所需要的區域創建最簡單的HTML

2、使用::before或::after元素創建背景圖

3、使用z-index修改絕對定位導致的問題

4、可以嘗試使用mix-blend-mode實現一些有趣的效果

第1步:你需要的是沒有任何多余標記的背景圖

在背景圖中,我們真正想要的只是背景圖作為容器以及背景圖需要包含的任何內容。

<section class="banner">
    <h2>Hello World</h2>
</section>

使用css中:after偽元素實現背景圖片疊加層的方法

在這個例子中,我們只使用一個section容器和一個<h2>。如果您添加了更多內容,它可能是同級元素,<h2>或者您可以將所有內容放在某種內容容器中進行隨意定位。

這里有一個小“魔法”,可以增加背景圖的高度以及文本的中心位置。這對于本篇內容境界并不重要,但是如果你很好奇,可以自己試一試。

第2步:使用:: after動態添加疊加元素

CSS為我們提供的::before和::after元素有強大的功能,用于向不該影響標記的頁面添加樣式內容。

通過應用::before或::after元素,您可以在選定元素子元素之前或之后將動態元素插入DOM。

一個重要的注意事項是,所有偽元素都需要content顯示CSS屬性。雖然在我們的例子中,content只是一個空白字符串。

.banner::after {
    content: ""; // ::before and ::after both require content
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(120deg, #eaee44, #33d0ff);
    opacity: .7;}

使用css中:after偽元素實現背景圖片疊加層的方法

現在我們有一個全寬和高的元素。為此,我們使用絕對定位,因為我們不希望影響文檔的內容流。

我們利用opacity屬性使疊加層略微透明。

在這個例子中,我選擇了漸變的效果,但你可以使用簡單的背景顏色甚至是另一個圖像來疊加。

3、使用z-index修改絕對定位導致的問題

仔細觀察就會注意到這個例子中的某些東西并不完全正確。我們的疊加不僅涵蓋背景圖像,還涵蓋背景圖中的文字。

通過使用絕對定位,我們實際上是將疊加層放在背景圖的堆疊上下文之上。要解決此問題,疊加層和內容需要用z-index來修改。我通常給背景圖疊加1和內容疊加100。

.banner::after {
    ...
    z-index: 1;
}
.banner > * {
    z-index: 100;
}

有了它,我們有一個完成的疊加。

使用css中:after偽元素實現背景圖片疊加層的方法

4、可以嘗試使用mix-blend-mode實現一些其他的效果

比如向下面這樣將多個元素混合在一起!

.banner::after {
    /* opacity: .7; */
    mix-blend-mode: color;
    mix-blend-mode: hue;
    mix-blend-mode: hard-light;}

5、源碼

HTML:

<section class="banner">
    <h2>Hello World</h2>
</section>

CSS:

.banner:after {
    content: "";  // :before and :after both require content
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(120deg,#eaee44,#33d0ff);
    background-color: #333;
    opacity: .7;
    // mix-blend-mode: color;
    // mix-blend-mode: hard-light;
    // mix-blend-mode: hue;
}

.banner > * {
    z-index: 100;
}
.banner {
    position: relative;
    min-height: 60vh;
    background-image: url(https://images.unsplash.com/photo-1509473332032-f1ce823d92c4?ixlib=rb-0.3.5&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjE0NTg5fQ&s=3e2410208e8f8a78e4aa3550fddfbb44);
    background-size: cover;
    display: flex;
  
}
h2 {
    margin: auto;  
}
body {
    margin: 10px;
}

看完了這篇文章,相信你對使用css中:after偽元素實現背景圖片疊加層的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汤阴县| 吉安市| 湖南省| 东莞市| 沙湾县| 乌苏市| 普格县| 石门县| 乌兰浩特市| 浑源县| 岳阳县| 盈江县| 虹口区| 延川县| 晋中市| 全南县| 汶川县| 上林县| 南宁市| 沙坪坝区| 庆城县| 同仁县| 通州区| 四平市| 白城市| 广昌县| 大渡口区| 德化县| 昌邑市| 石河子市| 福贡县| 远安县| 灌云县| 阜平县| 保靖县| 鄂托克前旗| 宣化县| 岑巩县| 巢湖市| 曲松县| 延庆县|