我有一个包含其他元素的容器元素,但是根据屏幕尺寸的不同,它们的各个部分会被莫名其妙地切除。当调整HTML页面的宽度(通过单击并拖动它)时,您可以在我的代码沙箱链接中观察到这种行为。如何确保仅渲染主容器边框,并且子元素没有任何影响?
https://codesandbox.io/s/focused-tree-ms4f2
import React from "react";
import styled from "styled-components";
const StyledTextBox = styled.div`
height: 15vh;
width: 30vw;
display: flex;
flex-direction: column;
margin: 0 auto;
border: 1px solid black;
background-color: #fff;
> * {
box-sizing: border-box;
}
`;
const InputBox = styled.span`
height: 35%;
width: 100%;
display: flex;
border: none;
outline: none;
`;
const UserInput = styled.input`
height: 100%;
width: 90%;
border: none;
outline: none;
`;
const SolutionBox = styled.div`
height: 35%;
width: 100%;
border: none;
outline: none;
`;
const StyledKeyboard = styled.span`
height: 30%;
width: 100%;
position: relative;
background-color: #DCDCDC;
box-sizing: border-box;
display: flex;
`
export default function App() {
return (
<StyledTextBox>
<InputBox>
<UserInput />
</InputBox>
<SolutionBox/>
<StyledKeyboard/>
</StyledTextBox>
);
}
4
嗨,困惑,您能提供一张屏幕截图吗?我似乎无法复制,或者我无法从帖子中完全理解问题。
—
Gleb Kost
我添加了一张图片。我遇到的问题是容器元素正在干扰外部边界。无论我放置什么内容,我都希望它是一致的渲染。
—
困惑
沙箱中的代码与您在此处发布的代码不同,并且两个版本均未在图片中显示该行为(选中了Chrome和Firefox来调整窗口大小)。
—
NevNein
我无法复制。您正在使用什么操作系统和浏览器?
—
BDawg
正如我在沙箱中看到的那样,您的StyledTextBox组件仅包含UserInput组件。另外,如果您为UserInput组件上色,以便可以看到它,则似乎没有任何中断,一切正常。
—
莱昂·武科维奇