bootstrap 调查问卷_【第2140期】2020 CSS 现状调查

前言

一年一度的CSS调查报告出来了,是由@Raphaël Benitte、@Sacha Greif发起调查。啥时候可以有一份国内的调查报告呢?看看你现在用的技术现状如何呢?

正文从这开始~~

介绍

忘记你所知道的关于CSS的一切。或者至少,要准备好重新考虑很多东西。如果像我一样,你已经写了十多年的CSS,那么2020年的CSS看起来和你以前的CSS完全不一样。

取代断点,我们现在可以利用CSS Grid来制作动态的、响应式的布局,用更少的代码行来适应任何视口大小。CSS-in-JS不再依赖全局样式表,而是让我们将我们的样式与我们的组件放在一起,构建可主题设计系统。

而最重要的是,Tailwind CSS突然出现,通过使用实用性优先的CSS,迫使我们重新考虑传统的语义类名的教条。

无论这些变化是否让你想写一篇夸张的博客文章,还是愤怒的Twitter咆哮,我们都会在这里呈现数据,强调趋势,并希望能引导你度过CSS的又一个多事之秋

用户画像

让我们了解真实的你。

国家或地区

ba419e7ceca0f4c2c665c4c0c0187077.png

语言

受访者填写调查问卷时选择了哪种语言?

c924dbc69a6afc54354bf83d0a360761.png

薪资

年收入(美元)

9c0d0c12f644b4500ed55d52b233e3dc.png

年限

你已于当前领域工作(研究)多长时间?

224003598b8dffde4393467cd5c90664.png

公司规模

所在公司规模分析

b316674e1de44d947cfa444b7baf20cd.png

来源

受访者是如何了解这项调查的?

a12ca782a76fad9dbe86f6caf32cb1f6.png

这张图汇总了推荐人、URL参数和自由形式的答案的组合。

  • State of JS:State of JS邮件列表。

  • State of CSS:CSS的状态邮件列表;也匹配电子邮件、通过电子邮件等。

  • work:匹配工作、同事、同事等。

性别

0d983158ddfcb79b0bba4f4a1076c220.png

种族和民族

4fda04d908c27ad9e38533314f8e1763.png

职位名称

使用一个名词像别人介绍你从事的工作?

d80fd82c50cbc6e31e84fa74111cf2fb.png

CSS 熟练程度

对 CSS 了解得怎样?

45e8b614a81ee3c45ad5c10376db09e2.png

  • 无:实际上没有 CSS 经验

  • 初学 :使用 CSS 框架以及调整现有样式

  • 中等 :知道特定规则,能够创建布局

  • 高级 :精通动画、交互、过渡等

  • 资深 :能够以统一的方法论从零构建整个前端站点的样式

JavaScript 熟练程度

对 JavaScript 了解得怎样?

0bd5be38406714ed90358265e150513f.png

  • 无:不会 JavaScript

  • 初学:会一点 JavaScript 或 jQuery 代码

  • 中等:会用一些现成的前端流行框架,如 (React、 Vue、 等)

  • 高级:从 0 到 1 构建前端技术栈

  • 资深:能处理负责的前端业务(状态管理,数据管理等)

Back-end 熟练程度

对 后端开发 了解得怎样?

2d5d0c67da861b7875ac565679f3fe22.png

- 无:无法完成任何后端工作 - 初学:会配置一体化 CMS(WordPress 等)或静态站点生成器(Jekyll 等) - 中等:能够使用现有框架开发应用(Rails、Laravel 等) - 高级:从零搭建整个后端(Go、Node.js 等) - 资深:能够掌控复杂的多台服务器或微服务架构

功能

近年来,CSS 已经看到了新特性的激增,所以正如你所预期的那样,由于社区需要时间来吸收新的特性,CSS 的应用已经落后了一些。

使用概况

这个图表显示了按类别分组的所有功能的不同采用率。

外圈的大小对应于知道某个特性的用户总数,而内圈则代表实际使用该特性的用户总数。

将鼠标悬停在每个节点上,以查看详细数据,并在其上覆盖代表调查受访者总数。

d3bd243184d7ebaa09702ebc365b0318.png

知识得分

在调查中提到的所有 CSS 特性中,被调查者知道多少?

cfdb414be0e2de94de5cf618c63f2737.png

