nodejs 013:Prect 样式复用(multiple classes)例子
Prect 简单示例
- Prect 为使用相同的现代 API 的快速 3kB React 替代方案。代码形式与 React 基本相同。部分语法区别可见 prect-differences-to-react。以下是一个 Prect 简单示例。
Button目录Button.css:
.this {display: inline-block;padding: 3px 8px;margin-bottom: 0;font-size: 0.9rem;line-height: 1.4;text-align: center;white-space: nowrap;vertical-align: middle;cursor: default;background-image: none;border: 1px solid transparent;border-radius: var(--radius-size);box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);-webkit-app-region: no-drag;cursor: pointer;
}.this:focus {outline: none;box-shadow: none;
}
Button目录index.jsx:
import { h } from 'preact';
import styles from './Button.css'; // CSS Modules模块化,需要打包工具支持,比如webpack在style-loader配置const Button = ({className,children,type = 'default',...props
}) => (<button// CSS Modules模块化,需要打包工具支持,比如webpack在style-loader配置className={${styles.this} ${styles[type]} ${className ? className : ''}}{...props}>{ children }</button>
);export default Button;
src使用的例子index.jsx
import { h, Component, render } from 'preact';
import Button from '../Button';class App extends Component { render() { return (<div><h1>欢迎使用按钮组件</h1><Button children={'点击我'}/></div>);}
}render(<App />,document.querySelector('#root'))
prect 中multiple classes样式管理
- 前端的"multiple classes" 通常指的是在 HTML 元素中同时应用多个 CSS 类。类似
<div class="class1 class2 class3">内容</div>
。
这样做的主要目的是为了更好地管理样式,提高代码的可复用性和可维护性。
-
样式复用:通过将多个类组合在一起,可以灵活地复用已有的样式。例如,你可以有一个基础样式类和一个特定样式类:
<div class="box primary">内容</div>
在这个例子中,
box
是基础样式,而primary
可能是特定的颜色或背景。 -
响应式设计:可以为不同的屏幕尺寸或状态应用不同的类。例如:
<button class="btn large hidden-on-mobile">点击我</button>
这里
large
和hidden-on-mobile
可以分别控制按钮的大小和在移动设备上的可见性。 -
状态管理:当元素的状态发生变化时,可以通过添加或移除类来改变样式。例如,添加
active
类表示按钮被点击:button.classList.add('active');
Button目录Button.css:
.this {display: inline-block;padding: 3px 80px;margin-bottom: 0;font-size: 0.9rem;line-height: 1.4;text-align: center;white-space: nowrap;vertical-align: middle;cursor: default;background-image: none;border: 1px solid transparent;border-radius: var(--radius-size);box-shadow: 0 1px 1px rgba(0, 0, 0, 0.06);-webkit-app-region: no-drag;cursor: pointer;}.this:focus {outline: none;box-shadow: none;
}.default {color: #123eed;border-top-color: #c2c0c2;border-right-color: #c2c0c2;border-bottom-color: #a19fa1;border-left-color: #c2c0c2;background-color: #fcfcfc;background-image: linear-gradient(to bottom, #fcfcfc 0%, #f1f1f1 100%);
}.default:active {/* background-color: #ddd; */background-color: #20B2AA; /* 蓝绿色 */background-image: none;
}
Button目录index.jsx:
import { h } from 'preact';
import './Button.css';const Button = ({className,text,...props
}) => (<buttonclassName={`this ${className || ''}`}>{ text}</button>
);export default Button;
src使用的例子index.jsx
import { h, Component, render } from 'preact';
import Button from '../Button';class App extends Component { state = {Text: "WORLD",}; render() { return (<div><h1>欢迎使用按钮组件</h1><Button text={'HELLO WORLD'} className={'default'}/></div>);}
}render(<App />,document.querySelector('#root'))
效果
CG
- 注:React 组件以大写字母开头,而 HTML 标签则必须是小写字母。
相关文章:

