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

网站建设布局样式专业的深圳网站建设公司排名

网站建设布局样式,专业的深圳网站建设公司排名,cms系统总是掉线,互联网搜索引擎StyledFc 一个简单的运行时css-in-js库#xff0c;用于封装react组件 零依赖非常小#xff0c; 3kb.运行时生成css支持css变量支持类似less的嵌套css样式支持props动态css支持typescript 演示 安装 pnpm add styledfc # or npm install styledfc # or yarn add styl…StyledFc 一个简单的运行时css-in-js库用于封装react组件 零依赖非常小 3kb.运行时生成css支持css变量支持类似less的嵌套css样式支持props动态css支持typescript 演示 安装 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)
http://www.w-s-a.com/news/968482/

相关文章:

  • 网站建设利弊宁波高端网站建设联系方式
  • 网站订票策划方案郑州代做网站
  • 免费的网站加速器注册公司邮箱
  • 千助网站建设网站整站程序
  • 自学建网站做网站优化访问网站出现目录
  • 济南网站建设是什么百度官网登录入口手机版
  • net快速建站西宁手机网站建设
  • 网站浏览器不兼容怎么办软件系统开发大概多少钱
  • 网站建设哪个公司最好shift wordpress
  • 公司网站建设功能介绍室内设计学习
  • 做网站策划容易遇到哪些问题沈阳公司网站制作
  • 做php网站都用框架吗网站备案当面核验拍摄照片
  • 泉州企业自助建站兰州最好的互联网公司
  • 监察部门网站建设方案网站seo技术教程
  • 个人网站制作源代码下载品牌建设部
  • 网站备案需要准备什么文创产品设计思路
  • 网站开发书籍推荐青岛城阳新闻最新消息
  • 秦皇岛网站建设服务聊城做网站的公司资讯
  • 30岁转行做网站设计丰涵网站建设
  • 山东省和住房建设厅网站首页开发商不按时交房可以退房吗
  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站