改变浏览器默认的滚动条样式:
//滚动条凹槽的颜色,还可以设置边框属性
::-webkit-scrollbar-track-piece {
background-color:#f8f8f8
}
//滚动条的宽度
::-webkit-scrollbar {
width:9px
height:9px
}
//滚动条的设置
::-webkit-scrollbar-thumb {
background-color:#dddddd
background-clip:padding-box
min-height:28px
}
::-webkit-scrollbar-thumb:hover {
background-color:#bbb
}
扩展资料:
给某个div,class为test1加滚动条样式:
.test1::-webkit-scrollbar {
width: 8px
}
.test1::-webkit-scrollbar-track {
background-color:red
-webkit-border-radius: 2em
-moz-border-radius: 2em
border-radius:2em
}
.test1::-webkit-scrollbar-thumb {
background-color:green
-webkit-border-radius: 2em
-moz-border-radius: 2em
border-radius:2em
}
前情提要:本篇文章已经默认你已经彻底了解perspective和translateZ的含义与用法,如果尚未了解,我推荐你看 css3系列之详解perspective
是不是比起普通网站多了一层酷炫?想知道如何实现吗?接下来我们进入part2。
步骤:
1.建立一个容器元素,设置 overflow-y: scroll 使其可以滚动(同时可能需要 overflow-x: hidden)。
2.对于上面的元素, 我们会应用一个 perspective 值,然后设置 perspective-origin 到 top left, 或者 0 0。
3.对上面元素的子元素应用一个在 Z 轴的变换,然后把它们还原回来以实现视差效果,而没有影响它们在屏幕上的大小。
这种方案下的css和html:
是不是很简单?
现在的你已经写出基本的视差滚动动画了!但是perspective和translateZ是怎么影响滚动速度的?还有scale,为什么这里设置的是3?想知道吗?那么接下来进入part3
这里把scale设为S,pespcetive->P,translateZ->D // 注意D一般是负值
那么有公式 S=(P-D)/P ,
这个公式怎么来的?这其实就是一个简单的相似三角形
划红线的地方的比例就是1:3,那么你只需要在原来的基础上放大3就可以让图形变回原来的比例,这里的1就是P,2就是D,那么很容易发现图形的缩小比例是P/(P-D),想放大回来?倒置这个缩小比例即可,我们便得到了S=(P-D)/P
现在我们已经靠scale属性让图形变回了原来的大小,似乎一切都恢复了原状,但有一个东西,它变了,便是滚动速度,滚动速度和上面的缩小比例是完全一致的,以如下数据为例
不看scale,这里的缩小比例是1/3,那么由于css机制,它的滚动速度也会变成原来的1/3。即使添加了scale属性,它的滚动速度依然不变还是原来的1/3。
现在让我们来总结性质:
父元素设置perspective,子元素设置 translateZ(-2px),那么无论是否有scale属性,
则有
PS:如果不设置 translateZ,或者 translateZ(0),那么对应D=0,所以有缩小比例=滚动速度比=(P/P-0)=1:1,即相对于原来的滚动速率不变。
为了方便读者尝试,我码了一个小小的demo,你可以任意更改属性来验证上面的结论!
参考文献
Performant Parallaxing : https://developers.google.com/web/updates/2016/12/performant-parallaxing
[杨耿]css3系列之详解perspective:
https://www.cnblogs.com/yanggeng/p/11285856.html
在css中要出现滚动条,就必需要设置height高度以及overflow属性相关,这两个都必需要设置不然出现不了滚动条。
程序:
</style>
<div class="y">
纵向滚动条
</div>
基本语法
overflow-x overflow-y
overflow : visible | auto | hidden | scroll
扩展资料:
CSS具有以下特点:
1、丰富的样式定义
CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果。
2、易于使用和修改
CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。
参考资料来源:百度百科-Overflow
参考资料来源:百度百科-css