div+css制作滚动条,div中的CSS自定义滚动条

小编典典

我认为整合有关滚动条,CSS和浏览器兼容性的最新信息会有所帮助。

滚动条CSS支持

当前,没有跨浏览器的滚动条CSS样式定义。最后,我在W3C文章中提到了以下内容,并于最近进行了更新(2014年10月10日):

某些浏览器(IE,Konqueror)支持非标准属性“ scrollbar-shadow-color”,“ scrollbar-track-color”等。这些属性是非法的:它们既没有在任何CSS规范中定义,也没有被标记为专有(通过在它们前面加上“ -vendor-”)

Microsoft

正如其他人提到的那样,Microsoft支持滚动条样式,但仅适用于IE8及更高版本。

例:

.TA {

scrollbar-3dlight-color:gold;

scrollbar-arrow-color:blue;

scrollbar-base-color:;

scrollbar-darkshadow-color:blue;

scrollbar-face-color:;

scrollbar-highlight-color:;

scrollbar-shadow-color:

}

Chrome和Safari(WebKit)

同样,WebKit现在具有自己的版本:

样式滚动条

所有WebKit滚动条样式的演示

从WebKit的自定义滚动条中,相关CSS:

/* pseudo elements */

::-webkit-scrollbar { }

::-webkit-scrollbar-button { }

::-webkit-scrollbar-track { }

::-webkit-scrollbar-track-piece { }

::-webkit-scrollbar-thumb { }

::-webkit-scrollbar-corner { }

::-webkit-resizer { }

/* pseudo class selectors */

:horizontal

:vertical

:decrement

:increment

:start

:end

:double-button

:single-button

:no-button

:corner-present

:window-inactive

Firefox(Gecko)

从64版开始,Firefox通过属性scrollbar-color(部分为W3C draft)和scrollbar-width(W3C draft)支持滚动条样式。在此答案中可以找到有关实现的一些很好的信息。

防止非法滚动条样式

万一您想防止没有以“ -vendor”为前缀的滚动条样式,W3C上的这篇文章将提供一些基本说明。基本上,您需要将以下CSS添加到与浏览器关联的用户样式表中。这些定义将覆盖您访问的任何页面上无效的滚动条样式。

body, html {

scrollbar-face-color: ThreeDFace !important;

scrollbar-shadow-color: ThreeDDarkShadow !important;

scrollbar-highlight-color: ThreeDHighlight !important;

scrollbar-3dlight-color: ThreeDLightShadow !important;

scrollbar-darkshadow-color: ThreeDDarkShadow !important;

scrollbar-track-color: Scrollbar !important;

scrollbar-arrow-color: ButtonText !important;

}

2020-05-10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现只有一条并且自适应长度的横向滚动公告,可以使用CSS3的flex布局和animation动画。具体步骤如下: 1. 使用一个div元素作为容器,设置宽度为100%、高度为固定值,并且设置overflow属性为hidden,使内容超过div大时被隐藏。 2. 在div容器内部创建一个p元素,并使用CSS3的flex布局,设置flex-wrap属性为nowrap,使p元素无法换行。 3. 对p元素设置white-space属性为nowrap,使文本不换行。 4. 使用CSS3的animation动画来实现横向滚动的效果,并将animation动画应用到p元素上。 5. 通过CSS3的media query来实现不同屏幕尺寸下的适配。 下面是示例代码: HTML代码: ``` <div class="notice-container"> <p class="notice-text">这是一条公告信息</p> </div> ``` CSS代码: ``` .notice-container { width: 100%; height: 50px; overflow: hidden; } .notice-text { display: flex; white-space: nowrap; animation: notice-scroll 10s linear infinite; } @keyframes notice-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } } @media screen and (max-width: 768px) { .notice-text { font-size: 12px; } } @media screen and (min-width: 768px) and (max-width: 992px) { .notice-text { font-size: 14px; } } @media screen and (min-width: 992px) { .notice-text { font-size: 16px; } } ``` 通过上述步骤,就可以实现一个只有一条并且自适应长度的横向滚动公告了。可以根据需要调整容器的高度、文本的字体大小、animation动画的滚动速度等参数来适应不同的场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值