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代理,看看它是如何帮助我们提…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
