使用CSS网格布局,我的页面在X轴上显示一个轻微的溢出,我删除了网格,然后溢出消失了。当我重置网格时,溢出会重新出现。所以我想知道为什么会发生这种事?
100vw
或更小:不工作。事实上,我有两个网格,一个在布局级别,另一个在布局元素级别。在这里,我的现状是:
如你所见,我似乎有两个问题:
在这里,我的layout.js:
export default ({children, title = 'title' }) => (
<Provider store={store}>
<div className={style.layout}>
<Head>
<title>{ title }</title>
<meta charSet='utf-8' />
<meta name='viewport' content='initial-scale=1.0, width=device-width' />
</Head>
<HeadComponent/>
<div className={style.signature}>
signature
</div>
<div className={style.social_medias}>
social_medias
</div>
<div className={style.children}>
{children}
</div>
<Footer className={style.footer}/>
</div>
</Provider>
)
在这里,我的layout.css:
html, body{
margin : 0;
width: 100vw;
height: 100%;
}
.layout{
width: 100%;
min-height: 100%;
margin:auto;
text-align: justify;
text-justify: inter-word;
display : grid;
grid-template-areas:
"header header"
"signature social_medias"
"children children"
"footer footer" ;
grid-template-rows: 44px 0.5fr 1fr auto ;
grid-template-columns: 1fr 1fr;
}
.centerbar{
width: 100vw;
background-color: orange ;
display: flex;
align-items: center;
justify-content: center;
}
.headbar{
grid-area: header;
display :grid ;
z-index:170;
margin: auto;
width:100vw;
position:fixed;
align-self: center;
justify-self: center;
}
.signature{
grid-area: signature;
}
.logo:hover{
color: black;
}
.social_medias{
grid-area: social_medias;
}
/*** children ***/
.children{
background-color: pink;
grid-area: children;
height: 100%;
}
/*** footer ***/
/*
.footer{
grid-area: footer;
display: grid;
width: 100vw;
margin-top: 10em;
} */
在这里,我的css文件:
.footer_grid{
grid-area: footer;
height: 100vh;
max-width: 100vw;
padding:0;
margin-top: 10vh;
overflow-x:hidden;
display:grid;
grid-template-areas:
" let_chat social_medias"
" citations email_form " ;
grid-template-columns: 2.5fr 1fr ;
grid-template-rows: auto auto;
background-color: white;
border-top: solid;
border-width: 1px;
padding-top: 25px;
grid-column-gap: 0;
background-color: rgb(255, 255, 157);
}
.let_chat{
grid-area: let_chat;
font-family: "Moonlight";
font-size: 90pt;
display : flex;
justify-content: center;
align-items: center
}
.social_medias{
grid-area: social_medias;
display : flex;
justify-content: end;
align-items: start;
}
.citations{
grid-area: citations;
}
.email_form{
grid-area: email_form;
}
在这里,我的React.js文件:
import React from 'react'
import style from "./Footer.css";
export default () => {
return (
<span className={style.footer_grid}>
<div className={style.let_chat}>
let chat
</div>
<div className={style.social_medias}>
social media
</div>
<div className={style.citations}>
citations
</div>
<div className={style.email_form}>
email form
</div>
</span>
)
}
我想知道是怎么回事。如果有人有任何暗示,那就太好了。
发布于 2018-10-04 03:53:45
将box-sizing: border-box;
包含在.footer_grid
中。基本上,它所做的是,包括边框的宽度。否则,您的网格将比100vw
更宽,这将带来水平滚动体。
发布于 2019-06-23 18:59:48
我遇到了一些麻烦,比如网格和出现的水平滚动条。我设法做到了,但我真的不知道它是如何工作的。
我试图为全屏英雄形象创建一个专栏页面,所以我使用:
main{
display:grid;
grid-template-columns: 100vw;
grid-template-rows:15vh 85vh;
grid-template-areas:
"header"
"hero";
width: 100%;
}
它创建了一个水平滚动条,但是如果我使用以下内容:
grid-template-columns: minmax(0,100vw);
它去掉了水平滚动条,在我读到的某个地方,它与某个地方的auto默认值有关。希望能帮上忙!
https://stackoverflow.com/questions/52644964
复制