布局

使用什么布局方式进行元素布局?

Grid

69bd701b34a118305e973d01bd45362c.png

Subgrid

21ca461dc9b7b7ec19717881b5a20371.png

Flexbox

94f5ca4d96cb5eed76cd457308cb2571.png

Multi-Column Layout

46c8c05cd61c8e573e71569b74140d12.png

Writing Modes

17922e21bbded5f336f4ac8b8a94ad58.png

Exclusions

17922e21bbded5f336f4ac8b8a94ad58.png

CSS position:sticky

2dcafabd065e4caa658a09330901bc89.png

CSS Logical Properties

0f6e4290c688611203402e0ae6ea6be1.png

CSS property: aspect-ratio

d3b96b738c819356ddacce7bb1a7c1f0.png

CSS content-visibility

d3fef637eb7d5a3d5c844a2219542552.png

图形与图像

控制形状与元素的显示方式。

Shapes

a1e50ba2ff301c1c54f0fdcf1449c2ec.png

object-fit

1bd8c942a0e41391c8d792771d0607cc.png

clip-path

b55d5b0a2cbcf295e1e57dc7e8123053.png

Masking

744477c063cd86fb70b6f2e2b0eac7f6.png

blend-mode

797dfed983062af909e13f75ae9d050e.png

Filters & Effects

500ff9406e8dd46b8818f7a119395132.png

backdrop-filter

a2a5afdf851cedcdf714c72ee3bc4cd3.png

交互

使用者如何进行页面交互?

Scroll Snap

da4bd8d026f46ae0285e88996475649f.png

overscroll-behavior

6aa3367cc4cf388ad46631abcdb6af7c.png

overflow-anchor

dc56f21cb7ab28286eb1cef583ecf238.png

touch-action

b5ecda731d756d54287f898ecd6b570a.png

pointer-events

789aaee30fbf75f3d1c2745fd2d6f4f5.png

排版

文本排版设置。

@font-face

71df8bf5bb2fb19fa0342e37afd26666.png

Line Breaking Properties

96b52fc60f2efdd9cf14b1f03a9fd5de.png

font-variant

ff5d2dfafafc88e493da9e54d1e247fa.png

initial_letter

307f114c374d9ddc568953132ed71b73.png

font-variant-numeric

50951a276064490c83ce659fd1e3d226.png

font-display

f8afc4f4409f66f8c943fcc182cb4e5a.png

line-clamp

4a9b831e94dde13e73fa253bf1a47482.png

动画与过渡

给元素加上动画或过渡效果。

Transitions

484ee1fb6742b4e5c01a92b8b0f1e588.png

Transforms

fccb2e8f209796e7df348f601dc35701.png

Animations

53cc638b971c2fab44e3a77ddc9b7fd5.png

Perspective

a10f30a7ce990a7c0320c7b568cd2e19.png

媒体查询

网站多端解决方案

prefers-reduced-motion

ce4bcdb3f231941ef2d5e0ebf9112ad4.png

prefers-color-scheme

024a08163b973552e0c27a9471d6a0ce.png

color-gamut

686b2ec63ce99e3b98a75d44b089e913.png

其他特征

其他 CSS 特征

Variables

4391d3f05d6d20ee7e69c30f8856a498.png

@supports

450008f7adebc78792a8ad785029ff02.png

Contain

99ea1a8b464ef6f13d1d3758a00a9c6d.png

will-change

cbbb3934352006b29f1ff8d4132ad5c3.png

calc()

a9bb5a6c9dc36c11eec20e99db0489b7.png

CSS Houdini

9facbd2c4d3a40c8869bc5f1f49308d0.png

CSS Comparison Functions

20f613cdf6780ea738f4df2de1d18402.png

单位和选择器

测试你对 CSS 单位和选择器了解多少

单位

你曾用过哪些 CSS 单位?

5c4ac411845b1b35c8662a5a8b0be3cb.png

伪元素

你曾使用过哪些 CSS 伪元素?

4a413d4153178c0faee9fcf443783df2.png

关系选择器 (Combinators)

你曾使用哪些关系选择器?

72cf464e475a893a0d50e3cf7072b49c.png

伪类选择器

你曾使用哪些伪类选择器?

e9ad3b4b9242bd2dbcd5aa2f03a15ee4.png

