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

做国外直播网站有哪些办公空间设计论文

做国外直播网站有哪些,办公空间设计论文,无锡网建公司,个人网页设计手绘StyledFc 一个简单的运行时css-in-js库#xff0c;用于封装react组件 零依赖非常小#xff0c; 3kb.运行时生成css支持css变量支持类似less的嵌套css样式支持props动态css支持typescript 在线演示 | Github 安装 pnpm add styledfc # or npm install styledfc # or …StyledFc 一个简单的运行时css-in-js库用于封装react组件 零依赖非常小 3kb.运行时生成css支持css变量支持类似less的嵌套css样式支持props动态css支持typescript 在线演示 | Github 安装 pnpm add styledfc # or npm install styledfc # or yarn add styledfc用法 拟开发一个Card组件组件有一个title属性用于显示标题一个footer属性用于显示底部内容children属性作为卡片的内容区。 基本用法 import { styled } from styledfc export type CardProps React.PropsWithChildren{title:string footer?:string}export const Card styledCardProps((props,{className}){const { title,children,footer} propsreturn (div className{className}div classNametitle {title}/divdiv classNamecontent{children}/divdiv classNamefooter{footer}/div/div)},{ // 组件样式position:relative,width:100%,border:1px solid #ccc,borderRadius:4px }) 以上代码将创建一个Card组件为样式生成一个样式类名称是随机生成的并插入到head标签中。然后将className属性传递给组件组件将使用这个类名来应用样式。 实际上你可以在head发现一个类似这样的CSS样式其中的类名和style.id均是自动生成的。也可以通过options参数来指定styleId和className。 style id6rxqfu .sw6y3s4{position:relative;width:100%;border:1px solid #ccc;border-radius:4px; } /style嵌套样式 接下来我们来为Card组件的title和footer添加样式. export const Card styledCardProps((props,{className}){const { title,children,footer} propsreturn (div className{className}div classNametitle {title}/divdiv classNamecontent{children}/divdiv classNamefooter{footer}/div/div)},{ // 组件样式position:relative,width:100%,border:1px solid #ccc,borderRadius:4px, .title:{fontSize:20px,fontWeight:bold,}, .footer:{borderTop:1px solid #ccc,padding:8px,textAlign:right}})以上我们为title和footer添加了样式。使用符号来表示当前父类元素使用的方式与less和sass等嵌套CSS的语法类似。 在head生成的样式如下 style id6rxqfu .sw6y3s4{position:relative;width:100%;border:1px solid #ccc;border-radius:4px; } .sw6y3s4 .title{font-size:20px;font-weight:bold; } .sw6y3s4 .footer{border-top:1px solid #ccc;padding:8px;text-align:right; } /style动态样式 styledfc支持使用props来动态设置样式。 我们想让卡片content的背景颜色可以通过props.bgColor属性来指定。 export const Card styledCardProps((props,{className,getStyle}){const { title,children,footer} propsreturn (div className{className} style{getStyle()}div classNametitle {title}/divdiv classNamecontent{children}/divdiv classNamefooter{footer}/div/div)},{ // 组件样式position:relative,width:100%,border:1px solid #ccc,borderRadius:4px, .title:{fontSize:20px,fontWeight:bold,}, .footer:{borderTop:1px solid #ccc,padding:8px,textAlign:right}, .content:{padding:8px,backgroundColor:(props)props.bgColor}})为了支持动态属性我们需要使用getStyle函数来获取动态样式然后注入到组件的根元素中。getStyle函数返回一个css样式对象可以直接传递给style属性。任意css属性均可以使用(props){....}来动态生成CSS属性值。 CSS变量 styledfc支持使用css变量。可以在getStyle函数中传入更新后的css变量。 export const Card styledCardProps((props,{className,getStyle}){const { title,children,footer} propsconst [primaryColor,setPrimaryColor] React.useState(blue)return (div className{className} style{getStyle({--primary-color:primaryColor})}div classNametitle {title}button onClick{()setPrimaryColor(red)}/divdiv classNamecontent{children}/divdiv classNamefooter{footer}/div/div)},{ // 组件样式position:relative,width:100%,border:1px solid #ccc,borderRadius:4px,--primary-color:blue, .title:{fontSize:20px,fontWeight:bold,color:var(--primary-color)}, .footer:{borderTop:1px solid #ccc,padding:8px,textAlign:right}, .content:{padding:8px,backgroundColor:(props)props.bgColor}})以上我们在根样式中声明了一个--primary-color的css变量。然后我们在title样式中使用了--primary-color变量。getStyle函数支持传入更新css变量。 小结 默认只需要在组件引用className即可。如果需要使用props动态css属性需要使用getStyle函数来获取动态css样式并注入到根元素中。getStyle函数支持传入更新css变量。 Hook styledfc还提供了一个useStyle钩子用于在函数组件中使用。 同样功能的Card组件可以使用useStyle钩子来实现。 import { useStyle } from styledfc export const Card2:React.FCReact.PropsWithChildrenCardProps ((props:CardProps){const { title } propsconst [titleColor,setTitleColor] useState(blue)const {className,getStyle } useStyle({// 此处是组件样式})return (div className{className} style{getStyle({--title-color:titleColor},props)}div classNametitle span{title}/spanspan classNametoolsbutton onClick{()setTitleColor(getRandColor())}Change/button/span/divdiv classNamecontent {props.children}/divdiv classNamefooter{props.footer}/div/div)})useStyle钩子返回className和getStyle,用来注入样式类名和动态样式。getStyle函数支持传入更新css变量。如果使用到props动态样式则需要传入props参数。useStyle钩子支持传入options参数来配置styleId和className。useStyle与styled函数功能一样唯一的区别是useStyle在head注入的样式表在组件卸载时会自动移除。 配置 styledfc支持以下options参数来配置。 // styled(React.FC,styles,options) export interface StyledOptions{// 样式表的ID,没有指定则会自动生成styleId?:string // 生成的样式类名如果没有指定则自动生成 className?:string }API export interface StyledOptions{// 生成的样式表id如果没有指定则自动生成styleId?:string // 生成的css类名如果没有指定则自动生成className?:string } export type StyledComponentParams {// 生成的css类名className:string// 生成的样式表idstyleId:string// css变量vars:Recordstring,string | number // 获取动态css样式当使用props动态css时需要使用getStyle注入css样式对象例如style{getStyle()}getStyle : ()Recordstring,string | number }export type StyledComponentProps (props:React.PropsWithChildrenProps,params:StyledComponentParams)React.ReactElementstyledProps(FC: StyledComponentProps,styles:CSSObject,options?:StyledOptions) 在线演示 | Github
http://www.zqtcl.cn/news/562097/

