当前位置: 首页 > news >正文

步入React前厅 - Css In React

目录

扩展学习资料

行内样式

引入样式表

CSS Module

@/src/components/common.module.css

@/src/components/listitem.module.css

css管理进阶

Css管理工具

练习


扩展学习资料

资料名称

链接

css module

CSS Modules 用法教程 - 阮一峰的网络日志      

在React中使用css预编译

https://juejin.im/post/5c3d67066fb9a049f06a8323     

styled   component

styled-components

行内样式

<div style={{fontSize: 18, color: red}}>Content Here</div>

引入样式表

import './listitem.css'; // .title { font-size: 22px } // 全局样式,其他组件也可以使用
<span className='title'>{props.data.name}</span>

CSS Module

// 基于前端工程化开发的一套解决方案
import style from './listitem.module.css'; // .title { font-size: 22px } 
<span className={style.title}>{props.data.name}</span>

解决了CSS的一些问题: 全局污染    命名混乱    没有依赖管理    可以不使用sass、less等第三方库

  • 不使用选择器,使用class名定义样式
  • 不层叠class,使用一个class定义样式
  • 用compose来组合

@/src/components/common.module.css

.common {font-size: 16px;background-color: aqua;text-decoration: underline;
}

@/src/components/listitem.module.css

.common {text-decoration: underline;text-indent: 2em;display: block;
}
.title {/* composes: common; */composes: common from 'common.module.css';font-size: 20px;font-weight: bold;color: #710000;
}

css管理进阶

Css管理工具

  • Styled-component【js赋能,解决css不具备的一些能力,如:变量循环,函数】
  • Classnames【更方便的使用cssModule】
// npm install classnames --save
import classnames from 'classnames/bind';
const cls = classnames.bind(style);
<span className={style.title}>{props.data.name}</span>
// =>
<span className={cls('title', 'price-tag2')}>¥{props.data.price}</span>import cn from 'classnames';
const count = 0;
const _cn = cn({'themed-grid-col-s': !count,
});
<div className={`col-2 themed-grid-col ` + _cn}>{`${count ? count + '个' : count}`}
</div>

练习

