CSS中的global
在我使用antd等组件时,常常需要更改组件的默认样式,这时候,我们就需要用:global{}
将需要修改的样式包裹起来。这种情况,我遇到过很多次,但是从来没有探究过原因,今天就浅浅的说一下我的理解。
在说这个问题之前,我们需要先知道CSS Modules。
CSS Modules主要是实现局部作用域
和模块依赖
两个功能。我们主要了解第一个功能就好。
局部作用域
我们都知道,CSS的规则都是全局的,任何一个组件的样式规则,都对整个页面有效。产生局部作用域的唯一方法,就是使用一个独一无二的class的名字,不会与其他选择器重名。但是当我们与其他人共同开发的时候,无法保证一定与其他人不同,这时候就要用到 CSS Modules了。
下面是一个React组件App.js。
import React from 'react';
import style from './App.css';export default () => {return (<h1 className={style.title}>Hello World</h1>);
};
上面代码中,我们将样式文件App.css
输入到style
对象,然后引用style.title
代表一个class
。
.title {color: red;
}
构建工具会将类名style.title编译成一个哈希字符串。
<h1 class="_3zyde4l1yATCOkgn-DBWEL">Hello World
</h1>
App.css也会同时被编译。
._3zyde4l1yATCOkgn-DBWEL {color: red;
}
这样一来,这个类名就变成独一无二了,只对App组件有效。
CSS Modules 提供各种插件,支持不同的构建工具。
关于global
这时候再来理解global
就容易很多,我们使用的组件的样式大部分都是全局样式,使用局部方式声明class
经过编译后,无法与组件的默认样式class
匹配,样式自然就无法进行覆盖,要覆盖默认样式就需要使用全局样式。使用global
声明的class
,都不会被编译成哈希字符串也就能够进行覆盖了。
参考:
阮一峰老师的CSS Modules 用法教程
CSS中的global相关推荐
- div+css中命名规范
上次给别人演示div的效果时,写了css样式却一直不能呈现,最后不小心发现自己在写css样式时候,给一个class命名为数字开头的名称,才想起来自己去年刚学习样式表时候也出现此问题,最后被我解决掉的, ...
- css中变量_CSS中的变量
css中变量 CSS | 变数 (CSS | Variables) CSS variables allow you to create reusable values that can be used ...
- php 兼容火狐,HTML_总结CSS中火狐浏览器与IE浏览器的兼容代码,如何让你写的代码更兼容火狐 - phpStudy...
总结CSS中火狐浏览器与IE浏览器的兼容代码 如何让你写的代码更兼容火狐和IE两大主流浏览器?本文将总结总结CSS中火狐浏览器与IE浏览器的兼容代码,兼容你兼容主要是语法规范问题,你写CSS写规范了, ...
- HTML 与 CSS 中的文本
HTML 与 CSS 中的文本 结构化元素 结构化元素就是指 HTML 元素中具有明确含义和作用的元素,例如 `` 元素表示段落.相对于 HTML 4.01 版本而言,HTML5 版本新增了一系列结构 ...
- 关于CSS中浏览器兼容的问题总结二
CSS对浏览器的兼容性有时让人感觉比较麻烦,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xht ...
- Vue超好玩的新特性:在CSS中引入JS变量
授权转载自: 手撕红黑树 https://juejin.im/post/6856668819344392206 幻想 以前做项目的时候经常会这么想: <template><h1> ...
- Vue超好玩的新特性:在CSS中使用JS变量
前言 以前在翻译<Vue 3:2020年中状态更新>的时候,文中曾经提到过尤雨溪希望7月中旬发布RC版(候选版本),8月初发布3.0正式版. 不过现在已经八月初了怎么还是没发布呢?这个月初 ...
- css中float用法
文档流:浏览器根据元素在html文档中出现的顺序,从左向右,从上到下依次排列. 浮动属性是CSS中的定位属性,用法如下: float: 浮动方向(left.right.no ...
- 关于css中float的一切
原文:http://css-tricks.com/all-about-floats/ 这篇文章说的简单易懂 float是CSS中关于定位的属性. float有4个值:none, left, righ ...
最新文章
- 英特尔展示体育行业与大数据技术应用
- 如何将docker 镜像上传到docker hub仓库
- 两个datatable的比较
- 史上最全的程序猿工具集(辅助工具、开发工具、技术栈、学习网站、博客论坛)
- 【渝粤教育】国家开放大学2018年秋季 0714-21T建筑识图与CAD 参考试题
- CSS实例——远视图
- 基于Verilog实现2ASK调制
- 机器学习数据预处理之字符串转数字
- Google桌面搜索使用与技巧
- 2019年8月 华为鸿蒙,华为2019年开发者大会将于8月9日举行,期待鸿蒙吗?
- mvn命令运行springboot程序报错No compiler is provided in this environment. Perhaps you are runningon a JRE
- 内外墙乳胶漆颜色怎么搭配,内外墙品牌涂料如何选购?
- android 定制手机刷机,怎么定制安卓刷机包
- eclipse运行出现unable to launch 错误
- shell命令使用sed从JSON中提取指定的值
- Flink cdc +doris生产遇到的问题汇总-持续更新
- 语文文学常识。不转可惜!谁整理的?太佩服啦!
- linux dwg查看软件下载,CAD迷你看图 - DWG文件浏览小工具
- Python之父吉多·范罗苏姆谈中国的996工作制度
- 第三章:资源,样式与模板