[React<30] 초보자 강좌 04초 유연한 배치>
12743 단어 ReactTypeScriptUI/UX초학자tech
화면 너비이점도 있지만 최근 PC에서는 부드러운 레이아웃이 유행하고 있다.
이른바 부드러운 구조
2021/12/5시에 보면 웹 페이지 정보 빠를 거예요.
다음 두 점은 피쳐입니다.
화면을 굴리지 않도록 태블릿용, 스마트폰용으로도 전환할 수 있다.
이루어지다
이 헤더만 있는 샘플에 적용됩니다.
width에
100%
또는 100vw
를 설정하는 동시에 min-width
와 max-width
만 설정한다.min-width
와 max-width
는 theme.ts
로 정의되었다.theme.ts
import { createTheme } from '@mui/material/styles';
import { blueGrey, blue, deepOrange } from '@mui/material/colors';
{/* 最小幅と最大幅を定義 */}
export const FLEXIBLE_MIN_WIDTH = 1000;
export const FLEXIBLE_MAX_WIDTH = 1200;
const theme = createTheme({
...
MainContainer.tsxconst MainContainer: React.VFC<MainContainerProps> = (props) => {
return (
<Box flexGrow={1} sx={{ overflowY: 'auto' }}>
<Box
{/* widthは100vw(または100%) */}
{/* minWidth, maxWidthを設定 */}
width="100vw"
minWidth={`${FLEXIBLE_MIN_WIDTH}px`}
maxWidth={`${FLEXIBLE_MAX_WIDTH}px`}
margin="auto"
px="32px"
py="16px"
>
{props.children}
</Box>
</Box>
);
};
AppHeader.tsxconst StyledAppbar = styled(AppBar)({
backgroundColor: blue[900],
});
const StyledToolbar = styled(Toolbar)({
{/* widthは100vw(または100%) */}
{/* minWidth, maxWidthを設定 */}
width: '100vw',
minWidth: `${FLEXIBLE_MIN_WIDTH}px`,
maxWidth: `${FLEXIBLE_MAX_WIDTH}px`,
margin: 'auto',
});
export type AppHeaderProps = {
appTitle: string;
userName: string;
leftItems: { id: number; node: React.ReactNode }[];
};
const AppHeader: React.VFC<AppHeaderProps> = (props) => {
return (
<StyledAppbar position="static">
<StyledToolbar>
<AppTitleLabel label={props.appTitle} />
끝.계속하다
이전
Reference
이 문제에 관하여([React<30] 초보자 강좌 04초 유연한 배치>), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/kosukek/articles/627241ba357c67텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)