有人知道为什么我不能让这个线性渐变淡出这个 div 的右侧吗?
.main a {
display: inline;
}
.main {
height: 50px;
overflow-x: scroll;
white-space: nowrap;
}
.fader {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+72,ffffff+100&0+72,1+100 */
background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 1) 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(72%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(255, 255, 255, 1)));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 1) 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 1) 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 1) 100%);
/* IE10+ */
background: linear-gradient(to right, rgba(255, 255, 255, 0) 72%, rgba(255, 255, 255, 1) 100%);
/* W3C */
filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#ffffff', GradientType=1);
/* IE6-9 */
copy
}Run Code Online (Sandbox Code Playgroud)
<div class="main">
<div class="fader">
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
<a>Test</a>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
我相信您混淆了淡化 div 背景和淡化文本,这可能会令人困惑,但它们的工作方式并不相同。请注意,在您的 css 中,所有渐变都发生在背景属性中。这意味着只有背景会褪色,而不是文本等实际内容。这就是为什么在前面的答案中更改为蓝色会显示渐变,背景从白色渐变为蓝色,在您的情况下,背景是白色并渐变为白色,不会产生任何效果。
如果你想淡出文本本身,对于你想要做的事情,我知道实际上只有一个选择,那就是创建一个淡入白色的覆盖层,这里有一个例子:JSFiddle
基本上,您在已经创建的 div之上添加另一个 div ,它使用以下 css 创建渐变效果:
.fade {
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(to right, rgba(255,255,255,0) 30%,rgba(255,255,255,1) 100%);
position: absolute;
}
Run Code Online (Sandbox Code Playgroud)
这有一个潜在的缺点,即用户不再可以选择文本进行复制/粘贴,因为它位于另一个 div 下方,但我不相信有任何其他方法可以获取您想要的内容。