IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> react-CSS学习 -> 正文阅读

[JavaScript知识库]react-CSS学习

react-CSS学习

1、内联样式(不推荐):

写法:style接收一个采用小驼峰命名属性的JavaScript对象,而不是CSS字符串,并且可以引用state中的状态来设置相关样式

优点:内联样式,样式之间不存在冲突,可以动态获取当前state中的状态

import React, { PureComponent } from 'react';

export default class App extends PureComponent {
  constructor(props) {
    super(props);
    this.state = {
      color: 'purple',
    };
  }
  render() {
    const pStyle = {
      color: this.state.color,
      textDecoration: 'underline',
    };
    return (
      <div>
        <h2 style={{ fontSize: '50px', color: 'red' }}>我是标题</h2>
        <p style={pStyle}>我是一段文字描述</p>
      </div>
    );
  }
}

2、普通CSS样式:

需要单独引入一个文件,存在样式覆盖的问题

.js
import React, { PureComponent } from 'react';
//需要导入
import './style.css';

export default class Home extends PureComponent {
  render() {
    return (
      <div className='home'>
        <h2 className='title'>我是home的标题</h2>
        <div className='banner'>
          <span>轮播图</span>
        </div>
      </div>
    );
  }
}
.css
.home .title {
  font-size: 30px;
  color: red;
}

.home .banner {
  color: orange;
}

3、css modules

react脚手架内置css modules:.css/.less/.scss等样式文件都修改成了.module.css/.less/.scss,可以直接引用

使用modules就要将css当成模块化开发,需要添加标识符指向该css文件

拿到相关模块,再使用模块中的相关属性

解决了样式冲突样式层叠的问题

问题:

1、但是遇到连接符“-”时,需要使用小驼峰

2、所有的className都需要使用style.className的形式来编写(可以使用对象解构)

3、不方便动态添加样式,需要采用内联样式

index.js
import React, { PureComponent } from 'react';

import style from './style.module.css';

export default class Profile extends PureComponent {
  constructor(props) {
    super(props);
    this.state = {
      color: 'purple',
    };
  }
  render() {
    return (
      <div className='profile'>
        <h2 className={style.title} style={{ color: this.state.color }}>
          我是Profile的标题
        </h2>
        <ul className={style.settings}>
          <li className={style.settingItem}>设置列表1</li>
          <li>设置列表2</li>
          <li>设置列表3</li>
        </ul>
      </div>
    );
  }
}
style.module.css
.title {
  color: yellow;
}

4、CSS in JS

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 08:56:16  更:2021-08-28 08:56:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:26:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码