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代理,看看它是如何帮助我们提…...
ARMv8 HFGITR_EL2寄存器解析与虚拟化指令陷阱控制
1. AArch64 HFGITR_EL2寄存器架构解析HFGITR_EL2(Hypervisor Fine-Grained Instruction Trap Register)是ARMv8架构中专门用于指令级陷阱控制的系统寄存器,属于虚拟化扩展的重要组成部分。这个64位寄存器通过位映射机制实现对特定AArch64指令…...
嘈杂工业场景下的自适应VAD与双码本声纹识别鉴权系统:基于端侧轻量化神经网络与向量量化(VQ)重构
在大型化工车间、能源集控中心以及金融极密隔离库房中,离线声纹识别是物理访问控制和身份安全核验的重要生物特征屏障。然而,在环境本底噪声高达80dB以上的恶劣工业场景下,常规的语音活动检测(VAD)会频繁误触ÿ…...
Unity UI交互进阶:手把手教你打造一个支持单击、双击、长按的万能按钮组件
Unity UI交互进阶:手把手教你打造一个支持单击、双击、长按的万能按钮组件在游戏开发中,UI交互的流畅性和多样性直接影响玩家的游戏体验。想象一下,当你在开发一个RPG游戏的背包系统时,需要实现道具的单击查看详情、双击快速使用、…...
告别混乱绑定!在UE5 GAS中优雅管理技能输入(基于GameplayTag)
告别混乱绑定!在UE5 GAS中优雅管理技能输入(基于GameplayTag)当你的UE5 RPG项目发展到中期,技能数量从十几个膨胀到几十个时,最痛苦的莫过于发现InputAction绑定已经变成一团乱麻。每次新增技能都要修改输入绑定逻辑&a…...
百度文心一言开发者如何通过Taotoken低成本接入多模型API
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 百度文心一言开发者如何通过Taotoken低成本接入多模型API 对于已经熟悉并正在使用百度文心一言等国产大模型API的开发者而言&#…...
League Akari:如何通过LCU API实现英雄联盟游戏流程的智能化管理?
League Akari:如何通过LCU API实现英雄联盟游戏流程的智能化管理? 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit Leag…...
基于Meshtastic构建LoRa Mesh网络:从硬件自制到传感器集成实战
1. 项目概述:构建一个灵活且易用的LoRa Mesh网络 如果你对物联网、远程传感或者去中心化通信网络感兴趣,那么LoRa技术一定不会陌生。它以其超低功耗、超远距离和强大的抗干扰能力,成为了构建广域传感网络的理想选择。然而,传统的…...
开源三角洲机器人Delta-Robot One:从入门到精通的创客实践指南
1. 项目概述:一个为学习而生的开源三角洲机器人如果你对机器人感兴趣,但又觉得它高深莫测、无从下手,那么Delta-Robot One(我们亲切地称它为“One”)可能就是为你量身打造的入门项目。这不是一个遥不可及的工业设备&am…...
Neat Bookmarks:重构Chrome书签管理的树状结构解决方案
Neat Bookmarks:重构Chrome书签管理的树状结构解决方案 【免费下载链接】neat-bookmarks A neat bookmarks tree popup extension for Chrome [DISCONTINUED] 项目地址: https://gitcode.com/gh_mirrors/ne/neat-bookmarks 在信息过载的数字化工作环境中&…...
Meteor-Files新手教程:从安装到实现第一个文件上传功能的完整步骤
Meteor-Files新手教程:从安装到实现第一个文件上传功能的完整步骤 【免费下载链接】Meteor-Files 🚀 Upload files via DDP or HTTP to ☄️ Meteor server FS, AWS, GridFS, DropBox or Google Drive. Fast, secure and robust. 项目地址: https://gi…...
