0.1.5 • Published 3 years ago

link-style v0.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

link-style

A supports chained calls tool for React/RN projects.

一个适用于react/react-native项目中的样式编写工具。

事实上,社区里已经有非常成熟的class样式类工具了,比如classnames这个包,就可以很方便灵活的处理日常开发工作。

开发此工具的目的并不是为了改变在css/less/sass文件中编写class样式类名的开发方式,可以把link-style工具视为这种方式的互补方法。

安装:

    npm install link-style

使用方法:

    //react组件:
    import React from 'react';
    import linkcss from 'link-style';
    
    ...


    const someComponent = ( props )=>{


    
    const commonStyle  = linkcss.w( "100%" )
                                .h(somecondition ? 200 : 300 )
                                .fontS( 20 )
                                .mt( 20 )
                                .displayF
                                .position("relative")
                                .end;

    /**
      * 生成的结果为:
        commonStyle ==> {
                          width: '100%',
                          height: 200,
                          fontSize: 20,
                          marginTop: 20,
                          display: 'flex',
                          position: 'relative'
                        }
     */
                                
        return (
             <div style={commonStyle}>
                {/* 还可以在组件内部编写 */}
                <div style={ linkcss.w(200).displayF.alignI("center").justifyC("space-between").end }>
                        <div style={ someCondition ? aStyleObject : orlinkcssCode  } >balabala...</div>
                        <div style={ { ...(linkcss.w(200).displayF.alignI("center").end), ...anotherStyleObject } }>balabala...</div>
                        <div>balabala...</div>
                </div>

             </div>
        )

    }

link-style的Api列表:

