react组件之间样式覆盖问题

2022-10-27  本文已影响0人  学无止境_cheer_up

目标

概念

CSS IN JS

CSS IN JS 是使用JavaScript 编写 CSS 的统称,用来解决CSS样式冲突,覆盖等问题;

CSS IN JS 的具体实现有50多种,比如:CSS Modules、styled-components等

推荐使用:CSS Modules(React脚手架已经集成进来了,可以直接使用)

CSS Modules

概念

使用

image.png image.png
*   通过styles对象访问对象中的样式名来设置样式
image.png

使用CSS Modules修改 NavHeader 样式

image.png

示例demo

.navbar {
    color: #333;
    background-color: #f6f5f6;
}

.navbar :global(.am-navbar-title) {
    color: #333;
}

Map里修改头部样式

.map {
    height: 100%;
    padding-top: 45px;
}

.map :global(.am-navbar) {
    margin-top: -45px;
}

.container {
    height: 100%;
}

页面结构

<div className={styles.map}>
    <NavHeader>
        地图找房
    </NavHeader>
    <div id='container' className={styles.container}></div>
</div>
上一篇 下一篇

猜你喜欢

热点阅读