千家信息网

css的overflow属性怎么定义滚动条

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍css的overflow属性怎么定义滚动条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:条件滚动条和overflow是紧密相关的。只有当父级的overflo
千家信息网最后更新 2024年11月23日css的overflow属性怎么定义滚动条

这篇文章主要介绍css的overflow属性怎么定义滚动条,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

  一:条件

  滚动条和overflow是紧密相关的。只有当父级的overflow的值是auto或scroll,并且元素的内容超出元素区域时,才有可能出现滚动条

  二:默认

  无论什么浏览器,默认滚动条均来自,而不是。因为元素默认有8px的margin。若滚动条来自元素,则滚动条与页面则应该有8px的间距,实际上并没有间距,所以滚动条来自元素

  三:尺寸

  通过以下代码可得出滚动条会占用浏览器的可用宽度为:

  chrome/firefox/IE17px

  safari21px

  .box{

  width:400px;

  overflow:scroll;

  }

  .in{

  *zoom:1;

  }

  

  

  

  console.log(400-document.getElementById('in').clientWidth);

  兼容

  【1】默认情况下IE7-浏览器默认有一条纵向滚动条,而其他浏览器则没有

  //IE7-浏览器

  html{overflow-y:scroll;}

  //其他浏览器

  html{overflow:auto;}

  //去除页面默认滚动条

  html{overflow:hidden;}

  【2】IE7-浏览器与其他浏览器关于滚动条的宽度设定机制不同

  .box{

  width:200px;

  height:100px;

  background-color:pink;

  overflow:scroll;

  }

  .in{

  width:100%;

  height:60px;

  background-color:lightgreen;

  }

  

  测试文字

  

  父级box出现纵向滚动条,实际上子级in的可用宽度就缩小了。IE7-浏览器的子级宽度忽略了该滚动条的宽度,子级宽度=400*100%=400px,则出现了横向滚动条;而其他浏览器的子级宽度考虑到该滚动条的宽度,子级宽度=(400-滚动条宽度)*100%

  左边为IE7-浏览器,右边为其他浏览器

  【3】水平居中跳动问题

  当一个元素在页面中水平居中时,页面中出现纵向滚动条会发生水平居中的跳出问题。解决方法如下:

  //IE8-默认

  html{overflow-y:scroll}//IE9+,100vw表示浏览器的宽度,100%表示可用内容的宽度

  .container{padding-left:calc(100vw-100%)}

  自定义

  【1】IE

  IE浏览器支持通过CSS样式来改变滚动条的部件的自定义颜色

  scrollbar-face-color滚动条凸出部分的颜色

  scrollbar-shadow-color立体滚动条阴影的颜色

  scrollbar-highlight-color滚动条空白部分的颜色

  scrollbar-3dlight-color滚动条亮边的颜色

  scrollbar-darkshadow-color滚动条强阴影的颜色

  scrollbar-track-color滚动条的背景颜色

  scrollbar-arrow-color上下按钮上三角箭头的颜色

  scrollbar-base-color滚动条的基本颜色

  【2】webkit

  webkit内核的浏览器支持滚动条自定义样式,但和IE不同,webkit是通过伪类来实现的组成

  ::-webkit-scrollbar滚动条整体部分

  ::-webkit-scrollbar-thumb滚动滑块

  ::-webkit-scrollbar-track外层轨道

  ::-webkit-scrollbar-track-piece内层轨道

  ::-webkit-scrollbar-corner边角

  ::-webkit-scrollbar-button两端按钮

  [注意]当为滚动条设置宽高样式为百分比值时,是相对视窗大小来说的

  [注意]滚动条的层叠关系为scrollbar在最底层,往上依次是track外层轨道,track-piece内层轨道。而button按钮、corner边角和thumb滑块有最顶层

  四:伪类相关

  :horizontal

  //horizontal伪类适用于任何水平方向上的滚动条

  :vertical

  //vertical伪类适用于任何垂直方向的滚动条

  :decrement

  //decrement伪类适用于按钮和轨道碎片。表示递减的按钮或轨道碎片,例如可以使区域向上或者向右移动的区域和按钮

  :increment

  //increment伪类适用于按钮和轨道碎片。表示递增的按钮或轨道碎片,例如可以使区域向下或者向左移动的区域和按钮

  :start

  //start伪类适用于按钮和轨道碎片。表示对象(按钮轨道碎片)是否放在滑块的前面

  :end

  //end伪类适用于按钮和轨道碎片。表示对象(按钮轨道碎片)是否放在滑块的后面

  :double-button

  //double-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一对按钮。也就是轨道碎片紧挨着一对在一起的按钮。

  :single-button

  //single-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一个按钮。也就是轨道碎片紧挨着一个单独的按钮。

  :no-button

  no-button伪类表示轨道结束的位置没有按钮。

  :corner-present

  //corner-present伪类表示滚动条的角落是否存在。

  :window-inactive

  //适用于所有滚动条,表示包含滚动条的区域,焦点不在该窗口的时候。

  ::-webkit-scrollbar-track-piece:start{

  /*滚动条上半边或左半边*/

  }

  ::-webkit-scrollbar-thumb:window-inactive{

  /*当焦点不在当前区域滑块的状态*/

  }

  ::-webkit-scrollbar-button:horizontal:decrement:hover{

  /*当鼠标在水平滚动条下面的按钮上的状态*/

  }

以上是"css的overflow属性怎么定义滚动条"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

很赞哦!
按钮 轨道 浏览器 浏览 宽度 碎片 颜色 区域 元素 内容 页面 位置 样式 水平 纵向 部分 属性 不同 也就是 内层 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浅谈如何进行网络安全评估 2022年公办本科单招网络技术 hp服务器初始密码 中国出现的网络安全事件 生活中预防网络安全 网络技术 2017 金蝶数据库委外加工入库表名 杭州笃行网络福州软件开发 贵州软件开发标准 重庆app软件开发多少钱 五季网络安全科技馆 电脑无法连接到网络服务器未运行 合肥做软件开发工资标准 上传图片到数据库并且展示出来 普尔数据库 校园网络安全开展情况 FIFA20生涯数据库 内蒙古逯雷应用软件开发 华水 数据库考试题 服务器什么时候开始发展 中国联通充话费显示服务器繁忙 数据库系统安全包含哪些 五指山软件开发 手机软件开发开发培训课程 nrds数据库 语音聊天软件开发介绍 网络安全基本模型 服务器ip如何修改账户密码 his的缩写形式怎么写数据库 数据库系统教程第三版何玉洁
0