Home Web Front-end CSS Tutorial Tips and methods to use CSS to achieve image masking effects

Tips and methods to use CSS to achieve image masking effects

Oct 20, 2023 am 09:33 AM
css special effects Image mask

Tips and methods to use CSS to achieve image masking effects

Techniques and methods of using CSS to achieve image masking effects

In web design, adding some special effects to images can improve the user's browsing experience. Among them, the picture mask effect is a common and attractive effect that can add a sense of mystery and beauty to the picture. This article will introduce the techniques and methods of using CSS to achieve image masking effects, and provide specific code examples for reference.

1. Use CSS pseudo elements to achieve image masking effects

In CSS, you can use pseudo elements to add a mask layer and add special effects to it. The following is a basic code example:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<style>

    .image-wrapper {

        position: relative;

        display: inline-block;

    }

     

    .image-wrapper::before {

        content: "";

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        background: rgba(0, 0, 0, 0.5); /* 半透明黑色遮罩层 */

        opacity: 0;

        transition: opacity 0.5s ease; /* 过渡效果 */

    }

     

    .image-wrapper:hover::before {

        opacity: 1;

    }

</style>

 

<div class="image-wrapper">

    <img src="/static/imghw/default1.png"  data-src="image.jpg"  class="lazy" alt="图片">

</div>

Copy after login

In the above code, .image-wrapper is the outer div container, and .image-wrapper::before is Is a pseudo element used to add a mask layer. When initialized, the transparency of the mask layer is set to 0, and a transition effect is set. When the mouse is hovering over the image, the transparency of the mask layer is set to 1 through the pseudo-class selector :hover to achieve a gradient mask effect.

2. Use CSS blending modes to achieve image masking effects

In addition to using pseudo elements, you can also use CSS blending modes to achieve image masking effects. Here is an example:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<style>

    .image-wrapper {

        position: relative;

        display: inline-block;

    }

     

    .image-wrapper::before {

        content: "";

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        background: url(mask.png); /* 遮罩层图片 */

        mix-blend-mode: multiply; /* 混合模式,可根据需要调整 */

    }

</style>

 

<div class="image-wrapper">

    <img src="/static/imghw/default1.png"  data-src="image.jpg"  class="lazy" alt="图片">

</div>

Copy after login

In the above code, .image-wrapper remains unchanged, while the background of .image-wrapper::before is set to a mask layer picture. By setting the mix-blend-mode attribute to multiply, the foreground color and background color can be mixed and calculated to achieve a masking effect. It’s important to note that blending modes can be adjusted based on specific needs to achieve the desired effect.

3. Use CSS filters to achieve image masking effects

Another way to achieve image masking effects is to use the filter characteristics of CSS. The following is an example:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<style>

    .image-wrapper {

        position: relative;

        display: inline-block;

    }

     

    .image-wrapper:after {

        content: "";

        position: absolute;

        top: 0;

        left: 0;

        width: 100%;

        height: 100%;

        background: rgba(0, 0, 0, 0.5); /* 半透明黑色遮罩层 */

        opacity: 0;

        transition: opacity 0.5s ease; /* 过渡效果 */

    }

     

    .image-wrapper:hover:after {

        opacity: 1;

    }

     

    .image-wrapper img {

        filter: grayscale(100%); /* 将图片灰度化 */

        transition: filter 0.5s ease; /* 过渡效果 */

    }

     

    .image-wrapper:hover img {

        filter: none;

    }

</style>

 

<div class="image-wrapper">

    <img src="/static/imghw/default1.png"  data-src="image.jpg"  class="lazy" alt="图片">

</div>

Copy after login

In the above code, a translucent black mask layer is added using the :after pseudo element, and the mask is controlled through the opacity attribute The transparency of the overlay. When the mouse is hovering, set the transparency of the mask layer to 1 through the :hover pseudo-class selector. In addition, in order to achieve special effects of the image, the grayscale() filter is used to grayscale the image, and the filter attribute and transition effect are used to cancel the effect when the mouse is hovered.

Summary:

Using CSS to achieve image masking effects is a simple and effective way, which can add some special effects to web design. This article introduces the method of using pseudo elements, blending modes, and filter characteristics to achieve image masking effects, and provides corresponding code examples. Readers can select and adjust according to specific needs to design unique web page effects.

The above is the detailed content of Tips and methods to use CSS to achieve image masking effects. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What does placeholder mean in vue What does placeholder mean in vue May 07, 2024 am 09:57 AM

What does placeholder mean in vue

How to write spaces in vue How to write spaces in vue Apr 30, 2024 am 05:42 AM

How to write spaces in vue

How to get dom in vue How to get dom in vue Apr 30, 2024 am 05:36 AM

How to get dom in vue

What does span mean in js What does span mean in js May 06, 2024 am 11:42 AM

What does span mean in js

What does rem mean in js What does rem mean in js May 06, 2024 am 11:30 AM

What does rem mean in js

How to introduce images into vue How to introduce images into vue May 02, 2024 pm 10:48 PM

How to introduce images into vue

What is the function of span tag What is the function of span tag Apr 30, 2024 pm 01:54 PM

What is the function of span tag

What language is the browser plug-in written in? What language is the browser plug-in written in? May 08, 2024 pm 09:36 PM

What language is the browser plug-in written in?

See all articles