Why is 'position: sticky' not working with Core UI's Bootstrap CSS
我正在尝试使用此处找到的
的CSS
1 2 3 4 5 6 7 | .top-stick { position: sticky !important; position: -webkit-sticky; top: 5rem; overflow-y: auto; height: calc(100vh - 5rem); } |
JSX
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <Row className="app-scrollable-body"> <Col xs="12" sm="4" md="3" className="top-stick"> <Card className="toic"> <CardBody> Lorem ipsum dolor sit amet </CardBody> </Card> </Col> <Col xs="12" sm="8" md="9"> <Card> <CardHeader>Card title</CardHeader> <CardBody> Lorem ipsum dolor sit amet </CardBody> </Card> </Col> </Row> <span> CoreUI © 2018 creativeLabs. </span> <span className="ml-auto"> Powered by{""} CoreUI for React </span> |
但是在滚动时,该卡似乎并不粘。
在
问题是在
这是一个基本的例子来说明。 滚动条在视口上,并且我们有一个带有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | .container { display:flex; align-items:flex-start; border:2px solid green; } .content { flex:1; height:200vh; background:red; margin:10px; } .sticky { flex:1; height:100px; background:blue; margin:10px; position:sticky; top:0; } .wrapper { overflow:hidden; border:2px solid red; } |
1 |
如果我们消除了溢出,它将按预期工作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | .container { display:flex; align-items:flex-start; border:2px solid green; } .content { flex:1; height:200vh; background:red; margin:10px; } .sticky { flex:1; height:100px; background:blue; margin:10px; position:sticky; top:0; } .wrapper { border:2px solid red; } |
1 |
如果将
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | .container { display:flex; align-items:flex-start; border:2px solid green; max-height:200px; overflow:auto; } .content { flex:1; height:200vh; background:red; margin:10px; } .sticky { flex:1; height:100px; background:blue; margin:10px; position:sticky; top:0; } .wrapper { overflow:hidden; border:2px solid red; } |
1 |
相关:什么是"滚动框"?