When will plain CSS be good enough to replace Sass, Less, Stylus, and rest?
One of the toughest facts that web developers have to face is that most people still use old, low-performance browsers when browsing websites. Browsers are adding new features all the time, but you usually can't take advantage of them unless you're willing to lose a lot of users who haven't updated their browsers.
This problem does not exist when you use Electron to develop applications. Because the code of the Electron application you wrote runs on a separate Chromium browser. Chromium is the core engine of Google Chrome and is powered by Google. At the same time, it is also open source, which means that a large number of developers in the community are optimizing it every day.
CSS custom properties
Last week, Electron released a new version that supports CSS custom properties. If you've used preprocessing languages like Sass and Less, you're probably already familiar with variables, which allow you to define reusable values for things like color schemes or layouts. Variables keep your stylesheet DRY (Don't Repeat Yourself) and improve maintainability.
Since CSS custom properties are just regular CSS properties, they can be manipulated through JavaScript. This subtle but powerful feature allows developers to dynamically change the visual interface while enjoying CSS hardware acceleration, and can reduce duplication between front-end code and style sheets.
The following is an example of using custom attributes:
:root { --primary-color: papayawhip; --base-line-height: 1.4; } .thing { color: var(--primary-color); margin: 0 0 calc(var(--base-line-height) * 1rem); }
View the demo in Google Chrome (requires chrome version higher than 49)
CSS Mixin and Inheritance
Now, we have variables in our CSS. That's great, but it's not enough to write perfect CSS. What we really need is a way to write reusable CSS. These features already exist in Sass, Less and Stylus, but are not available in regular CSS.
Enter the @apply Rule
Someone at Google is developing a new set of specifications:
This specification defines the @apply rule, which allows developers to store a set of properties in a named variable that can then be referenced in other style rules.
The following is an example of using the @apply rule:
body { --alert: { color: white; padding: 15px; margin: 1rem 0; border-radius: 6px; } } .alert-success { @apply --alert; background-color: olivedrab; } .alert-warning { @apply --alert; background-color: firebrick; }
At the time of writing this article (April 8, 2016), this feature is still very new and is not supported by Google Chrome or even Chrome Canary, but it is possible in the latest Chromium nightly by enabling the flag.
If you want to try the @apply rule yourself, you can first download the latest Chromium, and then implement @apply by enabling the tag. Here’s how to do it on OS X:
/Applications/Chromium.app/Contents/MacOS/Chromium \ --enable-blink-features=CSSApplyAtRules
To view all the cool styles combined by the above rules, you can refer to my codepen demo:
@apply Codepen demo on Chromium browser
Start writing future CSS now
Once @apply is supported by Chromium and Electron, we will be able to write clean and maintainable styles using native CSS. But until that day comes, we still need to continue to learn preprocessors to fill these gaps.
There are at least two projects that allow you to write the CSS of the future: Myth and cssnext. Of the two projects, cssnext is more active and even has a dedicated git issue to promote the implementation of @apply (Translator's Note: The latest version of postcss-cssnext already supports @apply rules).
The above is the future of CSS.
The above is the detailed content of The future direction of CSS. For more information, please follow other related articles on the PHP Chinese website!

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

重返未来1999中玩家会在其中面对很多的关卡挑战,而且其中一个个不同的关卡所带来的挑战都完全不一样,而6-24作为其中一个关卡,也肯定会有着不少玩家想知道这一关卡该如何去进行挑战吧,所以下面也是会带来相关的通关方法了。重返未来19996-24通关方法1、一句话挂30层燃烧后,等boss眩晕一顿胖揍。2、一回合优先用主C和142d挂燃烧。3、二回合用辅助和奶妈小技能挂燃烧+和主c卡攒个大招。4、三回合boss就眩晕了,然后直接用大招和伤害技能胖揍。

2012年,伴随张杰唱响“Comeon逆战逆战来也”,《逆战》作为首款国产自主研发的第一人称射击网游,以其全模式枪战玩法、独特的科幻设定与机甲战、保卫战、僵尸猎场等原创题材内容,火遍大江南北,成为一代人的经典。时隔12年的今日,由腾讯天美J3工作室自研的《逆战》第一人称射击革新续作《逆战:未来》,发布了一条全新视频并预告“明天见,逆战至未来”,宣布2月21日即将发布游戏实机视频。这也是《逆战手游》获版并更名为《逆战:未来》后的第一次正式发声。预告片中,太空电梯、月球破碎的太空科幻元素,经典角色安

近年来,随着前端技术的不断发展和变革,jQuery这一久负盛名的JavaScript库也逐渐走向了一个十字路口:是否被放弃?在过去的十多年里,jQuery曾经是前端开发中不可或缺的利器,它简化了DOM操作、事件处理、动画效果等繁琐的任务,让开发者能够轻松地实现各种交互效果。然而,随着现代前端框架如React、Vue和Angular的崛起,以及原生JavaSc

在css中,可用cursor属性去除a标签的鼠标样式,该属性用于定义鼠标指针在一个元素边界范围内所用的鼠标样式,属性值设置为none时,会去除元素的鼠标样式,设置为default时,显示默认箭头样式,语法为“a{cursor:none}”。

利用CSS也能创建像素创意动画!下面本篇文章给大家介绍一下用CSS box-shadow创建像素创意动画的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

标题:Go语言走向主流:发展现状与未来展望近年来,Go语言作为一种快速、高效、易于学习的编程语言,正在逐渐走向主流。它被广泛应用于网络服务、云计算、大数据处理等领域,越来越受到开发者的青睐。本文将从Go语言的发展现状入手,探讨其在未来的发展展望,并通过具体的代码示例来展示其优秀的特性和应用场景。一、Go语言的发展现状作为一种开源编程语言,Go语言于2009年

怎么利用CSS绘制狮子动画?下面本篇文章手把手带大家一步步利用CSS绘制一个可爱卡通狮子动画,希望对大家有所帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Chinese version
Chinese version, very easy to use

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version
Visual web development tools
