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

在一般浏览器中,当内容超出容器时,如果不是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;

}

dda30aca4d1a

1.gif

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

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

.container div{

width:calc(100% - 6px);

}

dda30aca4d1a

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中不兼容)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411772.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装教程-VMware 12 安装 Windows 10 企业版

VMware 12 安装 Windows 10 企业版 1、实验描述 在虚拟机中,手动安装 Windows10 企业版操作系统,为一些实验提供平台,因此,有关系统激活问题不再演示。可自行百度,或者加入QQ群交流:647033350 2、实验环境 …

[jQuery] 谈一下Jquery中的bind(),live(),delegate(),on()的区别?

[jQuery] 谈一下Jquery中的bind(),live(),delegate(),on()的区别&#xff1f; 在我们深入了解这些方法之前&#xff0c;我们先来一段常见的的HTML&#xff0c;作为我们编写jquery示例方法使用的样本。<ul id"members" data-role"listview" data-filter…

地贝扫地机器人维修_扫地机器人常见故障及维修方法

扫地机器人虽然智能&#xff0c;但是毕竟是人造机器&#xff0c;在使用很长时间后&#xff0c;多多少少会出现一些小问题。今天小编给大家分享下扫地机器人常见故障及维修方法&#xff0c;可供参考。扫地机器人常见故障及维修方法一、开机毫无反应对于小白的许多用户来说&#…

VSS 详解

VSS概述版本控制是工作组软件开发中的重要方面&#xff0c;它能防止意外的文件丢失、允许反追踪到早期版本、并能对版本进行分支、合并和管理。在软件开发和您需要比较两种版本的文件或找回早期版本的文件时&#xff0c;源代码的控制是非常有用的。Visual SourceSafe 是一种源代…

html生成1-32位随机数,如何生成一个32位的随机数 | 求索阁