nodejs 013:Prect 样式复用(multiple classes)例子
Prect 简单示例 Prect 为使用相同的现代 API 的快速 3kB React 替代方案。代码形式与 React 基本相同。部分语法区别可见 prect-differences-to-react。以下是一个 Prect 简单示例。 Button目录Button.css: .this {display: inline-block;padding: 3px 8px;margi…...

MQ入门(一):同步调用和异步调用--RabbitMQ基础入门
目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装部署 2.2.RabbitMQ基本架构 2.3.收发消息 2.3.1.交换机 2.3.2.队列 2.3.3.绑定关系 2.3.4.发送消息 2.4.数据隔离 2.4.1.用户管理 2.4.2.virtual host 1.初识MQ 微服务一旦拆分&…...

由于安全风险,安全领导者考虑禁止人工智能编码
安全团队与开发团队之间的紧张关系 83% 的安全领导者表示,他们的开发人员目前使用人工智能来生成代码,57% 的人表示这已成为一种常见做法。 然而,72% 的人认为他们别无选择,只能允许开发人员使用人工智能来保持竞争力࿰…...
地图相关的系统软件及插件
1 ArcGis ArcGis For Javascript中文网站 首页 | ArcGis中文网 ArcGis For Javascript英文网站 ArcGIS是一款由Esri公司开发的地理信息系统软件,它提供了丰富的地图数据和分析工具,可以帮助用户进行各种空间分析和决策。 2 leaflet leaflet中文网站…...
Elasticsearch如何排序,分页以及高亮查询
目录 一、排序 二、分页查询 三、高亮查询 一、排序 ES中默认使用相关度分数实现排序,可以通过搜索语法定制化排序。 GET /索引/_search { "query": 搜索条件,"sort": [{"字段1":{"order":"asc"} },{ "字…...

Transformer预测 | 基于Transformer心率时间序列预测(tensorflow)
效果一览 基本介绍 Transformer预测 | 基于Transformer心率时间序列预测(tensorflow) 程序设计 import pandas as pd from pandas.plotting import lag_plot from statsmodels.graphics...

科研绘图系列:R语言误差连线图(errobar linechart)
文章目录 介绍加载R包导入数据数据预处理画图系统信息介绍 误差连线图是一种在数据可视化中常用的图表,它通过在数据点处添加线段(误差线)来表示数据的变异性或不确定性。这些误差线可以基于不同的统计度量,如标准差(Standard Deviation)、标准误差(Standard Error)或…...

智能BI项目第五期
本期主要内容 系统问题分析异步化业务流程分析线程池讲解(入门 原理 实战)系统异步化改造开发 1.系统问题分析 当系统面临大量用户请求时,我们后端的 AI 处理能力有限,例如服务器的内存、CPU、网络带宽等资源有限,…...

Android-UI设计
控件 控件是用户与应用交互的元素。常见的控件包括: 按钮 (Button):用于执行动作。文本框 (EditText):让用户输入文本。复选框 (CheckBox):允许用户选择或取消选择某个选项。单选按钮 (RadioButton):用于在多个选项中…...

docker desktop windows stop
服务docker改为启动 cmd下查看docker版本 {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://hub.atomgit.com/"]…...

Qt容器类控件——QGroupBox和QTabWidget
文章目录 QGroupBox又来点餐QTabWidget使用演示 QGroupBox 容器类控件即里面可以容纳其他的控件 QGroupBox叫做分组框,可以把其他控件放在里面作为一组 QGroupBox的存在,只是为了让界面更好看一点,并不实现实质性的功能。 当界面较复杂的时候…...

qt-creator-10.0.2之后版本的jom.exe构建和编译速度慢下来了
1、Qt的IDE一直在升级,qt-creator的新版本下载地址 https://download.qt.io/official_releases/qtcreator/ 2、本人一直用的是qt-creator-10.0.2版本,官网历史仓库可以下载安装包qt-creator-opensource-windows-x86_64-10.0.2.exe https://download.qt…...

ESP32-WROOM-32 [创建AP站点-TCP服务端-数据收发]
简介 ESP32 创建TCP Server AP站点, PC作为客户端连接站点并收发数据 指令介绍 注意,下面指令需要在最后加上CRLF, 也就是\r\n(回车换行) ATRESTORE // 恢复出厂设置 ATCWMODE2 // 设置 Wi-Fi 模式为 softAP ATCIPMODE0 // 需要数据传输模式改为0, 普通…...

工业机器视觉中的常见需求
目录 学习目的 熟系 Halcon的原因 专业性强: 高性能: 丰富的功能库 学习 OpenCV 的原因 开源与免费: 灵活性与可扩展性: 广泛的应用: 学习资源丰富: 总结 学习背景 工业视觉检测中常见分类 一、定…...

JavaWeb的Filter详解
过滤器Filter 什么是Filter? 依据字面上的中文意思为过滤器。Filter的作用 当用户的请求到达指定的URL之前,可以借助Filter来改变这些请求的内容;同样地,当响应结果到达客户端之前,可以使用Filter修改输出的内容。什么…...

【iOS】KVC的学习
【iOS】KVC的学习 文章目录 【iOS】KVC的学习前言KVC定义KVC设值KVC取值KVC使用keyPathKVC处理异常处理nil异常 KVC的一些应用修改动态的设置值实现高阶的消息传递 小结 前言 笔者简单学习了有关与KVC的相关内容,这里写一篇博客简单介绍一下相关内容。 KVC 定义 KV…...

影刀RPA实战:网页爬虫之药品数据
1 实战目标 这次给大家带来的实战示例是采集中国医药信息平台上的药品数据,主要获取药品名称,介绍,药品类型,处方类型,医保类型,参考价格,药品成分,性状,适应病症&#…...
python禁止位置传参函数
这种函数定义方式使用了 Python 3.x 中的关键字参数(keyword-only arguments)的特性,通过在参数列表中使用 * 符号作为分隔符,来明确指示该函数之后的参数必须使用关键字(即参数名)来传递,而不能…...
java面试题第一弹
Java 的基本数据类型有哪些? Java 的基本数据类型(primitive data types)包括以下八种: byte: 尺寸:1 字节(8 位)。范围:-128 到 127。用途:节省内存&#x…...
住宅HTTP代理:提升网络隐私与安全的新选择
在互联网时代,我们的在线隐私和安全变得越来越重要。无论是浏览网页、进行在线交易,还是访问受限内容,住宅HTTP代理都能为我们提供一种可靠的解决方案。今天,我们就来深入探讨一下住宅HTTP代理,看看它是如何帮助我们提…...

Linux配置yum 时间同步服务 关闭防火墙 关闭ESlinux
1、配置yum 1.1、Could not resolve host: mirrorlist.centos.org; 未知的错误 https://blog.csdn.net/fansfi/article/details/146369946?fromshareblogdetail&sharetypeblogdetail&sharerId146369946&sharereferPC&sharesourceRockandrollman&sharefr…...
ComfyUI 工作流
目录 🧠 ComfyUI 是什么? ComfyUI 的特点 🔧 ComfyUI 工作流程(节点图) 📌 简单理解 如何安装? 🧠 ComfyUI 是什么? ComfyUI 是一个 Stable Diffusion 的图形化用户界面(GUI),专门用来生成图像。它通过 节点图(Node Graph)形式来让用户定义图像生成的每…...

Python爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

PyTorch--池化层(4)
池化层(Pooling Layer) 用于降低特征图的空间维度,减少计算量和参数数量,同时保留最重要的特征信息。 池化作用:比如1080p视频——720p 池化层的步长默认是卷积核的大小 ceil 允许有出界部分;floor 不允许…...
PyQt实现3维数组与界面TableWidget双向绑定
以下是一个使用PyQt实现3维数组与界面TableWidget双向绑定的示例代码。该程序包含一个下拉菜单选择第0维索引,表格展示第1维和第2维的数据,并支持双向数据同步: import sys import numpy as np from PyQt5.QtWidgets import (QApplication, …...

LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上
题目:1731. 每位经理的下属员工数量 题解: select employee_id,name,reports_count,average_age from Employees t1,(select reports_to,count(*) reports_count,round(avg(age)) average_agefrom Employeeswhere reports_to is not nullgroup by repor…...
深入解析C++五大常用设计模式:原理、实现与应用场景
设计模式是解决特定软件设计问题的经典方案,掌握它们能显著提升代码的可维护性和扩展性。本文详细解析C中五种最常用的设计模式,附带完整代码示例和实战技巧。 一、设计模式概述 设计模式是面向对象编程中可复用的解决方案,它们源于工程师们…...

Android Test2 获取系统android id
Android Test2 获取系统 android id 这篇文章针对一个常用的功能做一个测试。 在项目中,时常会遇到的一个需求就是:一台设备的唯一标识值。然后,在网络请求中将这个识别值传送到后端服务器,用作后端数据查询的条件。Android 设备…...

OPenCV CUDA模块目标检测----- HOG 特征提取和目标检测类cv::cuda::HOG
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::cuda::HOG 是 OpenCV 的 CUDA 模块中对 HOG 特征提取和目标检测 提供的 GPU 实现。它与 CPU 版本的 cv::HOGDescriptor 类似,但利…...
前端常见错误
1. TypeError: Cannot read property xxx of undefined 错误原因:尝试访问一个 undefined 或 null 对象的属性 / 方法。 示例代码: const user { name: "John" }; console.log(user.address.street); // user.address 为 undefined 解决方…...