相关文章:

  • 网站制作公司汉狮网络手机版网站优化
  • 铜川做网站logo 图标 设计
  • 如何做网站的注册页面南京宣传片公司有哪些
  • 中国建设机械教育协会网站网站建设中html中关于图片显示的标签有哪些
  • 网站过期后dede减肥网站源码
  • 营销型 手机网站网站建设方案后期服务
  • 怎么做一个个人网站建网站的八个步骤
  • 淘宝导购网站模版上海网站推广软件
  • 做影视网站引流湖北响应式网站建设费用
  • 网站统计cnzz网站空间有哪些
  • 泉州微信网站开发公司wordpress头像解决
  • 湛江网站建设皆选小罗24专业网站建设 福田
  • 厦门哪些做鲜花的网站门户网站开发设计报告
  • asp.net网站设计分工天津网站开发贴吧
  • 做多语言网站教程南宁vi设计公司
  • 百度联盟 网站备案wordpress 吾爱破解
  • 山西省建设厅网站首页网络营销推广为什么效果不好
  • 建材做网站好吗长沙做网站微联讯点不错
  • 建设小型网站分类门户网站系统
  • 文化馆网站数字化建设介绍138ip地址查询网站
  • 卖汽车的网站怎么做的建设服装网站的论文
  • 网络推广哪个网站好网站建设最低多少钱
  • 怎么在自己电脑做网站北京赛车网站开发
  • 门户网站内容wordpress上下页
  • 长安做英文网站营销型网站搭建
  • 网站开发交接清单seo排名优化方法
  • 各学院二级网站建设通报wordpress注册评论
  • 南通公司做网站无人在线完整免费高清观看
  • 廊坊网站推广局域网网站建设的步骤过程
  • 如何在工信部网站注册简易网页设计代码