Если вы хотите, чтобы прокрутка работала, перед тем, как скрывать полосы прокрутки, подумайте о том, чтобы имитировать их. Современные версии OS X и мобильных ОС имеют полосы прокрутки, которые, хотя и непрактичны для захвата мышью, довольно красивы и нейтральны.
Чтобы скрыть полосы прокрутки, используется метод Джона Курлака за исключением того, что пользователи Firefox, у которых нет сенсорных панелей, не имеют возможности прокручивать, если у них нет мыши с колесом, что они, вероятно, делают, но даже тогда они обычно могут прокручивать только вертикально.
Техника Джона использует три элемента:
Должно быть возможно установить размер внешнего и содержимого элементов одинаково, что исключает использование процентов, но я не могу подумайте о чем-нибудь еще, что не будет работать с правильной настройкой.
Моя самая большая проблема заключается в том, устанавливают ли все версии браузеров полосы прокрутки для отображения видимого переполненного содержимого v isible. Я тестировал в текущих браузерах, но не старше.
Простите мой SASS ; P
%size {
// set width and height
}
.outer {
// mask scrollbars of child
overflow: hidden;
// set mask size
@extend %size;
// has absolutely positioned child
position: relative;
}
.middle {
// always have scrollbars.
// don't use auto, it leaves vertical scrollbar showing
overflow: scroll;
// without absolute, the vertical scrollbar shows
position: absolute;
}
// prevent text selection from revealing scrollbar, which it only does on
// some webkit based browsers.
.middle::-webkit-scrollbar {
display: none;
}
.content {
// push scrollbars behind mask
@extend %size;
}
ОС X равно 10.6.8. Windows - Windows 7.
У вас есть две проблемы:
MuiThemeProvider
, но он не упаковывает Paper
. Но вы хотите изменить стиль Paper
. Вы должны убедиться, что MuiThemeProvider
является родителем компонентов, которые вы пытаетесь настроить. См. Документы . Paper
не влияют palette.primary
или palette.secondary
. Он принимает цвет из palette.background.paper
. См. Тему по умолчанию здесь . Вот демонстрация, надеюсь, это поможет.
const {createMuiTheme, green, CssBaseline, Paper, MuiThemeProvider
} = window['material-ui'];
const theme = createMuiTheme({
typography: {
useNextVariants: true,
},
palette: {
background: {paper: '#5fba7d'}
},
});
const Footer = () => {
return(
<React.Fragment>
<CssBaseline />
<MuiThemeProvider theme={theme}>
<Paper elevation={1}>
<h2>Copywright Medicinal Foods 2019!</h2>
<h3>All Rights Reserved!</h3>
<h4>Thanks for visitng!</h4>
</Paper>
</MuiThemeProvider>
</React.Fragment>
);
}
ReactDOM.render(<Footer />, document.getElementById('root'));
<script src="https://unpkg.com/react@latest/umd/react.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@latest/umd/react-dom.development.js" crossorigin="anonymous"></script>
<script src="https://unpkg.com/@material-ui/core/umd/material-ui.development.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" />
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<div id="root"></div>