首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

优雅地实现滚动容器遮罩

在设计前端页面时,常常会遇到这种情况:可滚动容器的边界并非父容器的边界,导致子元素溢出造成裁切,让页面产生比较怪异的视觉效果(左图) 添加遮罩之后,效果自然了许多(右图) 纯色遮罩 以上图的这种情况举例...,我们需要做的,是在可滚动容器的顶部和底部分别放置一个线性渐变的纯色遮罩,遮挡生硬的裁切线。...所以需要在可滚动容器外部再嵌套一层 relative 定位的元素,使两个遮罩根据其位置定位,最终的结构大概是下面这样的: 可滚动容器之上,需要使用 pointer-events: none; 避免影响滚动操作。 仅适用于父容器为纯色的场景,在父容器有透明度、有背景图案或渐变时,遮罩会露馅。...我们只需要生成一个线性渐变,将其作为可滚动容器的蒙版即可。 使用linear-gradient创建一个多段的线性渐变,得到图中的蒙版效果。

35510

从零开始学 Web 之 CSS3(三)渐变,background属性

一、渐变 渐变是CSS3当中比较丰富多彩的一个特性,通过渐变我们可以实现许多炫丽的效果,有效的减少图片的使用数量,并且具有很强的适应性和可扩展性。可分为线性渐变、径向渐变。...1、线性渐变 线性渐变:指沿着某条直线朝一个方向产生渐变效果。....); 参数说明: direction:表示线性渐变的方向, to left:设置渐变为从右到左。相当于: 270deg; to right:设置渐变从左到右。...你还可以在后面添加更多的过渡颜色和位置,表示多种颜色的渐变。...*/ local与scroll的区别:当滚动的是当前盒子(div)里面的内容的时候, local:背景图片会跟随内容一起滚动; scroll:背景图片不会跟随内容一起滚动。

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法

    div{ filter:drop-shadow(-5px 0 0 deeppink); } 法六:渐变 linearGradient 灵活使用 CSS3 的渐变可以完成大量想不到的图形,CSS3...的渐变简单而言分为线性渐变和径向渐变,本题使用线性渐变,可以轻易解题: div{ background-image:linear-gradient(90deg, deeppink 0px, deeppink...5px, transparent 5px); } 其实,CSS3 渐变远不止线性渐变和径向渐变,细分下来,还有重复线性渐变(repeating-linear-gradient)和重复径向渐变(repeating-radial-gradient...法七:轮廓 outline 这个用的比较少,outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。这个方法算是下下之选。...提供,通过改变滚动条样式实现: div{ width:205px; background:deeppink; overflow-y:scroll; } div::-webkit-scrollbar

    60130

    css滚动进度条

    需求 首先先描述一下需求,就是在顶部有一个进度条,随竖向滚动条的滚动而长短变化,用以显示文章阅读进度,实现的方式是采用css来实现。....); 在实际应用中我们先来构建一个基本的html结构 div id="grad1"> div> 从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。...从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。...从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。...从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。从顶部开始的线性渐变。

    1.3K10

    CSS背景属性知多少?

    文字渐变色 1.9 渐变色 除了设置普通的纯色和背景图,还可以给背景设置渐变颜色,渐变颜色依赖于几何变换函数 1.9.1 线性渐变 线性渐变的函数是linear-gradient(起点和终点角度,起点颜色...颜色值的个数是不限定的(是一个列表),默认每个颜色在第一个参数所设定的线性方向上渐变等分。..., ) 相较于线性渐变稍微复杂了些。...2.1 线性变换背景 首先设置一个线性90deg水平向右渐变的彩虹色,效果如图 预览效果 然后加上帧动画,并且将background-size变大 div class="linear-bg"></....gif Gif预览效果不佳,可移步:https://codepen.io/DYBOY/pen/poNMxbX 2.2 不规则几何变换背景(Magical Wallpaper) 上面是借助线性渐变,那么我们再增加径向渐变

    1.1K20

    如何通过纯CSS实现网页的平滑滚动背景渐变效果

    文章首先解释了背景渐变效果的实现原理,然后详细阐述了平滑滚动背景渐变效果的实现步骤,包括创建滚动容器、添加背景渐变效果以及添加滚动事件监听器等。...背景渐变效果实现原理 在实现平滑滚动背景渐变效果前,我们先了解一下背景渐变的实现原理。CSS中可以通过linear-gradient()函数实现背景渐变效果。...该函数接受一个起始颜色和一个结束颜色,并根据选择的方向和位置进行渐变填充。 平滑滚动背景渐变效果实现步骤 创建一个具有滚动效果的容器。 div class="container"> 添加滚动事件监听器。 通过JavaScript给容器添加滚动事件监听器,以便在滚动过程中更新背景渐变的位置。...,我们获取容器的滚动位置scrollTop、容器的总高度scrollHeight、视口高度windowHeight,并根据滚动进度更新背景渐变的位置。

    56110

    CSS3 渐变 — 径向渐变

    HTML5学堂(码匠):有了解上周CSS3线性渐变的大家想必能很快掌握CSS3的径向渐变,两者的实现方法大同小异,但CSS3的径向渐变比线性渐变稍微复杂些,颜色不再沿着一条直线轴变化,而是从一个起点朝所有方向混合...径向渐变简介 2. 径向渐变属性与参数 3. 径向渐变基本用法 1、径向渐变简介 CSS3径向渐变,是一种从起点到终点颜色从内到外进行圆形渐变,就像从中间点向四周方向拉伸一样。...CSS3径向渐变不再像线性渐变那样沿着一条直线进行过度,而是以圆形或椭圆形进行渐变是圆形或椭圆形渐变,是从一个起点向所有方向渐变。...start-color和stop-color为必须设置的参数,并且径向渐变同线性渐变一样可以设置多种颜色。...默认情况下,径向渐变颜色节点是均匀分布的,不过我们也可以为每一种颜色添加百分比来控制颜色的分步,方法与线性渐变相同。

    3.4K50

    那些不常见,但却非常实用的css属性(整理不易)

    注: 其中可替换元素有 iframe,video,embed,img,还有一些在特性情况也是可替换元素,option,audio,canvas,object 例子前的准备 div style="width...12、resize 比较简单,可以查看 官方文档 13、scroll-behavior 当用户通过 API 触发滚动操作时,CSS 属性 scroll-behavior 为一个滚动框指定滚动行为, 平滑到达还是立即到达...,有: 线性渐变,linear-gradient,从一个方向,沿着另一个方向,颜色线性过渡。...径向基渐变,radial-gradient,从某一个点,沿圆环向外慢慢辐射。 ? 除此之外,还有一种渐变,叫"锥形渐变"。...它是围绕中心点按照扇形方向进行旋转的渐变(而不是从中心点辐射) 这是锥形和径向渐变的区别图 ?

    2.3K10

    小智在这3年开发中遇到的 CSS 问题及解决方案,有大佬帮他总结好了 !

    作者:Chidume Nnamdi 译者:前端小智 来源:smashingmagazine 在浏览器中实现用户界面时,请尽可能减少浏览器带来的差异,以使用户界面具有可预测性。...然而,在 Windows上,滚动条总是在那里(即使内容很短)。这是因为无论内容如何,scroll-y都会显示滚动条,这时候我们可以使用overflow: auto,它只会在需要时显示滚动条。 ?...div class="item">div> div class="item">div> div class="item">div> div class="item">div...解决方法: .article-content p { word-break: break-all; } 6.透明渐变 当渐变是以 transparent 开始或者结束的时候,在Safari...向 SVG 添加 fill 有时,在使用 SVG 时,如果在 SVG 中以内联方式添加了fill属性,填充就不会像预期的那样工作。

    3.7K10

    设计师会编程、程序员懂艺术:Semi Flat Design

    2 CSS3 中可用于Semi Flat Design 的特性 主要是阴影、滤镜、变换 box-shadow text-shadow boxShadow 属性把一个或多个下拉阴影添加到框上。...background:-webkit-linear-gradient 背景线性渐变属性,Flat Design的颜色一般是纯色的,Semi Flat Design为了体现光感,出现了渐变色的效果,css...除了线性渐变,还有径向渐变。...2)scroll: 背景图像相对于元素固定,也就是说当元素内容滚动时背景图像不会跟着滚动,因为背景图像总是要跟着元素本身。但会随元素的祖先元素或窗体一起滚动。...3)local: 背景图像相对于元素内容固定,也就是说当内容随元素滚动时背景图像也会跟着滚动,因为背景图像总是要跟着内容。

    2.4K60

    圣诞快乐,手绘CSS圣诞老人,DIY浪漫圣诞礼物!

    利用渐变背景创建辅助网格 为了更方便地定位元素,我们可以添加一个重复的线性渐变来创建背景网格。这个网格将作为我们的绘图辅助工具。...但身体部分真正有趣的是,我们将使用CSS渐变来绘制腰带和按钮:分别是径向渐变(radial-gradient())和线性渐变(linear-gradient())。...通过这些步骤,我们的圣诞老人变得越来越可爱,为网站添加了节日的气息和趣味性。 绘制圣诞老人的腿部 圣诞老人的腿部将由两部分组成:腿本身和靴尖(只有尖部,因为靴子将通过腿部上的线性渐变来绘制)。...我们将制作一个非常大的地面,大到它会溢出视口,我们需要在文档的中添加overflow: hidden,以避免出现烦人的滚动条。...我们将通过向添加一系列径向渐变来创建它,每一个都是一个不同大小的背景图像(这样它们看起来更不规则)。 注意:background-image允许多个值,只要它们由逗号分隔。

    19110
    领券