Vin*_*rma 4 html css linear-gradients css-mask
我需要从顶部和底部淡出段落。但我只能从任一侧褪色。
\nHTML:
\n<p className="bottom-overflow-fade">\n {content}\n</p>\nRun Code Online (Sandbox Code Playgroud)\nCSS:
\n.bottom-overflow-fade {\n mask-image: linear-gradient(to bottom, black 80%, transparent 100%);\n -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);\n}\n\n.top-overflow-fade {\n mask-image: linear-gradient(to top, black 80%, transparent 100%);\n -webkit-mask-image: linear-gradient(to top, black 80%, transparent 100%);\n}\nRun Code Online (Sandbox Code Playgroud)\n当前结果:
\n\n问题:
\n如果我将这两个类名添加到段落中,淡入淡出将\xe2\x80\x99t 工作。如果我使用其中任何一个,那么顶部和底部的淡入淡出效果都很完美。是否可以将这两个 CSS 属性合并为一个,以便顶部和底部淡入淡出都起作用?
\n注意:我不是在谈论任何动画。
\n这是因为 CSS 的本质。如果您为同一财产申请两份声明,则只有一份声明负责!您可以创建具有不同线性渐变的单个类,该渐变开始透明变为黑色,然后结束透明,例如:
.top-bottom-overflow-fade {
mask-image: linear-gradient(transparent, black 20%, black 80%, transparent 100%);
-webkit-mask-image: linear-gradient(transparent, black 20%, black 80%, transparent 100%);
}
Run Code Online (Sandbox Code Playgroud)
编辑
评论中提出的问题询问传递给线性梯度函数的值是什么:
to left top或to right)或旋转角度来描述。在 CSS 中,用于表示角度的单位可以采用deg(度)、turn(rad弧度)或grad(梯度)的形式。如果没有提供,默认方向是从上到下。请注意,我没有包含此内容,因此使用默认方向。background-image