属性选择器

你曾使用哪些属性选择器?

89793d12d93615558a02ab97f4cf649e.png

链接

你曾使用哪些关于链接的选择器?

de75404414bf68be672afe1e59032eee.png

交互

你曾使用哪些关于交互的选择器?

a04e618fd30ea2854aafad2f291aea5b.png

表单控制

你曾使用哪些关于表单控制的选择器?

f5660fa230588d14581567e08a9bd0cd.png

技术介绍

CSS的生态系统正在经历某种程度的更新,因为像Bootstrap这样的老牌主流现在必须适应像Tailwind CSS这样的新进入者。更不用说整个CSS-in-JS运动了,虽然它还没有成为CSS的主流,但还是相当有活力。

满意度与使用率

这张图显示了每种技术的满意度占其总用户数的比例。它可以分为四个象限。

  • ASSESS: 低使用率,高满意度 低使用率,高满意度。值得关注的技术。

  • ADOPT:使用率高,满意度高。安全的技术,可以采用。

  • 避免:低使用率,满意度低。低使用率,低满意度。目前可能最好避免的技术。

  • 分析:高使用率,低满意度。如果你目前正在使用这些技术,请重新评估。

748fb1f289cf586cbfd4aa39e75ff0e0.png

预/后处理

健壮 CSS 的处理器。

排名

满意度、兴趣度、使用度、知名度比排名。

8cf7277a2b3d98556ec4e0318ea66faa.png

知晓率低于10%的技术不包括在内。每个比率定义如下。

  • 满意度:会再次使用与不会再次使用。

  • 兴趣:想学习VS不感兴趣。

  • 使用情况:会再次使用+不会再次使用VS认知度。

  • 认识度:总数--从未听说过。

经验随着时间的推移

一段时间以来对所调查技术的意见概述。

fa41262678fc7ea01b62ea7a1f230b78.png

不包括只有一年数据的技术。

正/负分离

这个图表将中轴线两侧的积极("想学习"、"会再次使用")与消极("不感兴趣"、"不会再次使用")体验进行了划分。

条形粗细代表了解某项技术的受访者人数。

cb960fac7823ee8a00dce1f2d9b2dbe3.png

Sass

363b6e10265e15856c6f1418c4b8a7d6.png

Less

71849ecc6e26e26b825e77ec3f2bf9f6.png

PostCSS

bd4f4b1d46e19b8ccc6f7722bc9ad594.png

Stylus

d0a813725ce1b704baa07f42ad2b2685.png

其他工具

这一类的其他工具(自由形式的答案)。

205e40512417bcd36728bcf395724d82.png

整体幸福感

在1分(非常不满意)到5分(非常满意)的范围内,开发者对该类产品目前的整体状况有多满意?

7eb5f2271d841e11e03eb0f20fb6cf4e.png

CSS 框架

提供预先设置好组件和样式库

排名

满意度、兴趣度、使用度、知名度比排名。

623b34f6d55cf287177f6b33a32f5dfc.png

知晓率低于10%的技术不包括在内。每个比率定义如下。

  • 满意度:会再次使用与不会再次使用。

  • 兴趣:想学习VS不感兴趣。

  • 使用情况:会再次使用+不会再次使用VS认知度。

  • 认识度:总数--从未听说过。

经验随着时间的推移

一段时间以来对所调查技术的意见概述。

3ae6a671a8a5f6e390879f7d0d533bea.png

不包括只有一年数据的技术。

正/负分离

这个图表将中轴线两侧的积极("想学习"、"会再次使用")与消极("不感兴趣"、"不会再次使用")体验进行了划分。

条形粗细代表了解某项技术的受访者人数。

f9b21f00c845b8cb74fc93cae6a3253f.png

Bootstrap

8afd7c35700b501e59dd2eeda4c6227b.png

Materialize CSS

a46f40f392298cf490886bd9fde11d8b.png

Ant Design

c1c784a1eccd9094bdee23fb5e9b9a67.png

Semantic UI

9f2438d0a161663cbb72b4ebca603ba2.png

Bulma

b42a9cb51dc11dd3cedfe5119bc28662.png

Foundation

fe584d9da797f36d7afcae11506bdccf.png

UIKit

2c6e3e50d8cd4711fd512be525a29893.png

Tachyons

