2020 年网页设计的最新 CSS 属性和 API

cssweb developmentfront end technology更新于 2024/8/27 14:04:17

为了帮助开发者使用 JavaScript 和 CSS 的混合来定制他们的网站,我们开发了新的 CSS 属性,现在支持流行的浏览器。其中一些列于下方 −

focus-within

旨在解决元素内部的焦点可访问性问题

scroll-snap

支持原生滚动和减速

@media(prefers-*)

帮助根据用户的设备偏好设置页面的 UI 和 UX,从而实现更高级别的个性化。

* 可以表示亮度级别、强制颜色、配色方案、对比度、减少运动和减少透明度

position: sticky

将 UI 保持在视口内。

用于实现标准布局的逻辑属性

允许我们在元素内部和周围设置动态方向间距。

gap 属性

这属性现在可用于 flexbox。gap 将容器设置为拥有间距,而不是让每个子元素拥有自己的间距。

backfrop-filter

用于方便地设置元素背后的样式。

CSS Houdini API

一个低级 API,使开发者能够告诉浏览器他们希望如何读取和理解自定义 CSS。现在,开发者可以更轻松地访问 CSS 对象模型。布局 API、绘制 API、解析器 API、属性和Values API、AnimationWorklet、Typed OM 和 Font Metrics API 都属于此类。

aspect-ratio

维护媒体尺寸

size

在一个属性中设置高度和宽度

min()、max() 和 clip()

为任何 CSS 属性设置约束

display: outer inner

双值语法,使元素更适合

list-style-type

向列表添加自定义样式

CSS 模块

现在我们可以使用 JavaScript 从本地或远程文件请求特定模块

CSS 区域

用内容填充区域

CSS 子网格

帮助我们创建微型使用 CSS 网格中的微布局进行布局。

示例

以下示例展示了其中一些属性 −

<!DOCTYPE html>
<html>
<head>
<style>
* {
   margin: 2%;
   text-align: center;
}
:is(header, main, footer) span:after {
   content: " Awesome!";
   box-shadow: inset 0 0 8px lightgreen;
   font-size: 1.2em;
   font-family: Calibri;
}
:-webkit-any(header, div, section) span:after {
   content: " Awesome!";
   box-shadow: inset 0 0 8px lightgreen;
   font-size: 1.2em;
   font-family: Calibri;
}
:-moz-any(header, div, section) span:after {
   content: " Awesome!";
   box-shadow: inset 0 0 8px lightgreen;
   font-size: 1.2em;
   font-family: Calibri;
}
:matches(header, div, section) span:after {
   content: " Awesome!";
   box-shadow: inset 0 0 8px lightgreen;
   font-size: 1.2em;
   font-family: Calibri;
}
</style>
</head>
<body>
<header>
<span>:is() operator is</span>
</header>
<div>
<span>DEMO</span>
<span>Alt + F4</span>
<span>Enter</span>
</div>
<section>
<span>Howzit?</span>
</section>
</body>
</html>

输出

这将产生以下结果 −

示例

<html>
<head>
<style>
#parent {
   margin: 8%;
   background-image: url("https://images.unsplash.com/photo-1611081352477- 9f1477ec09ae?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=400&ixlib=rb1.2.1&q=80&w=400");
   padding: 2%;
   width: 200px;
   height: 200px;
   box-shadow: 0 0 20px rgba(100,0,40,0.8);
}
h2 {
   margin-top: 20vh;
   backdrop-filter: invert(1);
}
</style>
</head>
<body>
<div id="parent">
<div>
<h2>Watch this cool effect</h2>
</div>
</div>
</body>

输出

这将产生以下结果 −


相关文章


有用资源