# Frequently Asked Questions

Stuck on a particular problem? Check some of these common gotchas first in the FAQ.

If you still can't find what you're looking for, you can refer to our [support page](/material-ui/getting-started/support/). ## MUI is an awesome organization. How can I support it? There are many ways to support us: - **Spread the word**. Evangelize MUI's products by [linking to mui.com](https://mui.com/) on your website—every backlink matters. Follow us on [X](https://x.com/MUI_hq), like and retweet the important news. Or just talk about us with your friends. - **Give us feedback**. Tell us what is going well or where there is improvement opportunities. Please upvote (👍) the issues that you are the most interested in seeing solved. - **Help new users**. You can answer questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/material-ui). - **Make changes happen**. - Edit the documentation. At the bottom of every page, you can find an "Edit this page" button. - Report bugs or missing features by [creating an issue](https://github.com/mui/material-ui/issues/new). - Review and comment on existing [pull requests](https://github.com/mui/material-ui/pulls?q=is%3Apr) and [issues](https://github.com/mui/material-ui/issues?q=is%3Aopen+is%3Aclosed). - [Improve our documentation](https://github.com/mui/material-ui/tree/HEAD/docs), fix bugs, or add features by [submitting a pull request](https://github.com/mui/material-ui/pulls). - **Support us financially on [Open Collective](https://opencollective.com/mui-org)**. If you use Material UI in a commercial project and would like to support its continued development by becoming a Sponsor, or in a side or hobby project and would like to become a Backer, you can do so through Open Collective. All funds donated are managed transparently, and Sponsors receive recognition in the README and on the homepage. ## Why do the fixed positioned elements move when a modal is opened? Scrolling is blocked as soon as a modal is opened. This prevents interacting with the background when the modal should be the only interactive content. However, removing the scrollbar can make your **fixed positioned elements** move. In this situation, you can apply a global `.mui-fixed` class name to tell Material UI to handle those elements. ## How can I disable the ripple effect globally? The ripple effect is exclusively coming from the `BaseButton` component. You can disable the ripple effect globally by providing the following in your theme: ```js import { createTheme } from '@mui/material'; const theme = createTheme({ components: { // Name of the component ⚛️ MuiButtonBase: { defaultProps: { // The props to apply disableRipple: true, // No more ripple, on the whole application 💣! }, }, }, }); ``` ## How can I disable transitions globally? Material UI uses the same theme helper for creating all its transitions. Therefore you can disable all transitions by overriding the helper in your theme: ```js import { createTheme } from '@mui/material'; const theme = createTheme({ transitions: { // So `transition: none;` gets applied everywhere create: () => 'none', }, }); ``` It can be useful to disable transitions during visual testing or to improve performance on low-end devices. You can go one step further by disabling all transitions and animations effects: ```js import { createTheme } from '@mui/material'; const theme = createTheme({ components: { // Name of the component ⚛️ MuiCssBaseline: { styleOverrides: { '*, *::before, *::after': { transition: 'none !important', animation: 'none !important', }, }, }, }, }); ``` Notice that the usage of `CssBaseline` is required for the above approach to work. If you choose not to use it, you can still disable transitions and animations by including these CSS rules: ```css *, *::before, *::after { transition: 'none !important'; animation: 'none !important'; } ``` ## Do I have to use Emotion to style my app? No, it's not required. But if you are using the default styled engine (`@mui/styled-engine`) the Emotion dependency comes built in, so carries no additional bundle size overhead. Perhaps, however, you're adding some Material UI components to an app that already uses another styling solution, or are already familiar with a different API, and don't want to learn a new one? In that case, head over to the [Style library interoperability](/material-ui/integrations/interoperability/) section to learn how to restyle Material UI components with alternative style libraries. ## When should I use inline-style vs. CSS? As a rule of thumb, only use inline-styles for dynamic style properties. The CSS alternative provides more advantages, such as: - auto-prefixing - better debugging - media queries - keyframes ## How do I use react-router? Visit the guide about [integration with third-party routing libraries](/material-ui/integrations/routing/), like react-router or Next.js, for more details. ## How can I access the DOM element? All Material UI components that should render something in the DOM forward their ref to the underlying DOM component. This means that you can get DOM elements by reading the ref attached to Material UI components: ```jsx // or a ref setter function const ref = React.createRef(); // render