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

网站建设建站网云部署Wordpress

网站建设建站网,云部署Wordpress,网络营销案例分析论文3000字,推广普通话宣传语100字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.pierceye.com/news/4255/

相关文章:

  • 湖南企业网站营销设计百度网站建设工资
  • 电子商务网站建设基础步骤章丘网站开发
  • 单页面网站推广方法企业网站策划论文
  • 建设网站需要多长时间网页设计与制作基础
  • 深圳网站建设服务商哪些好?wordpress 地址栏
  • 个人网站做企业备案吗图像生成器在线制作
  • 网站网站做任务佣金违法电子商务网站开发软件
  • 为什么做网站需要服务器宝安区网络公司
  • 广元建设网站要多少钱智慧团建网站注册
  • 购物网站开发小结wordpress 添加地图
  • 网站运营 网站建设免费的黄页推广软件哪个好
  • 厦门网站建设方案书怎样做一个简单的网站
  • 百度 网站添加wordpress直达链接404
  • 网站备案需要多少天许昌seo推荐
  • 网站建设主要有哪些成本阿树wordpress
  • 手机网站 好处佛山专业的网页制作
  • 做好公众号 网站建设网上注册公司价格
  • 网站维护服务器信阳做网站的公司
  • 石柱网站制作网页qq空间登录
  • 重慶网站建设微网站 域名
  • 网站类型有wordpress实现双语
  • 查建设公司年度保证金网站咨询公司组织架构
  • 网站创建后台做网站的服务器很卡怎么办
  • 杭州做产地证去哪个网站深圳招聘网站前十排名
  • 陕西企业网站建设价格帝国cms 网站地图 xml
  • 北京网站建设公司兴田德润电话wordpress页面的设置
  • 云南网站设计平台长沙网络公司推广
  • 网页设计教程网站c 小说网站开发教程
  • 网站收录排名怎么做项目建设环境影响登记表在哪个网站
  • 贵阳网站开发哪家便宜河北搜索引擎优化