api-name对应样式名称默认值
alignCalignContentstretch
alignIalignItemsstretch
alignSalignSelfauto
allallnone
anianimationnone 0 ease 0 1 normal
aniDanimationDelay0
aniDiranimationDirectionnormal
aniDuranimationDuration0
aniFManimationFillModenone
aniICanimationIterationCount1
aniNanimationNamenone
aniPSanimationPlayStaterunning
aniTFanimationTimingfnease
bfVbackfaceVisibilityvisible
bgbackgroundnull
bgAbackgroundAttachmentscroll
bgBMbackgroundBlendModenormal
bgClipbackgroundClipborder-box
bgColorbackgroundColortransparent
bgIbackgroundImagenone
bgObackgroundOriginpadding-box
bgPbackgroundPosition0% 0%
bgRbackgroundRepeatrepeat
bgSbackgroundSizeauto
borderbordernull
borderBborderBottomnull
borderBCborderBottomColornull
borderBLRborderBottomLeftRadius0
borderBRRborderBottomRightRadius0
borderBSborderBottomStylenull
borderBWborderBottomWidthmedium
borderCborderCollapseseparate
borderColorborderColornull
borderIborderImagenone 100% 1 0 stretch
borderIOborderImageOutset0
borderIRborderImageRepeatstretch
borderISliborderImageSlice100%
borderISborderImageSourcenone
borderIWborderImageWidthnone
borderLborderLeftnull
borderLCborderLeftColornull
borderLSborderLeftStylenull
borderLWborderLeftWidthmedium
borderRborderRadius0
borderRtborderRightnull
birderRCborderRightColornull
borderRSborderRightStylenull
borderRWborderRightWidthmedium
borderSpacingborderSpacingnull
borderSborderStylenull
borderTborderTopnull
borderTCborderTopColornull
borderTLRborderTopLeftRadius0
borderTRRborderTopRightRadius0
borderTSborderTopStylenull
borderTWborderTopWidthmedium
borderWborderWidthmedium
bbottomauto
boxSboxShadownone
boxSzboxSizingcontent-box
breakAbreakAfterauto
breakBbreakBeforeauto
breakIbreakInsideauto
captionScaptionSidetop
caretCcaretColorauto
clearclearnone
clipclipauto
clipPclipPathnone
colorcolornull
columnCcolumnCountauto
columnFcolumnFillbalance
columnGcolumnGapnormal
columnRcolumnRulemedium none black
columnRCcolumnRuleColorblack
columnRScolumnRuleStylenone
columnRWcolumnRuleWidthmedium
columnScolumnSpan1
columnWcolumnWidthauto
columnscolumnsauto auto
contentcontentnormal
counterIcounterIncrementnone
counterRcounterResetnone
cursorcursorauto
directiondirectionltr
displaydisplayinline
emptyCemptyCellsshow
filterfilternone
flexflex0 1 auto
flexBflexBasisauto
flexDflexDirectionrow
flexFflexFlowrow nowrap
flexGflexGrow0
flexSflexShrink1
flexWflexWrapnowrap
floatcssFloatnone
ftfontnull
fontFfontFamilynull
fontFSfontFeatureSettingsnormal
fontKfontKerningauto
fontSfontSizemedium
fontSAfontSizeAdjustnone
fontStretchfontStretchnormal
fontStylefontStylenormal
fontVfontVariantnormal
fontVCfontVariantCapsnormal
fontwfontWeightnormal
gridgridnone none none auto auto row
gridAgridAreaauto / auto / auto / auto
gridACgridAutoColumnsauto
gridAFgridAutoFlowrow
gridARgridAutoRowsauto
gridCgridColumnauto / auto
gridCEgridColumnEndauto
gridCGgridColumnGap0
gridCSgridColumnStartauto
gridGgridGap0 0
gridRgridRowauto / auto
gridREgridRowEndauto
gridRGgridRowGap0
gridRSgridRowStartauto
gridTgridTemplatenone none none
gridTAgridTemplateAreasnone
gridTCgridTemplateColumnsnone
gridTRgridTemplateRowsnone
hangingPhangingPunctuationnone
hheightauto
hyphenshyphensmanual
isolationisolationauto
justifyCjustifyContentflex-start
lleftauto
letterSletterSpacingnormal
lineHlineHeightnormal
listSlistStyledisc outside none
listSIlistStyleImagenone
listSPlistStylePositionoutside
listSTlistStyleTypedisc
mmargin0
mbmarginBottom0
mlmarginLeft0
mrmarginRight0
mtmarginTop0
maxHmaxHeightnone
maxWmaxWidthnone
minHminHeight0
minWminWidthnone
mixBMmixBlendModenormal
objectFobjectFitsee individual properties
objectPobjectPosition50% 50%
opopacity1
orderorder0
outlineoutlineinvert none medium
outlineCoutlineColorinvert
outlineOoutlineOffset0
outlineSoutlineStylenone
outlineWoutlineWidthmedium
overflowoverflowvisible
overflowXoverflowXvisible
overflowYoverflowYvisible
paddingpadding0
pbpaddingBottom0
plpaddingLeft0
prpaddingRight0
ptpaddingTop0
pageBApageBreakAfterauto
pBBpageBreakBeforeauto
pBIpageBreakInsideauto
perspectiveperspectivenone
perspectiveOperspectiveOrigin50% 50%
pointerEpointerEventsauto
positionpositionstatic
quotesquotesnull
resizeresizenone
rrightauto
scrollBscrollBehaviorauto
tabSizetabSize8
tableLtableLayoutauto
textAtextAlign
textALtextAlignLastauto
textDtextDecorationnone
textDCtextDecorationColorcurrentColor
textDLtextDecorationLinenone
textDStextDecorationStylesolid
textItextIndentnull
textJtextJustifyauto
textOtextOverflowclip
textStextShadownone
textTtextTransformnone
ttopauto
tftransformnone
tfOtransformOrigin50% 50% 0
tfStransformStyleflat
transtransitionall 0 ease 0
transDetransitionDelay0
transDurtransitionDuration0
transPtransitionPropertyall
transTtransitionTimingfnease
unicodeBidiunicodeBidinormal
userSuserSelectauto
verticalAverticalAlignbaseline
vvisibilityvisible
whiteSwhiteSpacenormal
wwidthauto
wordBwordBreaknormal
wordSwordSpacingnormal
wordWwordWrapnormal
writingMwritingModehorizontal-tb
zIndexzIndexauto
displayFnull{ display:"flex" }

自定义样式方法

link-style 从w3cShool的 css参考手册 爬取了css的基础属性,如果这些属性还不能满足日常开发的话,还可以自定义配置link-style的方法:

     import linkcss from 'link-style';
    
     //function
     linkcss.customStyle( {  type:"fn" ,callName:"marginL", styleName:"marginLeft"  } ) 
     //props
     linkcss.customStyle( {  type:"sd" ,callName:"colorRed",styleValue:{ color:"red"}  } )  
  
      
     const someStyle =  linkcss.w(200).colorRed.marginL(30).fontS(18).end;
     /**
       *  someStyle ==> { width: 200, color: 'red', marginLeft: 20, fontSize: 18 }
       */
0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.1

3 years ago