react设置style属性的方法:1、通过“<div style={{padding: '2px 0 5px 20px',overflowY: 'auto'}}>”方式设置行内样式;2、通过“height: 'calc(100% – 15px)'”设置百分比;3、通过在样式中使用函数“getWinHeight(200)”设置属性即可。
本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。
react 怎么设置 style属性?
React中设置样式style
1.设置行内样式:
1.基本设置:
使用{},传入一个对象{padding: '2px 0 5px 20px',overflowY: 'auto'}
如下所示:
<div style={{padding: '2px 0 5px 20px',overflowY: 'auto'}}
登录后复制
2.设置百分比(相对数据)
<div style={{width: 'calc(100% - 35px)',height: 'calc(100% - 15px)'}}>
登录后复制
3.通过函数设置:
例如,自己写一个计算window高度的函数:
//参数 adjustValue的作用是在window.innerHeight的基础上,减去多少高度,可以是负值,0,正值 function getWinHeight(adjustValue) { let winHeight; if (window.innerHeight) { winHeight = window.innerHeight; } else if ((document.body) && (document.body.clientHeight)) { winHeight = document.body.clientHeight; } return winHeight-adjustValue; }
登录后复制
然后在样式中使用:
<div style={{width: 'calc(100% - 35px)',height: getWinHeight(200)}}> <div id="jsoneditor" className="jsoneditor-react-container" /> </div>
登录后复制
2.杂七杂八:
1.table占满整行:
设置table标签的style 为 style={{width: 'calc(100% – 10px)'}}
<table style={{width: 'calc(100% - 10px)'}}> <tr> <td style={{width:'50px'}}> <div style={{paddingTop:"10px",marginLeft:'10px'}}> <Button id="returnButtonId" text="" icon={"ic_arrow_back"} onClick={doBack} /> </div> </td> <td> <div style={{paddingTop:'10px'}}>Edit Parameter Files</div> </td> <td> <div style={{float:'right', margin:'0 10px 0 10px', paddingTop:'10px'}}> <Button id="`uploadButtonId`" text="UPLOAD" icon={"ic_arrow_upward"} onClick={onUploadClicked} /> </div> </td> </tr> </table>
登录后复制
2.父 <div>设置高度不起作用:
如果父<div>设置高度不管用,那么必须将子<div>的高度也设置一下,可以跟父<div>的高度保持一致,.
入下图所示:父子<div>的高度都被设置为 getWinHeight(180)
<div style={{height: getWinHeight(180), border:'2px'}}> <SplitScreen id="parameterfiles-panel" left={ <div style={{height: getWinHeight(180)}}> .......... </div> } right={ <div style={{ whiteSpace: "nowrap"}}> <div style={{padding: '2px 0 5px 20px',overflowY: 'auto', width: 'calc(100% - 35px)',height: getWinHeight(180)}}> <div id="jsoneditor" className="jsoneditor-react-container" /> </div> </div> } /> </div>
登录后复制
暂时写这么多,以后想到别的,再写。
推荐学习:《react视频教程》