Root div padding React(样式化组件)
Root div padding React (Styled Components)
我有一个简单的 React 应用程序,使用 Redux 的 Provider
来包装我的 App
组件。
import React from 'react';
import ReactDOM from 'react-dom';
import styled from 'styled-components';
import { Provider } from 'react-redux';
import App from './App';
import store from './store';
import registerServiceWorker from './registerServiceWorker';
const MainContainer = styled.div`
margin: 0;
padding: 0;
height: 100vh;
background-color: red;
`;
ReactDOM.render(
<MainContainer>
<Provider store={store}>
<App />
</Provider>
</MainContainer>,
document.getElementById('root'),
);
registerServiceWorker();
但是,当此应用呈现时,屏幕边缘(所有边)周围有一个白色间隙。覆盖 body 标签以使 App
内容到达屏幕边缘的正确方法是什么?
这是您浏览器的默认样式。您可以使用 Normalize.css 之类的东西,或者自己删除正文的边距和填充。
body {
margin: 0;
padding: 0;
}
您可以使用 injectGlobal
来做到这一点。
import { injectGlobal } from 'styled-components';
injectGlobal`
body {
margin: 0;
padding: 0;
}
`;
感谢您的回答,但我一直在寻找 Styled Components 特定的答案。
事实证明,Styled Components 有一个辅助方法,injectGlobal
,它可以覆盖全局 body 标签。
使用它,可以设置所需的属性——在本例中,没有边距/填充。因此,将以下内容添加到 index.js
即可解决问题。
import { injectGlobal } from 'styled-components';
injectGlobal`
body {
margin: 0;
padding: 0;
}
`;
对于 styled components v4
及以后使用 createGlobalStyle
:
import { createGlobalStyle } from "styled-components"
const GlobalStyle = createGlobalStyle`
body {
color: red;
}
`
// later in your app's render method
<React.Fragment>
<Navigation />
<OtherImportantTopLevelComponentStuff />
<GlobalStyle />
</React.Fragment>
在你的“App.css”中写下:
body {
overflow-y: hidden;
}
这适用于我的主页。
我有一个简单的 React 应用程序,使用 Redux 的 Provider
来包装我的 App
组件。
import React from 'react';
import ReactDOM from 'react-dom';
import styled from 'styled-components';
import { Provider } from 'react-redux';
import App from './App';
import store from './store';
import registerServiceWorker from './registerServiceWorker';
const MainContainer = styled.div`
margin: 0;
padding: 0;
height: 100vh;
background-color: red;
`;
ReactDOM.render(
<MainContainer>
<Provider store={store}>
<App />
</Provider>
</MainContainer>,
document.getElementById('root'),
);
registerServiceWorker();
但是,当此应用呈现时,屏幕边缘(所有边)周围有一个白色间隙。覆盖 body 标签以使 App
内容到达屏幕边缘的正确方法是什么?
这是您浏览器的默认样式。您可以使用 Normalize.css 之类的东西,或者自己删除正文的边距和填充。
body {
margin: 0;
padding: 0;
}
您可以使用 injectGlobal
来做到这一点。
import { injectGlobal } from 'styled-components';
injectGlobal`
body {
margin: 0;
padding: 0;
}
`;
感谢您的回答,但我一直在寻找 Styled Components 特定的答案。
事实证明,Styled Components 有一个辅助方法,injectGlobal
,它可以覆盖全局 body 标签。
使用它,可以设置所需的属性——在本例中,没有边距/填充。因此,将以下内容添加到 index.js
即可解决问题。
import { injectGlobal } from 'styled-components';
injectGlobal`
body {
margin: 0;
padding: 0;
}
`;
对于 styled components v4
及以后使用 createGlobalStyle
:
import { createGlobalStyle } from "styled-components"
const GlobalStyle = createGlobalStyle`
body {
color: red;
}
`
// later in your app's render method
<React.Fragment>
<Navigation />
<OtherImportantTopLevelComponentStuff />
<GlobalStyle />
</React.Fragment>
在你的“App.css”中写下:
body {
overflow-y: hidden;
}
这适用于我的主页。