重新构思的标题:如何只对盒子阴影应用溢出效果
P粉391677921
2023-09-03 17:14:49
<p>我正在尝试构建一个输入范围滑块条,但是我遇到了一个问题。</p>
<p>
<pre class="brush:css;toolbar:false;">body {
justify-content: center;
align-items: center;
min-height: 100vh;
background: #151515;
}
#rangeValue {
position: relative;
display: block;
font-size: 6em;
color: #999;
font-weight: 400;
}
.range {
background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab) !important;
width: 400px;
height: 5px;
-webkit-appearance: none;
background: #111;
outline: none;
border-radius: 15px;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 1);
}
.range::-webkit-slider-thumb {
-webkit-appearance: none;
width: 15px;
height: 15px;
border-radius: 50%;
background: blue;
cursor: pointer;
box-shadow: -507px 0 0 500px red;
}</pre>
<pre class="brush:html;toolbar:false;"><div>
<span id="rangeValue">0</span>
<Input class="range" type="range" name "" value="0" min="0" max="1000"></Input>
</div></pre>
</p>
<p>问题是:我希望这个大红色区域在绘制时仍然保持在输入滑块内。唯一的解决方案是将<code>overflow: hidden</code>应用于<code>.range</code>,但我将失去蓝点按钮。
是否有一种方法可以仅将<code>overflow: hidden</code>应用于<code>box-shadow</code>?或者有其他方法使其正常工作的线索吗?</p>
<p>最终结果应该是这样的 =></p>
<p><img src="/uploads/20230822/169264211664e3ab441b49a.png" alt=" final result " /></p>
<p>谢谢。</p>
我不确定这是否有帮助,但这是我进行的重构。也许你可以做一些修改以适应你的任务。
HTML
CSS
JS
你可以根据自己的喜好进行调整。 希望这有所帮助。