在一般浏览器中,当内容超出容器时,如果不是overflow:hidden,通常都会出现滚动条,由于滚动条并不是浮在布局内容之上,所以通常会带来两个问题:

1,容器内部内容宽度固定,恰好撑满,此时出现滚动条会把内容挤到下一行(如图1.gif);

.container{

width:300px;

height:200px;

background-color:#efefef;

overflow-y:hidden;

overflow-x:hidden;

padding:10px;

}

.container:hover{

overflow-y:auto;

}

.container div{

display:inline-block;

margin-right:5px;

width:92px;

height:300px;

background-color:#777;

}

1.gif

2,容器内容百分比计算,自适应宽度,鼠标经过出现滚动条,鼠标离开滚动条消失,会出现中间内容晃动(如图2.gif)

注:相对于上面的变化部分,仅是将内部div宽度设为百分比自适应

.container div{

width:calc(100% - 6px);

}

2.gif

那么我们如何来解决这两个问题呢?

我门可以在DOM布局中做些修改,在container内部再添加一层class="inner-container"的容器,并让其宽度=width(container)+width(scroller),如此便不会在出现滚动条的时候将内容挤下去了,代码如下

.container{

width:300px;

height:200px;

background-color:#efefef;

overflow-y:hidden;

overflow-x:hidden;

white-wrap:nowrap;

padding:10px;

}

.container:hover{

overflow-y:auto;

}

.container div div{

display:inline-block;

margin-right:5px;

width:92px;

height:300px;

background-color:#777;

}

/*添加部分:一般ie中的滚动条宽度是24px*/

.inner-container{

width:calc(100% + 24px);

}

原理即是,让包裹子元素内部容器inner-container比外部容器container 的宽度大于一个滚动条宽度,这样即使滚动条出现也不会影响子元素。

一般来说windows下IE的滚动条宽度为24px,所以加上24px即可,如果是在谷歌中既可以设置滚动条宽度,或者设置overflow:overlay 也可(不过这个属性在IE中不兼容)

html自定义滚动条不占位,如何实现滚动条在各浏览器中不占用布局相关推荐

  1. HTML自定义滚动条(仿网易邮箱滚动条)

    自定义滚动条 在web前端非常火爆的今天,好的界面可以给人们很好的体验.浏览器的滚动条总是千篇一律,那么滚动条是否可以自定义呢?网上好多自定义滚动条通过CSS样式来设置的,但是这种做法只有IE支持,那 ...

  2. mysql滚动条不见了,11-JS处理滚动条

    [TOC] 前言 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见 ...

  3. 滚动条如何设置样式和滚动条悬浮显示与隐藏

    文章目录 一.滚动条如何设置样式 1:滚动条的默认样式(如下图) 1:html代码 2:css代码 3:效果图 2:CSS设置滚动条的属性(重点) 3:设置滚动条的例子 1:css代码(在第1步的基础 ...

  4. 原生js监听滚动条_原生JS实现滚动条监听

    本文主要利用原生的javascript实现滚动条事件的监听,主要涉及的知识: (1)利用React组件渲染一个UI页面 (2)实现锚点链接 (3)实现滚动条onscroll事件 其中,利用React渲 ...

  5. 1.4_17 Axure RP 9 for mac 高保真原型图 - 案例16 【动态面板-滚动条6】手动制作滚动条

    相关链接 目录 Axure中文学习网 AxureShop AxureShop-QA 案例目标  1. 了解 手动制作滚动条 的原理  2. 掌握 鼠标悬停 在本案例中的用法 一.成品效果 Axure ...

  6. 解决layui table页面一加载页面有滚动条的话表格也有滚动条

    解决layui table页面一加载页面有滚动条的话表格也有滚动条 只要在css中加入body{overflow-y: scroll;}就可以解决了

  7. css怎么去掉滚动条滑块,css如何去掉滚动条样式

    css去掉滚动条样式的方法是,给滚动条设置[overflow:hidden]样式,将滚动条完全隐藏即可,例如[::-webkit-scrollbar {display: none; /* Chrome ...

  8. h5滚动隐藏滚动条_vue.js-div怎么隐藏滚动条

    这次给大家带来vue.js-div怎么隐藏滚动条,vue.js-div隐藏滚动条的注意事项有哪些,下面就是实战案例,一起来看一下. 组件被包在一个高度固定的pmounted () { var bop ...

  9. C语言窗口水平滚动条,C语言Windows程序设计滚动条

    滚动条由滚动滑块以及两端的滚动箭头组成, 滚动条的作用是当需要显示的内容超过窗口客户区大小时提供上下/左右的翻页使用户能够完整的阅读显示信息 Windows滚动条介绍 滚动条由滚动滑块以及两端的滚动箭 ...

最新文章

  1. html css右下角三角形,纯CSS绘制三角形(各种角度)
  2. java ipv6校验_java - IPv6地址验证和规范化[关闭] - 堆栈内存溢出
  3. 对 Vue 的理解(一)
  4. Jmeter中使用CSV Data Set Config
  5. 屏蔽布线系统端接模块的技巧
  6. Redis配置文件所在位置
  7. 使用科大讯飞SDK实现语音功能
  8. SparkMLlib简介
  9. 仿真软件scaner studio上手基础操作(一)
  10. Redis 如何实现防止超卖和库存扣减操作?
  11. 腾讯云服务器部署TomCat出现404
  12. error怎么开机 fan_电脑开机黑屏提示CPU Fan Error怎么解决?
  13. keil 5 : Error: L6218E: Undefined symbol 问题解决方法小记
  14. QUIC浅析,android开发者模式
  15. 软件测试入门简单么?入行后如何做职业规划
  16. 怎么看待美国化学品泄漏事故
  17. LaTex 表格之三线表
  18. MySQL函数生成订单编号
  19. 暴力破解(Burte Force)
  20. Java--反射机制原理、几种Class获取方式及应用场景

热门文章

  1. react学习(53)--传参payload
  2. [html] 你觉得写Html难吗?难在哪?为什么?
  3. [css] box-sizing的宽度包含了哪些?
  4. 前端学习(2018)vue之电商管理系统电商系统把good_cat转换为字符串
  5. 前端学习(1990)vue之电商管理系统电商系统之自定义时间过滤器
  6. 前端学习(1383):多人管理项目3
  7. 前端学习(1260):promise中的常见api对象方法
  8. 前端学习(1184):数据绑定指令
  9. shiro学习(5):ini文件和自定义realm
  10. 玩转oracle 11g(14):命令学习2