2f4cc53348ecb63df73a9ecf27f9ad70.png

Primer

ed22b3c7264d348923dd11e6ab4842b8.png

Tailwind CSS

42079e8b3e6264c99ce361cdaf0c11d6.png

PureCSS

ec42dc96993e5d01becd77e80e70d3e9.png

Skeleton

605017adc700b69103c25159b1337ad3.png

Spectre.css

cff5ca91fa912dd271a6f0d1c40e8d86.png

其他工具

这一类的其他工具(自由形式的答案)。

f6b02bcd1e7c55876d00d84e61ca6533.png

整体幸福感

在1分(非常不满意)到5分(非常满意)的范围内,开发者对该类产品目前的整体状况有多满意?

cb7585bf95a2bbf6fd27b36c8d45700c.png

CSS 方法

编写更简洁 CSS 代码的方式

排名

满意度、兴趣度、使用度、知名度比排名。

f735ab103a09681b7fb6ff17ee1eb42e.png

知晓率低于10%的技术不包括在内。每个比率定义如下。

  • 满意度:会再次使用与不会再次使用。

  • 兴趣:想学习VS不感兴趣。

  • 使用情况:会再次使用+不会再次使用VS认知度。

  • 认识度:总数--从未听说过。

经验随着时间的推移

一段时间以来对所调查技术的意见概述。

ea59bffdb7cd5d5fd08870b497b9bcef.png

不包括只有一年数据的技术。

正/负分离

这个图表将中轴线两侧的积极("想学习"、"会再次使用")与消极("不感兴趣"、"不会再次使用")体验进行了划分。

条形粗细代表了解某项技术的受访者人数。

63eef2b4d62c0e1e90d2d70b73f8f936.png

BEM

c10d6a51ab0e8465ea5ab21e1bf8115f.png

Atomic CSS (Utility-first CSS)

cb0b404168a3c15643f870b4c96f760a.png

OOCSS

6597bd68a75fe17e956f0140089d4bf3.png

SMACSS

d09403965c4199c878ba0147715acc2c.png

ITCSS

a0ae47dab2e01c2f959a6d9a45c5a1ef.png

CUBE CSS

821b3a02ff202787be6d5a2499020208.png

其他工具

这一类的其他工具(自由形式的答案)。

272edc7af84a6a8a6de8df1e367a0339.png

整体幸福感

在1分(非常不满意)到5分(非常满意)的范围内,开发者对该类产品目前的整体状况有多满意?

03139f0bf465033ceaaa47ba2e3d06ec.png

CSS-in-JS

实现 JavaScript 编写 CSS 代码的库

排名

满意度、兴趣度、使用度、知名度比排名。

3b3d607be8723b35c57466c528451a55.png

知晓率低于10%的技术不包括在内。每个比率定义如下。

  • 满意度:会再次使用与不会再次使用。

  • 兴趣:想学习VS不感兴趣。

  • 使用情况:会再次使用+不会再次使用VS认知度。

  • 知晓度:总数--从未听说过

经验随着时间的推移

一段时间以来对所调查技术的意见概述。

582a3590129772e736114a34e9c097d9.png

不包括只有一年数据的技术。

正/负分离

这个图表将中轴线两侧的积极("想学习"、"会再次使用")与消极("不感兴趣"、"不会再次使用")体验进行了划分。

条形粗细代表了解某项技术的受访者人数。

b8b8552b2a873d5728eefd2033fcf111.png

Styled Components

5b0b9254ba2f60a9e9d22faaf34b06d3.png

JSS

b15110cd1fd90176f65ca7874c9f3307.png

Styled JSX

f2b38ba481a8810e12f2a8feb36ed857.png

Radium

65676f37b16e221667fe4e042d54818d.png

Emotion

4d01683661a033eaa933c7fa1f0248bd.png

CSS Modules

db031d55147998fb1fe1a6e5225c7372.png

Styled System

eea1b526b2b2aa04a50cec24e7ecc4da.png

Stitches

e9dcaa981e10dc4eea76047896a798c4.png

Styletron

057b0e25d7a142ddb0bab03772dae232.png

Fela

7311c2a416843e26d33004091d21f029.png

Linaria

294b229b01eb67b08fde7a6e80f05b22.png

Astroturf

a89fd7573a07872a63174cad8323e87d.png

