javascript - 更改“react-sidebar”库中按钮的位置
问题描述
我使用图书馆:https ://www.npmjs.com/package/react-sidebar 。我把按钮放进去section2
,它位于section1
. 我也不能滚动。如何将按钮移动到section2
?按钮在滚动过程中不移动。
此处代码:https ://stackblitz.com/edit/react-2euk2q
import Sidebar from "react-sidebar";
class App extends Component {
constructor() {
super();
this.state = {
name: 'React',
sidebarOpen: false
};
}
onSetSidebarOpen = (open) => {
this.setState({ sidebarOpen: open });
}
render() {
return (
<div className="container">
<div className="section1">
<p>Lorem ipsum dolor sit amet consectetur adipiscing elitSed sollicitudin ante et dolor bibendum nec eleifend metus maximus Quisque eleifend massa sit amet efficitur rhoncus libero sem rutrum mauris eget suscipit diam mauris quis nisl Curabitur vitae pharetra massa Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas Aenean tincidunt placerat velit vel ultrices nulla egestas id Ut commodoLorem ipsum dolor sit amet consectetur adipiscing elitSed sollicitudin ante et dolor bibendum nec eleifend metus maximus Quisque eleifend massa sit amet efficitur rhoncus libero sem rutrum mauris eget suscipit diam mauris quis nisl Curabitur vitae pharetra massa Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas Aenean tincidunt placerat velit vel ultrices nulla egestas id Ut commodoLorem ipsum dolor sit amet consectetur adipiscing elitSed sollicitudin ante et dolor bibendum nec eleifend metus maximus Quisque eleifend massa sit amet efficitur rhoncus libero sem rutrum mauris eget suscipit diam mauris quis nisl Curabitur vitae pharetra massa Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas Aenean tincidunt placerat velit vel ultrices nulla egestas id Ut commodo</p>
</div>
<div className="section2">
<Sidebar
sidebar={ 'Lorem ipsum'}
open={this.state.sidebarOpen}
onSetOpen={this.onSetSidebarOpen}
styles={{ sidebar: { background: "white" } }}
pullRight={true}
>
<button onClick={() => this.onSetSidebarOpen(true)}>
Open sidebar
</button>
</Sidebar>
<p>Lorem ipsum dolor sit amet consectetur adipiscing elitSed sollicitudin ante et dolor bibendum nec eleifend metus maximus Quisque eleifend massa sit amet efficitur rhoncus libero sem rutrum mauris eget suscipit diam mauris quis nisl Curabitur vitae pharetra massa Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas Aenean tincidunt placerat velit vel ultrices nulla egestas id Ut commodoLorem ipsum dolor sit amet consectetur adipiscing elitSed sollicitudin ante et dolor bibendum nec eleifend metus maximus Quisque eleifend massa sit amet efficitur rhoncus libero sem rutrum mauris eget suscipit diam mauris quis nisl Curabitur vitae pharetra massa Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas Aenean tincidunt placerat velit vel ultrices nulla egestas id Ut commodoLorem ipsum dolor sit amet consectetur adipiscing elitSed sollicitudin ante et dolor bibendum nec eleifend metus maximus Quisque eleifend massa sit amet efficitur rhoncus libero sem rutrum mauris eget suscipit diam mauris quis nisl Curabitur vitae pharetra massa Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas Aenean tincidunt placerat velit vel ultrices nulla egestas id Ut commodo</p>
</div>
</div>
);
}
}
CSS
.container {
height: 400px;
width: 400px;
border: 1px solid black;
overflow: scroll;
display: flex;
flex-direction: row;
}
.section1 {
border: 1px solid red;
}
.section2 {
border: 1px solid yellow;
}
.section2 button {
left: 200px !important;
}
解决方案
你的Sidebar
组件有它自己的CSS
,
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
overflow: hidden;
您需要添加postion:relative
到您的section2
.
.section2 {
border: 1px solid yellow;
position: relative; //Add this
}
现在您的按钮将位于左上角,您可以使用任意位置移动该按钮CSS
。
.section2 button{
position:absolute;
right: 0;
}
推荐阅读
- c# - 绘画事件不断触发
- jquery - 媒体查询和 JQuery
- python - 在 numpy 中处理日期
- android - 在android flow + room中,如何监控一个Flow列表
- javascript - 使用 ajax 调用从 JSON 获取数据到 HTML 表
- haskell - 比较记录的字段
- java - 有什么方法可以避免在 android embed realmobject 中出现重复?
- asp.net-web-api - 谁能告诉我如何在主键类型为 uniqueidentifier 的 sql server 中编写更新存储过程?
- sql - 阻止插入操作并在 oracle 中记录对另一个审计表的尝试
- python - 如何在pygame中改变蛇头方向?