CSS 实现隐藏滚动条同时又可以滚动--也可以做自定义的滚动条(2)-- 布局

文章转自--https://www.cnblogs.com/alice626/p/6206760.html

CSS 实现隐藏滚动条同时又可以滚动

移动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动?

使用 overflow:hidden 隐藏滚动条,但存在的问题是:页面或元素失去了滚动的特性。
由于只需要兼容移动浏览器(Chrome 和 Safari),于是想到了自定义滚动条的伪对象选择器
::-webkit-scrollbar

 

关于这个选择器的介绍可以参考:
Styling Scrollbars
Custom Scrollbars in WebKit

 

应用如下 CSS 可以隐藏滚动条:

.element::-webkit-scrollbar {display:none}

如果要兼容 PC 其他浏览器(IE、Firefox 等),国外一位才人 John Kurlak 也研究出了一种办法。在容器外面再嵌套一层 overflow:hidden 内部内容再限制尺寸和外部嵌套层一样,就变相隐藏了。

复制代码

<div class="outer-container">
     <div class="inner-container">
        <div class="content">
            ....../*这里放div。自己要显示的东西*/
        </div>
     </div>
 </div>
.outer-container,.content {
    width: 200px; height: 200px;
}
.outer-container {
    position: relative;
    overflow: hidden;
}
.inner-container {
    position: absolute; left: 0;
    overflow-x: hidden;
    overflow-y: scroll;
}

 /* for Chrome */
.inner-container::-webkit-scrollbar {
    display: none;
}

复制代码

 

参考:Hiding Vertical Scrollbars with Pure CSS in Chrome, IE (6+), Firefox, Opera, and Safari 

https://blog.niceue.com/front-end-development/hide-scrollbar-but-still-scrollable-using-css.html

参考中老外的想法代码:

HTML

<div class="outer-container">
 <div class="inner-container">
 <div class="element">
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Integer vehicula quam nibh, eu tristique tellus dignissim
 quis. Integer condimentum ultrices elit ut mattis.
 Praesent rhoncus tortor metus, nec pellentesque enim
 mattis nec. Nulla vitae turpis ut dui consectetur
 pellentesque quis vel est. Curabitur rutrum, mauris ut
 mollis lobortis, sem est congue lectus, ut sodales nunc
 leo a libero. Cras quis sapien in mi fringilla tempus
 condimentum quis velit. Aliquam id aliquam arcu. Morbi
 tristique aliquam rutrum. Duis tincidunt, orci suscipit
 cursus molestie, purus nisi pharetra dui, tempor
 dignissim felis turpis in mi. Vivamus ullamcorper arcu
 sit amet mauris egestas egestas. Vestibulum turpis neque,
 condimentum a tincidunt quis, molestie vel justo. Sed
 molestie nunc dapibus arcu feugiat, ut sollicitudin metus
 sagittis. Aliquam a volutpat sem. Quisque id magna
 ultrices, lobortis dui eget, pretium libero. Curabitur
 aliquam in ante eu ultricies.
 
 Quisque vitae tincidunt purus. Vivamus feugiat bibendum
 erat, nec interdum urna porta sed. Nunc lobortis neque
 orci, ut suscipit nisl congue feugiat. Vivamus feugiat
 tellus quis cursus sollicitudin. Curabitur dolor massa,
 dictum ut ipsum in, porttitor pellentesque ante. Aenean
 egestas cursus tempor. Maecenas semper tortor sit amet
 egestas cursus. Mauris porttitor quis nisi ut tincidunt.
 Curabitur adipiscing eleifend nibh. Praesent mauris leo,
 consequat vitae orci eget, vestibulum bibendum nisi.
 Aliquam tempus diam ut tortor cursus, eget sodales augue
 adipiscing. Nulla at dignissim libero.
 </div>
 </div>
 </div>
 

 

CSS

.element, .outer-container {
 width: 200px;
 height: 200px;
}
 
.outer-container {
 border: 5px solid purple;
 position: relative;
 overflow: hidden;
}
 
.inner-container {
 position: absolute;
 left: 0;
 overflow-x: hidden;
 overflow-y: scroll;
}
 
.inner-container::-webkit-scrollbar {
 display: none;
}

下一篇:

CSS 实现隐藏滚动条同时又可以滚动--也可以做自定义的滚动条(3)-- 实现(普通版)

上一篇:

CSS 实现隐藏滚动条同时又可以滚动--也可以做自定义的滚动条(1)--思路

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue 3中,使用DHTMLX Gantt插件(dhtmlx-gantt)添加滚动条,首先你需要确保已经安装了这个插件并且在你的项目中正确引入。DHTMLX Gantt提供了一个灵活的方式来创建和管理甘特图,包括自定义布局和交互。 要在Gantt组件中添加滚动条,你可以通过CSS来控制其容器的`overflow`属性。下面是一个基本的步骤: 1. 在你的Vue组件中,先安装dhtmlx-gantt库,如果是通过npm,可以在`main.js`或`package.json`中添加: ```bash npm install dhtmlxgantt --save ``` 2. 引入所需的JavaScript和CSS文件: ```html <script src="path/to/dhtmlxgantt.min.js"></script> <link rel="stylesheet" href="path/to/dhtmlxgantt.css" /> ``` 3. 在模板中创建一个Gantt实例,并添加滚动条样式: ```html <template> <div ref="ganttContainer"> <div :style="{ overflow: 'auto' }"> <!-- Your dhtmlxGantt component will go here --> <div id="gantt_here" :config="ganttConfig"></div> </div> </div> </template> ``` 4. 在`data()`中配置Gantt组件: ```js export default { data() { return { ganttConfig: { // ...其他配置 container: "gantt_here", // 如果你想要全屏滚动,可以设置为"xy" scrollbar: "y", // 或者 "xy" 如果需要水平和垂直滚动 }, }; }, // ...其他生命周期方法 }; ``` 5. 可以根据需要调整滚动条样式,例如,如果你想隐藏滚动条,可以使用: ```html <div :style="{ overflow: 'hidden', width: '100%', height: '100%' }"> <!-- ... --> </div> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值