我正在处理一个使用两个窗口的项目,类似于视频播放器,其中主屏幕是一种控制面板,具有“预览”屏幕,而次要屏幕则是以1920x1080分辨率投影的观看内容。我希望较小的控制面板预览div能够匹配较大的观看窗口的样式。目前,我通过传递“windowInstance”属性到我的样式化组件中并进行相应的样式调整来实现,例如:
const SomeComponent = styled.div`
height: ${props => props.windowInstance === 'controlPanel' ? '300px' : '400px'};
`
// ...
return (
<SomeComponent windowInstance={windowInstance} />
)
(windowInstance是从父组件传递的。这与手头的问题无关,而且会变得有些复杂)
显然,随着我的应用程序越来越大,这变得非常繁琐,除非我仔细计算窗口大小的差异并将其转换为新的属性值,否则没有什么是完全正确的。我想知道的是,是否有任何使用CSS或JS的方法可以统一这些样式,并使结果在两个屏幕上正确且相同地呈现。
需要注意的是,两个窗口都不需要响应式设计,也永远不会被调整大小。下面是我在excalidraw中绘制的草图,以更好地描述目标:
![Control Panel Viewing Window Example](https://istack.dev59.com/0vKq8.webp)
rem
。在这种情况下,您可以为 iframe 和全屏版本定义不同的根字体大小。 - keulzoom
CSS属性。我已经取得了非常积极的早期结果。我正在为预览屏幕设置一个类名,针对其所有子元素,然后根据预览屏幕与视窗大小的比例应用缩放。我会报告结果的。 - Bender