是否可以将 'px' 和 'vh' 组合成反应js中1个组件的高度
Is it possible to combine 'px' and 'vh' into the height of 1 component in react js
我有一些组件,其中一些组件的大小为 px。其他我想要可变大小。但是,由于具有固定 px 高度的组件,可变大小的组件并不是页面的固定百分比。所以我希望一个组件大约是屏幕高度的 80%('80vh')减去另一个组件的高度。我希望使用类似
的东西
style={{height:'80vh-40px'}}
但这不起作用。
我发现 this page 接近了,但我的程序无法识别该 calc 函数。我是否需要从某个图书馆获取它?
关于如何使这项工作有任何想法吗?
谢谢!
我在 React.js 组件中使用这样的语法:
<div height='calc(100vh - 400px)'></div>
对我有用。
在 css 个文件中,我使用相同的语法,但不等于:
.right_col {
height: calc(~"100vh - 400px");
}
在我的实验中,我发现符号“~”在 React.js 组件中不起作用。
注意 - 您可以获得 window.innerHeight(请参阅 javascript 中的 http://ryanve.com/lab/dimensions/ 了解高度和宽度选项),然后自己在 React 中计算并设置宽度或高度(以像素为单位) .
如果您对高度执行此操作,则需要在高度发生变化时重新计算
state = {
windowHeight: window.innerHeight
}
componentWillMount () {
window.addEventListener('resize', this.handleResize)
}
componentWillUnmount () {
window.removeEventListener('resize', this.handleResize)
}
handleResize = () => {
this.setState({ windowHeight: window.innerHeight })
}
在你的 div
<div style={{height: this.state.windowHeight}} > ... </div>
你不会想在任何地方都这样做,但在某些情况下它非常方便。例如 - 在 Android 移动网络上设置 100% 高度,其中 100vh 不起作用并且设备按钮会覆盖部分屏幕。
一种解决方法是在您的组件中使用 style={}。
const styles = {targetDiv: { height: 'calc(100vh - Xpx)'}}
然后...
<div style={styles.targetDiv}>
...
</div>
我有一些组件,其中一些组件的大小为 px。其他我想要可变大小。但是,由于具有固定 px 高度的组件,可变大小的组件并不是页面的固定百分比。所以我希望一个组件大约是屏幕高度的 80%('80vh')减去另一个组件的高度。我希望使用类似
的东西style={{height:'80vh-40px'}}
但这不起作用。
我发现 this page 接近了,但我的程序无法识别该 calc 函数。我是否需要从某个图书馆获取它?
关于如何使这项工作有任何想法吗?
谢谢!
我在 React.js 组件中使用这样的语法:
<div height='calc(100vh - 400px)'></div>
对我有用。 在 css 个文件中,我使用相同的语法,但不等于:
.right_col {
height: calc(~"100vh - 400px");
}
在我的实验中,我发现符号“~”在 React.js 组件中不起作用。
注意 - 您可以获得 window.innerHeight(请参阅 javascript 中的 http://ryanve.com/lab/dimensions/ 了解高度和宽度选项),然后自己在 React 中计算并设置宽度或高度(以像素为单位) .
如果您对高度执行此操作,则需要在高度发生变化时重新计算
state = {
windowHeight: window.innerHeight
}
componentWillMount () {
window.addEventListener('resize', this.handleResize)
}
componentWillUnmount () {
window.removeEventListener('resize', this.handleResize)
}
handleResize = () => {
this.setState({ windowHeight: window.innerHeight })
}
在你的 div
<div style={{height: this.state.windowHeight}} > ... </div>
你不会想在任何地方都这样做,但在某些情况下它非常方便。例如 - 在 Android 移动网络上设置 100% 高度,其中 100vh 不起作用并且设备按钮会覆盖部分屏幕。
一种解决方法是在您的组件中使用 style={}。
const styles = {targetDiv: { height: 'calc(100vh - Xpx)'}}
然后...
<div style={styles.targetDiv}>
...
</div>