带有渐变 mask 的 CSS 垂直滚动选框

标签 css css-animations opacity linear-gradients css-mask

我正在尝试在全出血背景上创建一个垂直滚动的选取框。滚动文本将包含在页面的中心,并且必须穿过顶部和底部的渐变不透明 mask 。

我可以在顶部或底部应用渐变 mask ,但不能同时应用两者。

有没有办法只用 CSS/HTML 来做到这一点?

请参阅将不透明蒙版应用于容器底部的 fiddle - 目标是将该蒙版置于容器的顶部和底部。

  .bgimage{
  position: fixed;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  background-image: url(https://static.pexels.com/photos/880861/pexels-photo-880861.jpeg);
  z-index:-2;
  }
  .container {
  width: 100%;
  height: 10vw;
  margin: 1em auto;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  text-align:center;
  -webkit-mask-image: -webkit-gradient(linear, left 20%, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
  
  }

  .marquee {
  top: 6em;
  position: relative;
  box-sizing: border-box;
  animation: marquee 20s linear infinite;
  }


  /* Make it move! */
  @keyframes marquee {
  0%   { top:   18vw }
  100% { top: -65vw }
  }

  /* Make it look pretty */
  .microsoft .marquee {
	margin: 0;
  padding: 0 1em;
  line-height: 1.5em;
  color: white;
  font: 5vw 'Segoe UI', Tahoma, Helvetica, Sans-Serif;
  }
<div class="microsoft container">
    <p class="marquee">ONE<br /><br />TWO<br /><br />THREE<br /><br />FOUR<br /><br />FIVE<br /><br />SIX.</p>
</div>
<div class="bgimage">

</div>

最佳答案

像下面这样简单地更新渐变:

.bgimage{
  position: fixed;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  background-image: url(https://static.pexels.com/photos/880861/pexels-photo-880861.jpeg);
  z-index:-2;
  }
  .container {
  width: 100%;
  height: 10vw;
  margin: 1em auto;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
  text-align:center;
  -webkit-mask-image:linear-gradient(transparent, rgba(0,0,0,1) 40% 60%,transparent);
          mask-image:linear-gradient(transparent, rgba(0,0,0,1) 40% 60%,transparent);
  
  }

  .marquee {
  top: 6em;
  position: relative;
  box-sizing: border-box;
  animation: marquee 20s linear infinite;
  }


  /* Make it move! */
  @keyframes marquee {
  0%   { top:   18vw }
  100% { top: -65vw }
  }

  /* Make it look pretty */
  .microsoft .marquee {
	margin: 0;
  padding: 0 1em;
  line-height: 1.5em;
  color: white;
  font: 5vw 'Segoe UI', Tahoma, Helvetica, Sans-Serif;
  }
<div class="microsoft container">
  <p class="marquee">ONE<br><br>TWO<br><br>THREE<br><br>FOUR<br><br>FIVE<br><br>SIX.</p>
</div>
<div class="bgimage">

</div>

关于带有渐变 mask 的 CSS 垂直滚动选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874952/

相关文章:

html contentEditable document.execCommand 更改选定的不透明度

javascript - 更改输入 :focus 上的提交按钮不透明度

html, css img 停止收缩 <div> :)

css - Sublime Text 3 - CSS 属性的配色方案

css - 在最后一帧停止 CSS3 动画

html - 关键帧未显示所有元素

html - 由于不透明过滤器,IE8 div 溢出不可见(切断)

CSS Transitions 仅适用于 FF Nightly (18.0a1)?

html - 自定义 css 不能覆盖 bootstrap css

CSS 动画放慢位置