css实现两列布局区块独立,独立滚屏

简介: css实现两列布局区块独立,独立滚屏

写法一


使用 overflow: scroll;  属性溢出隐藏,展示滚动条,可直接复制,代码如下:

结构:

1. <!-- 容器 -->
2. <div class="container">
3. 
4. <!-- 左 -->
5. <div class="box_left">
6. <div class="box_inner_left">
7.                 测试数据1测试数据1测试数据1测试数据1
8.                 测试数据1测试数据1测试数据1测试数据1
9.                 测试数据1测试数据1测试数据1测试数据1
10.                 测试数据1测试数据1测试数据1测试数据1
11.                 测试数据1测试数据1测试数据1测试数据1
12.                 测试数据1测试数据1测试数据1测试数据1
13.                 测试数据1测试数据1测试数据1测试数据1
14.                 测试数据1测试数据1测试数据1测试数据1
15.                 测试数据1测试数据1
16. </div>
17. </div>
18. 
19. 
20. 
21. <!-- 右 -->
22. <div class="box_right">
23. <div class="box_inner_right">
24.                 测试数据2测试数据2测试数据2测试数据2
25.                 测试数据2测试数据2测试数据2测试数据2
26.                 测试数据2测试数据2测试数据2测试数据2
27.                 测试数据2测试数据2测试数据2测试数据2
28.                 测试数据2测试数据2测试数据2测试数据2
29.                 测试数据2测试数据2测试数据2测试数据2
30.                 测试数据2测试数据2测试数据2测试数据2
31.                 测试数据2测试数据2测试数据2测试数据2
32.                 测试数据2测试数据2测试数据2测试数据2
33.                 测试数据2测试数据2测试数据2测试数据2
34.                 测试数据2测试数据2测试数据2测试数据2
35.                 测试数据2测试数据2测试数据2测试数据2
36.                 测试数据2测试数据2测试数据2测试数据2
37.                 测试数据2测试数据2测试数据2测试数据2
38.                 测试数据2测试数据2测试数据2测试数据2
39.                 测试数据2测试数据2测试数据2测试数据2
40.                 测试数据2测试数据2测试数据2测试数据2
41.                 测试数据2测试数据2测试数据2测试数据2
42.                 测试数据2测试数据2测试数据2测试数据2
43.                 测试数据2测试数据2测试数据2测试数据2
44. </div>
45. </div>
46. 
47. 
48. </div>

样式:

1.       *{
2. margin: 0;
3. padding: 0;
4.         }
5. /* 容器 */
6. .container{
7. width: 300px;
8. height: 400px;
9. border: 1px solid red;
10. padding: 0px 10px;
11. display: flex;
12. justify-content: space-between;
13.         }
14. 
15. 
16. /* 左边区块容器 */
17. .box_left{
18. width: 100px;
19. height: 400px;
20. background-color: #ccc;
21. overflow: scroll;  /*溢出隐藏,展示滚动条*/
22.         }
23. .box_left::-webkit-scrollbar { display: none; }  /* 隐藏滚动条 */
24. /* 左边区块内容 */
25. .box_inner_left{
26. width: 100px;
27. height: 800px;
28. border: 1px solid blue;
29.         }
30. 
31. 
32. /* 右边区块容器 */
33. .box_right{
34. width: 160px;
35. height: 400px;
36. background-color: beige; 
37. overflow: scroll; /*溢出隐藏,展示滚动条*/
38. overflow-x: hidden;   /*隐藏x轴滚动条*/
39.         } 
40. /* 右边区块内容 */
41. .box_inner_right{
42. width: 100%;
43. height: 1000px;
44.         }
45.

此处主要用到  overflow: scroll; 将超出盒子部分的内容隐藏,并以滚动条的形式展现。

设置滚动条的样式

1. /* 设置右边模块的滚动条样式,左边写法的一样,此处未写 */
2.    /*滚动条样式 宽高*/
3.    .box_left::-webkit-scrollbar{
4.        width:5px;
5.        height:5px;
6.    }
7.    /* 滚动条轨道的样式 */
8.    .box_left::-webkit-scrollbar-track{
9.        background: rgba(95, 188, 255, 0.1);
10.         border-radius:2px;
11.     }
12.     /* 滚动条颜色 */
13.     .box_left::-webkit-scrollbar-thumb{
14.         background: red;
15.         border-radius:10px;
16.     }
17.     /* 移入效果 */
18.     .box_left::-webkit-scrollbar-thumb:hover{
19.         background: #333;
20.     }

滚动条样式主要涉及到如下CSS属性:


::-webkit-scrollbar{display:none}  /*隐藏滚动条*/

overflow属性: 检索或设置当对象的内容超过其指定高度及宽度时如何显示内容

overflow: auto; 在需要时内容会自动添加滚动条

overflow: scroll; 总是显示滚动条

overflow-x: hidden; 禁止横向的滚动条

overflow-y: scroll; 总是显示纵向滚动条

width: 568px; width: 98%; 设置区域的宽度[像素/百分比等等]

height: 120px; 设置区域的高度[像素/百分比等等]


写法二



主要使用到了vh单位

css中的vh是一种视窗单位,也是相对单位。相对于视窗的高度。视窗被均分为100单位的vh。vh 优势在于能够直接获取高度,而用 % 在没有设置 body 高度的情况下,是无法正确获得可视区域的高度的

代码如下:(分为html部分和css部分)

可直接复制


html部分

<!-- 分类 -->

       <div class="center">

           <div class="left">

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

         <div>区块一</div>

           </div>

           <div class="right">

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>  

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

               <div>区块二</div>

           </div>

       </div>

Css部分

.center{

   width: 365px;

   border: 1px solid red;

   display: flex;

   justify-content: space-between;

  }

   .left{

       width: 110px;

       height: 100vh;

       background-color: red;

       overflow: auto;

   }

   .right{

       width: 250px;

       height: 100vh;

       background-color: gold;

       overflow: auto;

   }

也可以使用css的溢出滚动功能,当盒子内的元素溢出是 overflow:scroll,即可实现超两遍独立滚动的效果。左右两个盒子都设置overflow:scroll即可左右独立滚动。

目录
相关文章
|
2月前
|
Web App开发 前端开发 JavaScript
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
26 0
|
15天前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
46 8
|
2月前
|
前端开发
CSS中的display属性:布局控制的关键
CSS中的display属性:布局控制的关键
135 42
|
5天前
|
前端开发
CSS Grid 布局:span 关键字
CSS Grid 布局:span 关键字
15 0
|
8天前
|
前端开发 容器
css中弹性布局使用方法
css中弹性布局使用方法
17 0
|
8天前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
19 0
|
1月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
1月前
|
前端开发
css 十字分割线(含四等分布局)
css 十字分割线(含四等分布局)
28 2
|
1月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
25 0
CSS 【实战】 “四合院”布局
|
1月前
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
30 1