front endcss3,filter can not only achieve the gray effect of web pages, but also assist in achieving the night mode effect. Let’s see how to implement it! Introduction to filter propertiesfilter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url(); Tip: Use spaces to separate multiple filters. Website gray effectThis effects blog was first created when I was summarizing the commonly used CSS effects. It can be easily achieved with the following code! The code is as follows: html { filter: grayscale(100%); //IE browser-webkit-filter: grayscale(100%); //Google browser-moz-filter: grayscale(100%); //Firefox-ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(1); // Google Chrome} Compared with the gray effect, the night mode is a little more difficult to achieve! Night mode judgment If it is pure web, you can use the prefers-color-scheme query statement in modern browsers. The syntax is as follows:
For example: /* Dark mode */ @media (prefers-color-scheme: dark) { body { background: #333; color: white; } } /* Light mode */ @media (prefers-color-scheme: light) { body { background: white; color: #333; } } If you need to determine the system's dark or light theme in JavaScript code, you can use the native window.matchMedia() method, for example: // Whether to support dark mode // Return true or false window.matchMedia("(prefers-color-scheme: dark)").matches; Night Mode Codehtml { filter: invert(1) hue-rotate(.5turn); } After that, the picture will be reversed, which is very ugly. img { filter: invert(1) hue-rotate(.5turn); } Add another layer to the picture, and it will be right side up, so the pure picture will be fine Therefore, the combination can be set up like this: html, img { filter: invert(1) hue-rotate(.5turn); } img { opacity: .75; } But there is a problem with the background image and the black shadow. For the background image, you can set it as follows: @media (prefers-color-scheme: dark) { html, img { filter: invert(1) hue-rotate(180deg); } .bgfilter{ filter: invert(1) hue-rotate(180deg); } .some-ele-box { box-shadow: none; } } questionThe above settings are only for light backgrounds, and will not work for no background or transparent backgrounds. In addition, special processing is required for each style. For example, you can use the filter as a global variable to perfectly match the night mode. For example: @media (prefers-color-scheme: dark) { html { filter:invert(1) hue-rotate(180deg) } .dark-img,img { filter: invert(1) hue-rotate(180deg) } // Special processing for background images // Special processing for global colors // background-color: var(--darkColor) } This concludes this article about how to use CSS3 filter to create a gray or black mode on a web page. For more information about CSS3 filter, please search previous articles on 123WORDPRESS.COM or continue browsing the following related articles. We hope that you will support 123WORDPRESS.COM in the future! |
<<: Summary of WEBAPP development skills (notes for mobile website development)
>>: Detailed explanation of angular two-way binding
The mathematical expression calc() is a function ...
Table of contents 1:mysql execution process 1.1: ...
When using vue to develop projects, the front end...
Table of contents Algorithmic Strategy Single-nod...
Table of contents 1. Check the current status of ...
1. Install xshell6 2. Create a server connection ...
The front-end development department is growing, ...
The specific method is as follows: CSS Code Copy ...
The so-called container actually creates a readab...
Preface: rm under Linux system is irreversible. T...
Introduction to JWT What is JWT The full name is ...
Table of contents 1. Node.js and Vue 2. Run the f...
Check the top 100 highest scores in game history ...
Mysql5.7.19 version is a new version launched thi...
Step 1: Configure environment variables (my decom...