CStringA CreateHex(int max){CStringA precision;precision.Format("%x",max);int size precision.GetLength();int num_align size%4; // 按多少位对齐if(num_align <4)num_align 4;else if (num_align <8) // 这里我假设最大数32位,如果…

[jQuery] 你知道自定义事件吗?jQuery里的fire函数是什么意思,什么时候用?

[jQuery] 你知道自定义事件吗&#xff1f;jQuery里的fire函数是什么意思&#xff0c;什么时候用&#xff1f; 1种是把那个bai函数放du到zhiready函数外面。 第dao2种是在ready函数zhuan里面加上window.deleteStu deleteStu; 即shu: $(function(){ function deleteStu(id){ al…

Page_Load的问题

前些天一直有个疑问&#xff1a;在Aspx的cs文件里有Page_Load函数&#xff0c;这个函数对应于Page类的Load事件&#xff0c;但是却搞不清楚Page_Load是如何绑定到Load的&#xff0c;没有类似this.Load ...这样的代码&#xff0c;没有显式的Event绑定&#xff0c;如何把Page_Loa…

「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】

题目大意 给你\(k\)个点&#xff0c;让这一些点和一号节点断开&#xff0c;删去某一些边&#xff0c;求最小的删去边权之和。 做题的心路历程 做了\(HG\)昨天的模拟赛&#xff0c;深深感觉到了窝的菜&#xff0c;所以为了\(A\)掉T1这一道毒瘤&#xff0c;窝就来学习一下虚树。 …

2021年安徽普通高考考试成绩查询,安徽省教育招生考试院:2021年安徽高考查分入口、查分系统...

【摘要】为了方便安徽高考考生能及时查询到2021年高考成绩&#xff0c;高考频道特别整理了的安徽省教育招生考试院2021年安徽高考成绩查询入口、查分系统&#xff0c;考生可在成绩公布时直接点击下面的链接进行查分&#xff0c;预祝大家金榜题名&#xff01;自安徽省教育招生考…

python 比赛成绩预测_大数据新研究:用六个月的跑步记录准确预测马拉松完赛成绩...

随着疫情得到控制&#xff0c;各个城市的马拉松比赛又开始相继恢复。从线上马拉松终于可以再次到各个城市不同的赛道上奔跑&#xff0c;无疑是跑者的福音。积压了大半年的情绪&#xff0c;也激发了跑者更高的训练热情&#xff0c;带来了更多跑量的累积。而准备一场马拉松比赛&a…

[jQuery] 你知道js和jQuery是什么关系吗?

[jQuery] 你知道js和jQuery是什么关系吗&#xff1f; jQuery是js的函式庫&#xff0c;並不能稱為框架。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

求最大素数和最小素数

#include "math.h"#include "stdio.h"/**//* ′ yo D y&#xffe1; kissrat′ 2 μ aD′ a*/voidmain(){ long m,m1,i,k; for(m100000002;m<100001000;m6){ m1m-1; ksqrt(m1); for (i3;i<k;i2)if(m1%i0) br…

Python之操作HBASE数据库

目前有两个库可以操作HBASE&#xff1a;hbase-thrift 和 happybase happybase使用起来比较简单方便&#xff0c;因此重点学习该库&#xff0c;hbase-thrift只做简要介绍。 &#xff08;一&#xff09;hbase-thrift 1、使用前先添加库和依赖库&#xff1a; pip install thrift …

fla 走迷宫游戏 源码_迷宫新玩法,果断一试

迷宫&#xff0c;真的是谜一样的存在&#xff0c;大到几十岁的成年人&#xff0c;小到三岁小儿&#xff0c;都对其没有抵抗力。而迷宫君也是真给力&#xff0c;除了能给人带来愉悦感与成就感&#xff0c;还能同时锻炼专注力、空间感、思维力、视觉追踪等&#xff0c;是儿童感统…

电脑桌面老是弹出计算机,电脑桌面老是弹出游戏怎么解决

如果玩游戏时桌面始终自动弹出&#xff0c;该怎么办&#xff1f;在360游戏模式下玩就足够了如何解决游戏在计算机上弹出的问题&#xff1f; _1首先打开我们的计算机&#xff0c;在我们的计算机桌面上找到计算机管家&#xff0c;然后单击它。 2.输入后&#xff0c;单击屏幕右下方…

[jQuery] jQuery是通过哪个方法和Sizzle选择器结合的?

[jQuery] jQuery是通过哪个方法和Sizzle选择器结合的&#xff1f; 通过创建一个div元素&#xff0c;检测被传入的fn是否被当前浏览器支bai持 function assert( fn ) { var div document.createElement("div");//此处用try-catch的原因是&#xff1a;被传入的fn很有…

用OmniPeek快速定义的过滤器来抓网页提交信息

编写网络程序的人&#xff0c;经常要抓取HTTP操作过程的一些数据&#xff0c;常用的软件有HTTPSniffer、httpLook等软件&#xff0c;这些软件比常简单&#xff0c;这儿就不作介绍了。这里重点介绍一下用OmniPeek来抓取数据包。OmniPeek 是一款非常优秀的网管软件&#xff0c;功…

类的构造器-init和new

提到构造器&#xff0c;大家都会想到 __init__&#xff0c;那么__new__是什么&#xff1f;也是构造器。 init 构造器 都很熟悉了&#xff0c;直接上代码 class MyClass(object):def __init__(self):passdef m1(self):print(3)mc MyClass() mc.m1() # 3 是不是很简单 别…

c++ dll发消息到主窗口_PyQt5学习笔记(五)窗口图形绘制

PyQt5提供了绘制图形的API&#xff0c;支持绘制&#xff1a;文本各种图形&#xff08;直线&#xff0c;点&#xff0c;椭圆&#xff0c;弧&#xff0c;扇形&#xff0c;多边形等&#xff09;图像绘制图形需要一个类QPainter。基本的绘制过程&#xff1a;# 创建QPainter对象 pai…

[jQuery] 针对jQuery性能的优化方法有哪些?

[jQuery] 针对jQuery性能的优化方法有哪些&#xff1f; show slide animate 等频繁修改 dom 很耗性能&#xff0c;可采用 jquery.transit 插件等使用单个 id 或 class 选择器当然也是优化点咯&#xff0c;元素选择器是真的会卡每次调用 $() 其实都是生成一个超大的对象&#xf…