![apple safari dark mode apple safari dark mode](https://tchgdns.de/wp-content/uploads/dark-mode-for-safari-macos.png)
We just looked at how to account for a user’s system-wide color scheme preferences. There may even be other possible methods than what we have discussed. Sometimes a combination of methods will be the most effective route. Moreover, there’s nothing saying we can only use one method. On the other hand, if your project needs to support legacy browsers, then another approach will need to do instead. If you are doing a large project, for example, you might go with CSS properties to help wrangle a large codebase. The “right” method comes down to the requirements of your project. But a server-side solution like this is useful in persisting the user’s theme choice across page reloads, as we will see later. This method has an obvious downside: the page needs to be refreshed for the toggle to take place.
![apple safari dark mode apple safari dark mode](https://4kwallpapers.com/images/wallpapers/ios-15-stock-dark-mode-ipados-15-wwdc-21-hdr-720x1280-5586.jpg)
I am using a GET request (URL params) for the purpose of this demonstration.Īnd, yes, we can swap stylesheets just like we did in the second method. Then, we let our code (PHP in this case) apply the appropriate body class when the page is reloaded. We can have the user send a GET or POST request. This is a great approach if you prefer working directly in the markup. If we’re already working with a server-side language, say PHP, then we can use it instead of JavaScript. Here’s a script for a button that will toggle that class, for example: // Select the buttonĬonst btn = document.querySelector('.btn-toggle') ītn.addEventListener('click', function(). The trick here is to swap out a class that can be a hook for changing a style anywhere on the page.