位置: IT常识 - 正文

css 100vw、100vh出现滚动条怎么解决

编辑:rootadmin
css 100vw、100vh出现滚动条怎么解决

推荐整理分享css 100vw、100vh出现滚动条怎么解决,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

要搞清楚这个问题首先要知道这两个单位(vw、vh)是什么意思。vw(vh)是相对于浏览器的视口宽度(高度)的,100vh等于浏览器的视口宽度,设置vw和vh会在视口发生变化时重新计算宽度和高度。

那么问题来了,什么是浏览器的视口,来看下面一张图:

上面这张图中,红色线条框起来的区域才是浏览器的视口,不是整个浏览器可视区域,也不是这个绿色背景覆盖的区域。

css 100vw、100vh出现滚动条怎么解决

知道这些以后,我们给一个盒子设置100vw和100vh应该是让这个盒子刚好覆盖浏览器视口。那么为什么会出现横向和纵向的滚动条呢?

上面这张图的代码如下:

<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> .box { width: 100vw; height: 100vh; background: green; } </style> </head> <body> <div class="box"></div> </body></html>

在代码中,我们给body中的一个class为box的盒子设置了宽度100vw,高度100vh,背景颜色green。我们会注意到,这个绿色背景与视口顶端和左端都有一定白色间隙。这个间隙是由于浏览器给body增加默认样式造成的,我们可以通过开发者工具面板看到这些浏览器样式,如下图:

可见浏览器给body设置了一个8px的外边距。

由于这个外边距的存在,而我们的盒子的高度是整个视口的高度,所以body的宽高会被绿色盒子撑开,从而导致视口无法完整显示body元素。

对于浏览器来说,有任何一个元素无法在视口内显示,浏览器就会自动加滚动条,这种滚动条(区别于由于设置了overflow:scroll出现的滚动条)永远出现在紧贴着视口的右侧或下侧,同时这种滚动条也是视口的一部分。 所以一开始视口无论横向和纵向都无法完整显示body元素,导致了出现了横向和纵向滚动条。 在不改变这个绿色盒子已有的这两个属性的情况下消除滚动条有如下方式,

第一种解决方案是将body的上下左右外边距都设置为0。(注意如果有body有任何一个方向的外边距不为0,都会可能导致横向和纵向都出现滚动条,这是因为横向的滚动条的出现会使视口的高度变高,纵向滚动条的出现使得视口宽度变宽。)第二种解决方案是给绿色盒子设置max-width:100%使得横向滚动条消失。第三种解决方案是给body元素设置溢出隐藏(overflow:hidden)第四种解决方案是给html元素设置溢出隐藏overflow:hidden)

第三和第四种方案会导致一部分内容无法显示,随着可视区域变化,被隐藏的部分也会变化。

关于overflow补充一下细节:overflow是一个速写属性,包含overflow-x,overflow-y,所有元素的overflow值默认都是visible(可见)。其值可以取得scroll(出现滚动条)、hidden(隐藏溢出的部分)。在视口能正常显示所有元素的情况下,给body或html元素设置overflow:scroll会出现无法滑动的横向和纵向滚动条。  

本文链接地址:https://www.jiuchutong.com/zhishi/295302.html 转载请保留说明!

上一篇:浏览器window.open()用法,以及利用其实现拦截弹出式窗口(浏览器windows下载)

下一篇:Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组(fastjson 解析)

  • 境内单位和个人向境外单位提供服务
  • 增值税先征后退会计处理
  • 房地产公司资本公积
  • 专用增值税发票和普通发票区别
  • 金税盘开具发票 在增值税申报表哪填写
  • 个体工商户增值税怎么计算
  • 不够起征点免缴的增值税如何做税务处理?
  • 金税三期个人所得税税率
  • 发票入账后查出金额错误
  • 一个季度申报一次是什么
  • 外资企业所得税税率25
  • 2021年沙子水泥税率是多少
  • 福利费抵扣了进项税有2年了怎么办
  • 公司为员工负担的工资
  • 事业单位开发成本占比
  • 财产保险费计入什么科目
  • 委托贷款合同效力
  • 工资现金发放的零头入账
  • 宝塔linux面板怎么安装
  • linux 使用u盘
  • 发票备注栏的填写规定
  • 发票金额与实际金额不一致违法吗
  • Win10宽带无法连接
  • 如何在电脑管家里把健康小程序提取出
  • 房地产评估计费
  • 公司向股东还款的会计分录
  • 投标保证金退回的利息计入什么费用
  • PHP:mcrypt_get_key_size()的用法_Mcrypt函数
  • 斋普尔的景点
  • php strlen函数
  • thinkphp删除数据
  • Vue vue.config.js 的详解与配置
  • php制作验证码
  • 雷斯岬国家海岸公园有信号吗
  • 表单建模
  • php控制结构
  • 常见浏览器兼容软件
  • css加小手
  • 帝国cms界面
  • 转增资本属于什么会计科目
  • 主营业务收入和营业外收入的区别
  • 当月勾选认证可以在下月抵扣吗
  • 租车发票可以抵扣吗
  • 施工项目的费用包括
  • 收到小微企业退税怎么做账
  • 资产是指()
  • 公司购买汽车的会计分录
  • 应收账款借方余额
  • 融资性无形资产的入账价值
  • 进项税销项税抵扣分录
  • 现金比率合适范围
  • 2017年6月,小张买了一台笔记本电脑,其主要硬件参数
  • 委外加工半成品入库的会计分录
  • 纳税人办理逾期申报流程
  • 发票打印机多少钱一套
  • 公司购买的办公楼怎么交房产税
  • 为什么需要会计信息
  • sql server?
  • system is boot up with
  • xp系统运行怎么打开
  • debian更新软件
  • linux使用cp
  • ubuntu怎样调出命令行
  • ubuntu系统键盘无用
  • mtask.exe - mtask是什么进程 有什么用
  • window10 蓝牙鼠标
  • win10系统中怎么删除日志文件
  • win7怎么截屏幕
  • 无线和网络飞行模式
  • Win10系统安装步骤
  • javascript概述及作用
  • node执行js文件的命令是什么
  • 用kotlin开发android
  • 关于echo的名字
  • js闭包的定义和用途
  • 北京增值税普通发票图片
  • 税控机怎么开发票
  • 创新税务稽查方案
  • 税务网上抄报流程是什么
  • 内审工作流程及内审中常见的问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设