其他工具

这一类的其他工具(自由形式的答案)

004522e5e213974d724a71e79d2f4b91.png

整体幸福感

在1分(非常不满意)到5分(非常满意)的范围内,开发者对该类产品目前的整体状况有多满意?

eb55bc7be3f0dd16c29bec46185af08f.png

其他工具

其他CSS工具

工具函数库

常用的工具函数库有?

778fa7a4667289dfeaa4cc763d4cce0d.png

其他工具函数库

其他工具函数库(填写名称)。

77536ac8758f9ae4b7ea704e29f315fb.png

文本编辑器

经常使用那(些)文字編輯器?

50a804b21d45ac7a62453c8065d7ed6f.png

其他文本编辑器

其他文本编辑器(填写名称)

0afe4a903f7516f19facd9c64b518b19.png

浏览器

常用用于开发的浏览器有哪些?

3c7d557b41a4f5dfbaf4eba1968229b8.png

其他浏览器

其他浏览器(填写名称)。

edf545e89d12dc559002631530f5c232.png

环境

你于什么环境下编写 CSS 代码?

浏览器

在那些浏览器中进行测试?

c733fa18f7e1ff92e4927e3f6c46498a.png

设备

在什么设备上进行测试?

2467ae83f05167cb44b2dfcf328d79c5.png

CSS for Print

使用过打印样式(print styles)吗?

bcd8d8b4f3e4c9c944da06ad50642857.png

说明

  • 从未:我从未用过 print styles (打印样式)

  • 偶尔 :我偶尔使用 print styles (打印样式)

  • 常用 :我经常使用 print styles (打印样式)

  • 重度使用:我重度使用 print styles (打印样式)

CSS for Email 客户端

有些写过邮件客户端样式吗?

e480c228db351c6c819f870e8d1839a0.png

说明

  • 从未 :我从未用过 email styles (邮件样式)

  • 偶尔 :我偶尔使用 email styles (邮件样式)

  • 常用 :我经常使用 email styles (邮件样式)

  • 重度使用:我重度使用 email styles (邮件样式)

想法
CSS 是否易于学习

104e6a034e06594545ce1445c658226b.png

CSS 的演进速度慢

0fc94095f650bbf92f40cc9b2f877411.png

应避免如 「.center、 .large-text」 等非语义、机械式类名

b1367844a1107849251ab321699130a9.png

应避免像是「.foo .bar ul li {...}」 这样的选择器嵌套

cb012683a0f04310a150d5273620c8ba.png

CSS 是一门编程语言

e6efff754dfb3a716113de4450c51fb9.png

我乐意写 CSS

2d8323504d4802bffddd181c83baecba.png

总体而言,你对现有 WEB 技术满意吗?

942fa34ff1655c3c1fbb47b8099c7478.png

总的来讲,你对现有 CSS 满意吗?

d25408172f0e4105466ae7355bfa4a37.png

目前觉得 CSS 缺少什么?

4975ac299c42dc2e00cc0d5d2f7b8b34.png

结论

如果一个JavaScript开发人员写了一行CSS代码,他们现在是不是一个CSS开发人员?

这个编程kōan说明了Web开发世界的一个明显趋势:随着越来越多的CSS开发者被赋予学习JavaScript的任务,JavaScript开发者也开始意识到CSS这件事可能不仅仅是font-weight: bold;。

因此,询问 "CSS的现状 "本质上是一个棘手的命题:根据你问谁,你可能会得到完全不同的答案! 那你怎么知道哪一个是正确的呢?

这里有另一个kōan给你:正确的答案是没有正确的答案。这里介绍的众多工具、方法论、框架和库中的每一种都在庞大的前端生态系统中占有一席之地。

构建一个复杂的React应用?风格化组件是一个不错的选择。设计一个静态登陆页面?使用Sass是不会错的! 即使Bootstrap已经失去了一些原始的炒作因素,但当涉及到主题和插件的数量时,你无法击败它。

关于本文 原文:https://2020.stateofcss.com/zh-Hans/

b3d8fa6f97744befc62f5b51a1553661.png

为你推荐

【第2100期】2020年你不应该错过的CSS新特性

【第2101期】纯CSS实现密室逃脱游戏

欢迎自荐投稿,前端早读课等你来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值