2017-11-28 1 views
1

테이블을 사용하여 데이터를 표시하는 웹 사이트가 있습니다. 문제는 작은 화면에서 웹 사이트를 볼 때 표가 잘려서 모든 콘텐츠가 표시되지 않는다는 것입니다. 아래에서 볼 수 있듯이, 오른쪽으로 스크롤하는 모든 부분이 화면에 거의 보이지 않고 잘려 있습니다.화면에서 오른쪽 경계를 초과하면 HTML 요소가 잘립니다.

나는 부분적으로 루트의 너비 css 매개 변수로 이것을 해결할 수있을 것 같지만 너비를 너무 높게 설정하면 불필요한 오른쪽 여백이 추가됩니다.

import React from 'react'; 
import {ListUsersTableRow} from "./listUserTableRow"; 
import { withStyles } from 'material-ui/styles'; 
import Table, { TableBody, TableCell, TableHead, TableRow } from 'material-ui/Table'; 
import Paper from 'material-ui/Paper'; 

const styles = theme => ({ 
    root: { 
    [theme.breakpoints.up('md')]: { 
     width: `calc(100% - 140px)`, 
    }, 
    marginTop: theme.spacing.unit * 3, 
    overflowX: 'auto', 
    }, 
    table: { 
    minWidth: 700, 
    }, 
}); 

export const ListUsersTable = (props) => { 
    const { classes } = props; 
    return (
    <Paper className={classes.root}> 
     <Table className={classes.table}> 
     <TableHead> 
      <TableRow> 
      <TableCell>Edit</TableCell> 
      <TableCell>Full name</TableCell> 
      <TableCell>Username</TableCell> 
      <TableCell>Email</TableCell> 
      <TableCell>Company</TableCell> 
      <TableCell>Contact Number</TableCell> 
      <TableCell>Role</TableCell> 
      <TableCell>Status</TableCell> 
      </TableRow> 
     </TableHead> 
     <TableBody> 
      {props.users.map(user => <ListUsersTableRow key={user.id} {...user} toggleEdit={props.toggleEdit}/>)} 
     </TableBody> 
     </Table> 
    </Paper> 
) 
}; 

export default withStyles(styles)(ListUsersTable); 

Screenshot of website

+0

왼쪽의 메뉴가 캔버스 외부 메뉴입니까? 열려있는 메뉴가보기에서 페이지를 푸시하는 것처럼 보입니다. (그럴 경우, 예상되는 동작입니다.) – Brainfeeder

+0

네, 내용을 푸시합니다. 그러나 너비를 100 % -240px (서랍의 너비)로 설정하면 오른쪽에 큰 간격이 생깁니다. – user3642173

+0

본문 또는 내용의 일부 줄 바꿈 요소에 영향을주는 CSS 규칙이 메뉴에 있습니까? 패딩 왼쪽을 추가하는 중일 수 있습니다. 이전에 100 % -xxx 계산을 사용하지 않았으므로 정확히 작동 하는지를 모릅니다. – Brainfeeder

답변

0

최소 폭은 테이블이 적어도을 할 일으키는 넓은

폭 같은 간단한 것을 시도하십시오 (700)로 : 100 %;

너비 : 100 %; 사이드 메뉴를 엉망으로 만들 때 메뉴의 너비를 240px 대신 30 %로 설정하는 것이 좋습니다. 귀하의 메뉴가 페이지의 30 %를 차지하고 테이블이 다른 70 %를 차지한다면, 이 조금 좋아질 것입니다.

실례가없는 추측이긴하지만.

+0

감사합니다. 메뉴의 30 % 너비가 큰 화면에서 재미있을 것 같습니다. 브라우저에 실제 예제를 보여줄 수있는 좋은 도구가 있습니까? – user3642173

+0

저는 개인적으로 Chrome Dev Tools 만 사용합니다. 페이지를 마우스 오른쪽 버튼으로 클릭하면 수정하려는 요소에 대해 "Inspect"를 클릭하십시오. 코드가 '요소'아래에 표시됩니다. 여기서 영구적으로 코드를 변경할 수는 없지만 기존 코드를 변경하고 상황이 어떻게 적용되는지 확인할 수 있습니다. 예를 들어, 마우스 오른쪽 버튼을 클릭하여 테이블을 검사 한 다음 웹 페이지에서 즉각적인 피드백을 사용하여 치수를 입력 할 수 있어야합니다 –

관련 문제