1.将案例的购物车列表改为单双行不同的样式(例如双数行底色为: #ddd)

{index%2 > 'background: #ddd'}

相关文章:

步入React前厅 - Css In React

目录 扩展学习资料 行内样式 引入样式表 CSS Module /src/components/common.module.css /src/components/listitem.module.css css管理进阶 Css管理工具 练习 扩展学习资料 资料名称 链接 css module CSS Modules 用法教程 - 阮一峰的网络日志 在React中使…...

OpenCV(三)——图像分割(二)

目录 4.边缘检测 4.1 图像梯度的概念 4.2 模板卷积和梯度图的概念 4.3 梯度算子...

28.Netty源码之缓存一致性协议

Mpsc Queue 基础知识 Mpsc 的全称是 Multi Producer Single Consumer&#xff0c;多生产者单消费者。Mpsc Queue 可以保证多个生产者同时访问队列是线程安全的&#xff0c;而且同一时刻只允许一个消费者从队列中读取数据。 Netty Reactor 线程中任务队列 taskQueue 必须满足多个…...

造个轮子-任务调度执行小框架-任务清单执行恢复实现

文章目录 前言恢复执行流程失败任务执行重启执行中任务恢复执行修复组件整合组件整合容器启动类总结前言 okey,通过前面的两篇文章,关于这个任务执行这一块,我想应该是明白了。但是这里的话,还是不够的。我们希望对于任务还可以做到执行失败的重试执行,关于这个意外宕机的…...

若依部署前后端

打包项目 前端打包 npm run build:prod将代码上传到指定目录 配置nginx转发 server{listen 8090;server_name localhost;location / {root /home/cc_library/dist;index index.html index.htm;# 配置 history模式&#xff0c;刷新页面会404&#xff0c;&#xff0c;因为服…...

2009年上半年 软件设计师 下午试卷

博主介绍&#xff1a;✌全网粉丝3W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…...

SpringBoot使用自定义事件监听器的demo

记录一下SpringBoot自定义事件监听器的使用方法 案例源码:SpringBoot使用自定义事件监听器的demo 使用的SpringBoot2.0.x版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><…...

arcgis定义投影与投影

1、定义 地理坐标系&#xff08;GCS&#xff09;&#xff1a;利用地球表面的经纬度表示的坐标系统。一般单位为度。投影坐标系&#xff08;PCS&#xff09;&#xff1a;利用数学换算将三维地球表面上的经纬度坐标转换到二维平面上的坐标系统。一般单位为米。可以认为&#xff…...

Flink多流处理之Broadcast(广播变量)

写过Spark批处理的应该都知道,有一个广播变量broadcast这样的一个算子,可以优化我们计算的过程,有效的提高效率;同样在Flink中也有broadcast,简单来说和Spark中的类似,但是有所区别,首先Spark中的broadcast是静态的数据,而Flink中的broadcast是动态的,也就是源源不断的数据流.在…...

LVS/DR+Keepalived负载均衡实战(一)

引言 负载均衡这个概念对于一个IT老鸟来说再也熟悉不过了&#xff0c;当听到此概念的第一反应是想到举世闻名的nginx&#xff0c;但殊不知还有一个大名鼎鼎的负载均衡方案可能被忽略了&#xff0c;因为对于一般系统来说&#xff0c;很多应用场合中采用nginx基本已经满足需求&a…...

测试DWPose的onnx +Unity barracuda

环境&#xff1a; Unity Barracuda 3.0.1 从github直接拉取的barracuda仓库才能装到这个版本Barracuda以后不再升级了&#xff0c;会迁移到Unity AI大计划里的Sentis 我想申请的来着但好像已经不开放了 Unity 2021.3.20模型&#xff1a;dw-ll_ucoco_384.onnx 报了一些错&…...

轻装上阵,不调用jar包,用C#写SM4加密算法【卸载IKVM 】

前言 记得之前写了一个文章&#xff0c;是关于java和c#加密不一致导致需要使用ikvm的方式来进行数据加密&#xff0c;主要是ikvm把打包后的jar包打成dll包&#xff0c;然后Nuget引入ikvm&#xff0c;从而实现算法的统一&#xff0c;这几天闲来无事&#xff0c;网上找了一下加密…...

redis学习笔记(一)

文章目录 一、引言二、redis介绍2.1、定义2.2、Redis的数据类型及主要特性2.3、Redis的应用场景有哪些&#xff1f; 三、redis环境安装3.1、下载和安装 一、引言 在Web应用发展的初期&#xff0c;那时关系型数据库受到了较为广泛的关注和应用&#xff0c;原因是因为那时候Web站…...

最优化问题 - 拉格朗日对偶

primal 原问题 dual 对偶问题 目标函数 约束条件 可行域D 对偶专题 “拉格朗日对偶问题”如何直观理解&#xff1f;“KKT条件” “Slater条件” “凸优化”打包理解——bilibili 王木头 拉格朗日乘子法与对偶问题...

关于ISO27701隐私信息安全管理体系介绍

01 什么是ISO27701 ISO27701是对ISO27001信息安全管理和ISO27002安全控制的隐私扩展&#xff0c;全称《安全技术—扩展ISO27001和ISO27002的隐私信息管理—要求与指南》&#xff0c;是ISO标准委员会以ISO 27001为基准&#xff0c;以ISO27552为蓝本&#xff0c;建立发布的隐私…...

C语言案例 分数列求和-11

题目&#xff1a;有一分数列&#xff1a;2 / 1,3 / 2,5 / 3,8 / 5,13 / 8,21 / 13 …求出这个数列的前20项之和。 程序分析 这是一个典型的分数列数学逻辑题&#xff0c;考究这类题目是需要从已知的条件中找到它们的分布规律 我们把前6荐的分子与分母分别排列出来&#xff0c;…...

Git 入门

一、版本控制 1.1 什么是版本控制 版本控制&#xff08;Revision control&#xff09;是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史&#xff0c;方便查看更改历史记录&#xff0c;备份以便恢复以前的版本的软件工程技术。简单说就是用于管理多人协同开…...

PAT 1010 Radix

个人学习记录&#xff0c;代码难免不尽人意 Given a pair of positive integers, for example, 6 and 110, can this equation 6 110 be true? The answer is yes, if 6 is a decimal number and 110 is a binary number. Now for any pair of positive integers N 1and N 2…...

ruoyi-cloud微服务新建子模块

目录 相关文章1、复制system模块2、在modules下的 pom.xml文件中添加子模块 test3、进入 test模块修改 pom.xml4、修改对应的包名、目录名和启动应用程序为test5、修改bootstrap.yml文件中的端口号和应用名称6、nacos中克隆 system-dev.yml的配置&#xff0c;修改名称为 test-d…...

Dijkstra(求最短路)

时间复杂是 O(n2m) &#xff0c;n 表示点数&#xff0c;m 表示边数 模板(朴素法一般m等于n^2的时候使用) #include<bits/stdc.h> #include<algorithm> using namespace std; const int N510; int g[N][N]; //为稠密阵所以用邻接矩阵存储 int dist[N]; //用…...

从零到一:手把手教你搭建Pandabuy风格淘宝代购系统全攻略

Pandabuy作为反向海淘标杆&#xff0c;以“高效、低成本、合规”为核心优势&#xff0c;其系统架构与运营模式极具参考价值。本文对标Pandabuy核心逻辑&#xff0c;精简冗余内容&#xff0c;聚焦核心实操&#xff0c;从零到一拆解淘宝代购系统搭建全流程&#xff0c;涵盖前期准…...

小米手表表盘设计终极指南:用Mi-Create打造你的专属表盘

小米手表表盘设计终极指南&#xff1a;用Mi-Create打造你的专属表盘 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 还在为小米手表找不到心仪的表盘而烦恼吗&…...

C++26静态反射在构建系统中的成本博弈(编译期开销红黑榜TOP3)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;C26静态反射在构建系统中的成本博弈&#xff08;编译期开销红黑榜TOP3&#xff09; C26 引入的 std::reflexpr 和 meta::info 等静态反射核心设施&#xff0c;虽为元编程带来前所未有的表达力&#xff…...

高效脚本封装利器:Ahk2Exe终极编译指南

高效脚本封装利器&#xff1a;Ahk2Exe终极编译指南 【免费下载链接】Ahk2Exe Official AutoHotkey script compiler - written itself in AutoHotkey 项目地址: https://gitcode.com/gh_mirrors/ah/Ahk2Exe 你是否厌倦了每次运行AutoHotkey脚本都需要安装运行环境&#…...

VR-Reversal:将3D全景视频转换为2D普通视频的完整指南

VR-Reversal&#xff1a;将3D全景视频转换为2D普通视频的完整指南 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mi…...

AI驱动的资源聚合平台:从数据采集到智能分类的工程实践

1. 项目概述&#xff1a;一个AI驱动的聚合资源库在AI技术日新月异的今天&#xff0c;无论是研究者、开发者还是技术爱好者&#xff0c;都面临着一个共同的挑战&#xff1a;信息过载。每天都有新的模型、工具、框架和论文涌现&#xff0c;如何高效地发现、筛选和整合这些优质资源…...

VSCode 2026跨设备连接实测报告:3大协议对比(SSH+Dev Tunnels+Edge Runtime),92%开发者已切换至新架构?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;VSCode 2026跨设备连接的演进逻辑与架构跃迁 VSCode 2026 的跨设备连接能力已从早期的 SSH 隧道和 Remote-SSH 扩展&#xff0c;跃迁为基于零信任网络&#xff08;ZTN&#xff09;与轻量级边缘代理&…...

马尔可夫链蒙特卡洛(MCMC)原理与应用指南

1. 概率世界的探索工具&#xff1a;马尔可夫链蒙特卡洛入门当我们需要在复杂概率分布中进行采样或计算期望值时&#xff0c;传统方法往往束手无策。想象你面前有一片形状奇特的山脉&#xff0c;需要计算平均海拔——常规的均匀采样会浪费大量时间在平坦区域&#xff0c;而重要区…...

【GEO】为什么很多本地生活商家接不住 AI 流量?问题不在曝光,而在“临门一脚”

为什么很多本地生活商家接不住 AI 流量&#xff1f;问题不在曝光&#xff0c;而在“临门一脚”在过去一年里&#xff0c;很多本地生活商家都有一个共同感受&#xff1a;平台在变&#xff0c;流量在变&#xff0c;用户越来越习惯直接问 AI。但奇怪的是—— 明明门店信息、点评、…...

哔哩哔哩概念版 4K画质 内置了会员模块「Android」

概念版是一个有新鲜好玩功能的概念版本&#xff0c;当我们有新功能的尝试或者我们在进行一些黑科技的探索时&#xff0c;将会优先在概念版本中进行发布。这一次发布概念版也有很多黑科技和新功能出现呢。当然啦&#xff0c;在概念版中的一些功能因为是尝试所以可能会有一些欠缺…...