最基础的思路就是表头和内容是用两个表格来显示(图来自 https://zhuanlan.zhihu.com/p/33280304 ),关于怎么保存表头和内容列宽一致链接里这个文章里也有写就不另外说了。
纵向滚动是挺好实现的,我开始是在内容的表格外面套了一个div,之后设置 overflow-y:auto 就实现纵向滚动了。
但横向滚动呢?
首先想到的方案是在最外面的div,outer加上 overflow-x:auto
虽然这样横纵都能滚动了,但是横向滚动的时候纵向滚动条也被滚走了。
然后想到了是用js来同步,可以是可以的,但是还是想挣扎一下。
之后想到了fixed,发现如果表头设置为fixed无论横向滚动还是都会被固定在原地。
最后突然想到一个position的新属性,sticky
设置了 position: sticky ,在屏幕范围(viewport)时该元素的位置并不受到定位影响(设置是top、left等属性无效),当该元素的位置将要移出偏移范围时,定位又会变成fixed,根据设置的left、top等属性成固定位置的效果( https://www.cnblogs.com/s1nker/p/4835079.html )。
所以最后设置了表头
css:
就成功实现了想要的效果了。
不过sticky的兼容性也是要考虑一下的。
隐藏竖向滚动条在子页面的<html>标签里加入以下格式:<htmlstyle="overflow:autooverflow-y:hidden">,
style="overflow:auto",当内容超出范围之后,就会自动有滚动条了。
设置div横向滚动条div<style="overflow:scroll"></div>
我们大家在浏览网页的时偶尔会看到很漂亮的各种颜色样式的滚动条,这就是通过css代码控制来实现的,于是本人搜集整理一番,这里和大家分享一下使用CSS设置滚动条颜色以及如何去掉滚动条的方法,需要的朋友可以参考下,很有用的
我们大家在浏览网页的时偶尔会看到很漂亮的各种颜色样式的滚动条,这就是通过css代码控制来实现的,于是本人搜集整理一番,这里和大家分享一下使用CSS设置滚动条颜色以及如何去掉滚动条的方法,需要的朋友可以参考下,很有用的
div {scrollbar-face-color: #fcfcfc
scrollbar-highlight-color: #6c6c90
scrollbar-shadow-color: #fcfcfc
scrollbar-3dlight-color: #fcfcfc
scrollbar-arrow-color: #240024
scrollbar-track-color: #fcfcfc
scrollbar-darkshadow-color: #48486c
scrollbar-base-color: #fcfcfc
}
滚动条样式主要涉及到如下CSS属性:
overflow属性: 检索或设置当对象的内容超过其指定高度及宽度时如何显示内容
overflow: auto在需要时内容会自动添加滚动条
overflow: scroll总是显示滚动条
overflow-x:
hidden禁止横向的滚动条
overflow-y: scroll总是显示纵向滚动条
width: 568pxwidth: 98%
设置区域的宽度[像素/百分比等等]
height: 120px设置区域的高度[像素/百分比等等]
<STYLE>BODY {
SCROLLBAR-FACE-COLOR: #f892cc
SCROLLBAR-HIGHLIGHT-COLOR: #f256c6
SCROLLBAR-SHADOW-COLOR: #fd76c2
SCROLLBAR-3DLIGHT-COLOR: #fd76c2
SCROLLBAR-ARROW-COLOR: #fd76c2
SCROLLBAR-TRACK-COLOR: #fd76c2
SCROLLBAR-DARKSHADOW-COLOR: #f629b9
SCROLLBAR-BASE-COLOR: #e9cfe0
}
</STYLE>
SCROLLBAR-FACE-COLOR: 滚动条凸出部分的颜色
SCROLLBAR-HIGHLIGHT-COLOR: 滚动条空白部分的颜色
SCROLLBAR-SHADOW-COLOR: 立体滚动条阴影的颜色
SCROLLBAR-3DLIGHT-COLOR: 滚动条亮边的颜色
SCROLLBAR-ARROW-COLOR: 上下按钮上三角箭头的颜色
SCROLLBAR-TRACK-COLOR: 滚动条的背景颜色
SCROLLBAR-DARKSHADOW-COLOR: 滚动条强阴影的颜色
SCROLLBAR-BASE-COLOR:
滚动条的基本颜色
网页中去掉滚动条:
去掉横向滚动条:<body
style='overflow:scrolloverflow-x:hidden'>
去掉竖向滚动条:<body
style='overflow:scrolloverflow-y:hidden'>
两个都去掉:<body scroll="no">
框加中去滚动条在name=""后面加 scrolling="No"
1,Overflow内容溢出时的设置
overflow
水平及垂直方向内容溢出时的设置
overflow-x 水平方向内容溢出时的设置
overflow-y 垂直方向内容溢出时的设置
以上三个属性设置的值为visible、scroll、hidden、auto
visible
默认值。使用该值时,无论设置的"width"和"height"
的值是多少,其中的内容无论是否超出范围都将被强制显示。
hidden
效果与visible相反。任何超出"width"和"height"的内
容都会不可见。
scroll 无论内容是否超越范围,都将显示滚动条。
auto 当内容超出范围时,显示滚动条,否则不显示。
应用:
没有水平滚动条:
<div style="overflow-x:hidden">test</div>
没有垂直滚动条
<div style="overflow-y:hidden">test</div>
没有滚动条
<div
style="overflow-x:hiddenoverflow-y:hidden"
或style="overflow:hidden">test</div>
自动显示滚动条
<divstyle="height:100pxwidth:100pxoverflow:auto">test</div>
2,自己定义滚动条的颜色
我们一般默认的滚动条样式如下左图,右图是放大了1600倍的样子,我们可以看到滚动条有几种言责组合的,我给他们标了7个号,
分别注释在下面的css代码的后面了,注意css的注释代码是放在两个斜杠内的两个星号之间,如:
Body {scrollbar-arrow-color: #f4ae21
scrollbar-face-color: #333
scrollbar-3dlight-color: #666
scrollbar-highlight-color: #666
scrollbar-shadow-color: #999
scrollbar-darkshadow-color: #666
scrollbar-track-color: #666
}