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

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>
    这样做的主要目的是为了更好地管理样式,提高代码的可复用性和可维护性。
  1. 样式复用:通过将多个类组合在一起,可以灵活地复用已有的样式。例如,你可以有一个基础样式类和一个特定样式类:

    <div class="box primary">内容</div>
    

    在这个例子中,box 是基础样式,而 primary 可能是特定的颜色或背景。

  2. 响应式设计:可以为不同的屏幕尺寸或状态应用不同的类。例如:

    <button class="btn large hidden-on-mobile">点击我</button>
    

    这里 largehidden-on-mobile 可以分别控制按钮的大小和在移动设备上的可见性。

  3. 状态管理:当元素的状态发生变化时,可以通过添加或移除类来改变样式。例如,添加 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&#xff1a; .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% 的安全领导者表示&#xff0c;他们的开发人员目前使用人工智能来生成代码&#xff0c;57% 的人表示这已成为一种常见做法。 然而&#xff0c;72% 的人认为他们别无选择&#xff0c;只能允许开发人员使用人工智能来保持竞争力&#xff0…...

地图相关的系统软件及插件

1 ArcGis ArcGis For Javascript中文网站 首页 | ArcGis中文网 ArcGis For Javascript英文网站 ArcGIS是一款由Esri公司开发的地理信息系统软件&#xff0c;它提供了丰富的地图数据和分析工具&#xff0c;可以帮助用户进行各种空间分析和决策。 2 leaflet leaflet中文网站…...

Elasticsearch如何排序,分页以及高亮查询

目录 一、排序 二、分页查询 三、高亮查询 一、排序 ES中默认使用相关度分数实现排序&#xff0c;可以通过搜索语法定制化排序。 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项目第五期

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

Android-UI设计

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

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叫做分组框&#xff0c;可以把其他控件放在里面作为一组 QGroupBox的存在&#xff0c;只是为了让界面更好看一点&#xff0c;并不实现实质性的功能。 当界面较复杂的时候…...

qt-creator-10.0.2之后版本的jom.exe构建和编译速度慢下来了

1、Qt的IDE一直在升级&#xff0c;qt-creator的新版本下载地址 https://download.qt.io/official_releases/qtcreator/ 2、本人一直用的是qt-creator-10.0.2版本&#xff0c;官网历史仓库可以下载安装包qt-creator-opensource-windows-x86_64-10.0.2.exe https://download.qt…...

ESP32-WROOM-32 [创建AP站点-TCP服务端-数据收发]

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

工业机器视觉中的常见需求

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

JavaWeb的Filter详解

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

【iOS】KVC的学习

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

影刀RPA实战:网页爬虫之药品数据

1 实战目标 这次给大家带来的实战示例是采集中国医药信息平台上的药品数据&#xff0c;主要获取药品名称&#xff0c;介绍&#xff0c;药品类型&#xff0c;处方类型&#xff0c;医保类型&#xff0c;参考价格&#xff0c;药品成分&#xff0c;性状&#xff0c;适应病症&#…...

python禁止位置传参函数

这种函数定义方式使用了 Python 3.x 中的关键字参数&#xff08;keyword-only arguments&#xff09;的特性&#xff0c;通过在参数列表中使用 * 符号作为分隔符&#xff0c;来明确指示该函数之后的参数必须使用关键字&#xff08;即参数名&#xff09;来传递&#xff0c;而不能…...

java面试题第一弹

Java 的基本数据类型有哪些&#xff1f; Java 的基本数据类型&#xff08;primitive data types&#xff09;包括以下八种&#xff1a; byte&#xff1a; 尺寸&#xff1a;1 字节&#xff08;8 位&#xff09;。范围&#xff1a;-128 到 127。用途&#xff1a;节省内存&#x…...

住宅HTTP代理:提升网络隐私与安全的新选择

在互联网时代&#xff0c;我们的在线隐私和安全变得越来越重要。无论是浏览网页、进行在线交易&#xff0c;还是访问受限内容&#xff0c;住宅HTTP代理都能为我们提供一种可靠的解决方案。今天&#xff0c;我们就来深入探讨一下住宅HTTP代理&#xff0c;看看它是如何帮助我们提…...

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爬虫伪装

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

PyTorch--池化层(4)

池化层&#xff08;Pooling Layer&#xff09; 用于降低特征图的空间维度&#xff0c;减少计算量和参数数量&#xff0c;同时保留最重要的特征信息。 池化作用&#xff1a;比如1080p视频——720p 池化层的步长默认是卷积核的大小 ceil 允许有出界部分&#xff1b;floor 不允许…...

PyQt实现3维数组与界面TableWidget双向绑定

以下是一个使用PyQt实现3维数组与界面TableWidget双向绑定的示例代码。该程序包含一个下拉菜单选择第0维索引&#xff0c;表格展示第1维和第2维的数据&#xff0c;并支持双向数据同步&#xff1a; import sys import numpy as np from PyQt5.QtWidgets import (QApplication, …...

LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 上

题目&#xff1a;1731. 每位经理的下属员工数量 题解&#xff1a; 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++五大常用设计模式:原理、实现与应用场景

设计模式是解决特定软件设计问题的经典方案&#xff0c;掌握它们能显著提升代码的可维护性和扩展性。本文详细解析C中五种最常用的设计模式&#xff0c;附带完整代码示例和实战技巧。 一、设计模式概述 设计模式是面向对象编程中可复用的解决方案&#xff0c;它们源于工程师们…...

Android Test2 获取系统android id

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

OPenCV CUDA模块目标检测----- HOG 特征提取和目标检测类cv::cuda::HOG

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::HOG 是 OpenCV 的 CUDA 模块中对 HOG 特征提取和目标检测 提供的 GPU 实现。它与 CPU 版本的 cv::HOGDescriptor 类似&#xff0c;但利…...

前端常见错误

1. TypeError: Cannot read property xxx of undefined 错误原因&#xff1a;尝试访问一个 undefined 或 null 对象的属性 / 方法。 示例代码&#xff1a; const user { name: "John" }; console.log(user.address.street); // user.address 为 undefined 解决方…...