在使用css_module的情況下修改antd的樣式

最近在使用umi進(jìn)行項(xiàng)目開發(fā)知牌,他內(nèi)置了antd祈争,但是antd上有的樣式跟我們需要的不一致,此時(shí)就要對antd組件的樣式進(jìn)行修改角寸。因?yàn)閡mi里面默認(rèn)配置了css_module的原因菩混,所以假如不知道怎么處理得話對一些組件就很有可能達(dá)不到自己想要的修改效果

為什么要使用css_module進(jìn)行開發(fā)


因?yàn)槭褂胏ss_module可以盡量的避免css全局命名的沖突,減少我們命名的難度袭厂,避免我們的代碼被未知的樣式影響到

怎么進(jìn)行使用以及原理?


我們新建一個(gè)umi項(xiàng)目,在pages/index.js中可以看到以下的代碼

import styles from './index.css';

export default function() {
  return (
    <div className={styles.normal}>
      <div className={styles.welcome} />
      <ul className={styles.list}>
        <li>To get started, edit <code>src/pages/index.js</code> and save to reload.</li>
        <li>
          <a >
            Getting Started
          </a>
        </li>
      </ul>
    </div>
  );
}

index.css的代碼是怎么樣子的內(nèi)?


.normal {
  font-family: Georgia, sans-serif;
  margin-top: 4em;
  text-align: center;
}

.welcome {
  height: 512px;
  background: url(../assets/yay.jpg) no-repeat center 0;
  background-size: 512px 512px;
}

.list {
  font-size: 1.2em;
  margin: 1.8em 0 0;
  list-style: none;
  line-height: 1.5em;
}

.list code {
  background: #f7f7f7;
}

也就是說使用css_module我們可以將css當(dāng)成一個(gè)對象使用墨吓,那么這樣會有什么樣子的效果呢?為什么就可以避免我們的css被影響到了呢?
我們打開控制臺可以看到
我們并沒有找到.normal這個(gè)類
其對應(yīng)的是
index__normal___YzYMc
也就是說css_module對我們的內(nèi)容進(jìn)行了改變球匕,自動修改了類名纹磺,而以后都不會再出現(xiàn)對于的類的名稱,因此我們的css也就不會被污染了亮曹。但是這樣也會帶來新的問題橄杨。

想要修改外部的react組件的樣式帶來的問題

此時(shí)我們引入antd
修改jsx

import styles from './index.css';
import { Button } from 'antd';
export default function() {
  return (
    <div className={styles.normal}>
      <Button className="btn">test</Button>
    </div>
  );
}

修改css

.normal {
  font-family: Georgia, sans-serif;
  margin-top: 4em;
  text-align: center;
}

.normal .select .ant-select-selection.ant-select-selection--single {
  background: red;
}

我們可以看到select的顏色并沒有修改,而我們在控制臺中檢測看到的對應(yīng)的兩個(gè)類就是 ant-select-selection ant-select-selection--single
為什么沒有修改呢照卦?
其實(shí)是因?yàn)榍熬Y不對
我們搜索打包后的css文件可以發(fā)現(xiàn)一句類似這個(gè)的代碼

.index__normal___HWRKS .index__select___2eBB3 .index__ant-select-selection___1d83s.index__ant-select-selection--single___3Ckd4 {
  background: red;
}

所以就會導(dǎo)致跟我們html中的css對不上
加入我們希望進(jìn)行修改式矫,一個(gè)辦法是進(jìn)行全局的修改,umi提供了對應(yīng)的修改的位置,但是假如我們期望的是只進(jìn)行部分的修改役耕,同時(shí)我們還需保持css_module的特性,那么我們可以使用
:global
他可以使得css_module中的類不會進(jìn)行重命名

.normal .select :global .ant-select-selection.ant-select-selection--single {
  background: red;
}

這樣我們就可以在使用css-module的同時(shí)對部分不好進(jìn)行修改的antd組件的樣式進(jìn)行修改了
即使你使用的是less這些也是一樣的處理


.normal {
  .select {
    :global .ant-select-selection.ant-select-selection--single {
      background: red;
    }
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末采转,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌故慈,老刑警劉巖板熊,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異察绷,居然都是意外死亡干签,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門拆撼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來容劳,“玉大人,你說我怎么就攤上這事闸度〗叻罚” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵筋岛,是天一觀的道長娶视。 經(jīng)常有香客問我,道長睁宰,這世上最難降的妖魔是什么肪获? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮柒傻,結(jié)果婚禮上孝赫,老公的妹妹穿的比我還像新娘。我一直安慰自己红符,他們只是感情好青柄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著预侯,像睡著了一般致开。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萎馅,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天双戳,我揣著相機(jī)與錄音,去河邊找鬼糜芳。 笑死飒货,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的峭竣。 我是一名探鬼主播塘辅,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼皆撩!你這毒婦竟也來了扣墩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呻惕,沒想到半個(gè)月后盘榨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蟆融,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年草巡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片型酥。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡山憨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弥喉,到底是詐尸還是另有隱情郁竟,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布由境,位于F島的核電站棚亩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏虏杰。R本人自食惡果不足惜讥蟆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纺阔。 院中可真熱鬧瘸彤,春花似錦、人聲如沸笛钝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽玻靡。三九已至结榄,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間囤捻,已是汗流浹背臼朗。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留最蕾,地道東北人依溯。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓老厌,卻偏偏與公主長得像瘟则,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子枝秤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容