简体   繁体   English

隐藏溢出并同时滚动

[英]Overflow hidden and scroll same time

How can I create two independent containers with fixed headers and scrollable body like this i have manage to create fixed table headers but i couldn't create scrollable body that both can scroll same time at vertically and only one can scroll horizontally. 如何创建具有固定头和滚动体就像两个独立的容器这个我已经设法创建固定表头,但我不能创建滚动体既可以在垂直滚动同一时间只有一个可以水平滚动。

Left side tree table and gantt chart both can be scroll horizontally, but right side Gantt chart only scrolls vertically. 左侧的树形表和甘特图都可以水平滚动,而右侧的甘特图只能垂直滚动。

Please check my code below, i hace acchived almost what i want, but i neet to fix two things 请检查下面的代码,我几乎实现了我想要的功能,但是我需要修复两件事

1) Need to fix the Header on table B but without breaking horizontal scroll behavior 2) How can Make both A & B vertical scrolls can happen at syncrounasly at same time, like when someone scrolls Table A table b alsp needto be scroll at the same time in vertically only. 1)需要在表B上固定页眉,但又不破坏水平滚动行为2)如何同时使A和B垂直滚动同时发生,就像有人在滚动表A表b时需要同时滚动一样时间仅在垂直方向上。

like this link http://www.bryntum.com/playpen/react/ (add some task to activate the scroll) 像此链接http://www.bryntum.com/playpen/react/ (添加一些任务以激活滚动)

PLEASE CHECK THIS CODE SNIPPET IN FULL PAGE 请在整页中检查此代码片段

 th, td{ padding: 10px 20px; width: 100px; } th{ background: #fff; } td{ background: #efefef; } .fl{ float: left; } .panel_body{ height: 200px; width: 430px; overflow: hidden; overflow-y:scroll; } .panel_body.scroll_h{ overflow-x: scroll; width: 300px; height: 240px; } .scroll_h table{ width: 500px; } 
 <div class="panel"> <div class="fl panel_left"> <header> <table> <thead> <tr> <th>Table A</th> <th>Start</th> <th>End</th> </tr> </thead> </table> </header> <section class="panel_body"> <table> <tbody> <tr> <td>Name1</td> <td>Start1</td> <td>End1</td> </tr> <tr> <td>Name2</td> <td>Start2</td> <td>End2</td> </tr> <tr> <td>Name3</td> <td>Start3</td> <td>End3</td> </tr> <tr> <td>Name4</td> <td>Start4</td> <td>End4</td> </tr> <tr> <td>Name5</td> <td>Start5</td> <td>End5</td> </tr> <tr> <td>Name6</td> <td>Start6</td> <td>End6</td> </tr> <tr> <td>Name7</td> <td>Start7</td> <td>End7</td> </tr> <tr> <td>Name8</td> <td>Start8</td> <td>End8</td> </tr> <tr> <td>Name9</td> <td>Start9</td> <td>End9</td> </tr> <tr> <td>Name10</td> <td>Start10</td> <td>End10</td> </tr> <tr> <td>Name11</td> <td>Start11</td> <td>End11</td> </tr> <tr> <td>Name12</td> <td>Start12</td> <td>End12</td> </tr> <tr> <td>Name13</td> <td>Start13</td> <td>End13</td> </tr> <tr> <td>Name14</td> <td>Start14</td> <td>End14</td> </tr> <tr> <td>Name15</td> <td>Start15</td> <td>End15</td> </tr> <tr> <td>Name16</td> <td>Start16</td> <td>End16</td> </tr> <tr> <td>Name17</td> <td>Start17</td> <td>End17</td> </tr> <tr> <td>Name18</td> <td>Start18</td> <td>End18</td> </tr> <tr> <td>Name19</td> <td>Start19</td> <td>End19</td> </tr> <tr> <td>Name20</td> <td>Start20</td> <td>End20</td> </tr> </tbody> </table> </section> </div> <di class="fl panel_right"> <section class="panel_body scroll_h"> <table> <thead> <tr> <th>Table B</th> <th>Start</th> <th>End</th> </tr> </thead> <tbody> <tr> <td>Name1</td> <td>Start1</td> <td>End1</td> </tr> <tr> <td>Name2</td> <td>Start2</td> <td>End2</td> </tr> <tr> <td>Name3</td> <td>Start3</td> <td>End3</td> </tr> <tr> <td>Name4</td> <td>Start4</td> <td>End4</td> </tr> <tr> <td>Name5</td> <td>Start5</td> <td>End5</td> </tr> <tr> <td>Name6</td> <td>Start6</td> <td>End6</td> </tr> <tr> <td>Name7</td> <td>Start7</td> <td>End7</td> </tr> <tr> <td>Name8</td> <td>Start8</td> <td>End8</td> </tr> <tr> <td>Name9</td> <td>Start9</td> <td>End9</td> </tr> <tr> <td>Name10</td> <td>Start10</td> <td>End10</td> </tr> <tr> <td>Name11</td> <td>Start11</td> <td>End11</td> </tr> <tr> <td>Name12</td> <td>Start12</td> <td>End12</td> </tr> <tr> <td>Name13</td> <td>Start13</td> <td>End13</td> </tr> <tr> <td>Name14</td> <td>Start14</td> <td>End14</td> </tr> <tr> <td>Name15</td> <td>Start15</td> <td>End15</td> </tr> <tr> <td>Name16</td> <td>Start16</td> <td>End16</td> </tr> <tr> <td>Name17</td> <td>Start17</td> <td>End17</td> </tr> <tr> <td>Name18</td> <td>Start18</td> <td>End18</td> </tr> <tr> <td>Name19</td> <td>Start19</td> <td>End19</td> </tr> <tr> <td>Name20</td> <td>Start20</td> <td>End20</td> </tr> </tbody> </table> </section> </di> </div> 

With css and | 与CSS和| or Js. 或Js。

Define a width and height to the scrollable element. 为可滚动元素定义宽度和高度。
Then use the overflow property: 然后使用溢出属性:

 #container { width: 200px; height: 200px; overflow: scroll; } #container div { width: 100%; height: inherit; } #a { background: cornflowerblue; } #b { background: brown; } 
 <div id="container"> <div id="a"></div> <div id="b"></div> </div> 

You can set a horizontal / vertical scroll with overflow-x / overflow-y . 您可以使用overflow-x / overflow-y设置水平 / 垂直滚动。
see MDN - overflow 参见MDN-溢出

PS: but please search for existing questions (and answers), post some code,etc. PS:但是请搜索现有的问题(和答案),发布一些代码,等等。 Here's an example but it will never fit your actual project. 这是一个示例,但它永远无法适合您的实际项目。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM