You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
constGlobalStyle=createGlobalStyle` body { color: ${props=>(props.whiteColor ? 'white' : 'black')}; font-family: ${props=>props.theme.fontFamily}; }`// 使用<React.Fragment><Navigation/>{/* example of other top-level stuff */}<GlobalStylewhiteColor/></React.Fragment>
// circle.jsregisterPaint('circle',class{staticgetinputProperties(){return['--circle-color'];}paint(ctx,geom,properties){// Change the fill color.constcolor=properties.get('--circle-color');ctx.fillStyle=color;// Determine the center point and radius.constx=geom.width/2;consty=geom.height/2;constradius=Math.min(x,y);// Draw the circle \o/ctx.beginPath();ctx.arc(x,y,radius,0,2*Math.PI,false);ctx.fill();}});
css 发展
link:外联 / @import:导入另一个 css 模块 / 内联:style 标签
css选择器同一优先级的情况下,这几个引入的方式:内联 css > (link 和 @import 后引入的覆盖前引入的)
@Important: 页面加载完才开始渲染,造成页面抖动。
css 预处理器:less / sass
扩展css 的语法,
css 后处理器 postCss
css 届的 babel:
样式复用 composes:另一个类名
全局样式:global
书写方式:在 js 中书写 css
主要目的:和 css-module 一样解决冲突,能够使用 js 变量
缺点:违背 css/js 分离原则
常用库:
Global 全局样式
css 调用 js
使开发人员能够通过加入浏览器渲染引擎的样式和布局过程来扩展CSS
css Houdini
css 里面每次遇到一个新的提案,都要经过很多年才会投入使用。比如 flexBox,2019年就被提出。
反观 js,一个新的提案,有了
babel
只需几天就有 pollyfill。下面两张图就是对比:
为什么用不上 CSS Polyfill
js 在 网页绘制过程中,所能触及到的地方有限。
avaScript Polyfills 只能去更改 DOM 和 CSSOM,大部分这样的操作,都会导致页面重新渲染
假如能改浏览器内部的渲染引擎
css houdini
:正是由此而来下图中灰色部分是还在实现中的部分,暂时无法使用。
CSS Properties and Values API
变量和属性
layout api
定义了一个颜色的属性, 背景采用自定义的
circle
.这样我们需要定义
circle
行为。参考
The text was updated successfully, but these errors were encountered: