【问题标题】:Changing the color of the range slider in materializecss在materializecss中更改范围滑块的颜色
【发布时间】:2020-12-05 01:53:21
【问题描述】:

我正在使用此处的范围滑块:http://materializecss.com/forms.html

<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.js"></script>

<form action="#">
    <p class="range-field">
      <input type="range" id="test5" min="0" max="100" />
    </p>
  </form>

我设法改变了当你点击滑块时弹出的“拇指”的颜色:

input[type=range]+.thumb{
    background-color: #400090;
}

通常我可以检查 chrome 上的元素并获取我必须更改的类以更改其颜色。由于某些原因,我无法弄清楚如何检查滑块中的“点”以找到我必须添加的类以更改其颜色。

【问题讨论】:

    标签: css materialize


    【解决方案1】:

    这就是我更改滑块上的点和拇指气泡颜色的方法。

    附上截图和sn-p

    <link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.js"></script>
    
    <style>
    
      input[type=range]::-webkit-slider-thumb {
        background-color: red;
      }
      input[type=range]::-moz-range-thumb {
        background-color: red;
      }
      input[type=range]::-ms-thumb {
        background-color: red;
      }
    
      /***** These are to edit the thumb and the text inside the thumb *****/
      input[type=range] + .thumb {
        background-color: #dedede;
      }
      input[type=range] + .thumb.active .value {
        color: red;
      }
    </style>
    <form action="#">
      <p class="range-field">
        <input type="range" id="test5" min="0" max="100" />
      </p>
    </form>

    【讨论】:

      【解决方案2】:
          .noUi-connect {
          background: black;
      }
      .noUi-horizontal .noUi-handle, .noUi-vertical .noUi-handle {
          background: black;
      }
      .noUi-target.noUi-horizontal .noUi-tooltip {
          background-color: black;
      }
      

      check out this pen by alexventuraio

      你也可以

      document.querySelector('.noUi-tooltip').style.background = 'black';
      document.querySelector('.noUi-handle').style.background = 'black';
      

      使用 querySelector all 改变所有。 CSS [" .noUi-handle{...} and .noUi..."] 没有被覆盖。

      我是堆栈新手

      【讨论】:

      • 您可能应该删除它,因为它没有回答原始问题。
      • 他想改变 MaterializeCSS 中范围滑块的颜色,覆盖类 ' .noUi-tooltip ' 将改变范围滑块工具提示并覆盖其他 noUi... 类一般会改变颜色。今天我用这些代码来改变我的范围滑块颜色!!!怎么没用?如果英语有任何错误,请原谅我不是以英语为母语的人:)
      • 他发现很难导航到所需的doms风格,通过这种方式他可以实现风格......
      【解决方案3】:

      解决这个问题的最简单方法实际上是查看源代码。托管在这里 (https://github.com/Dogfalo/materialize/blob/master/forms.html) 在第 833 行和这里 (https://github.com/Dogfalo/materialize/blob/master/sass/components/forms/_range.scss) 在 Github 上。

      在这个和我的 Chrome DevTools 之间,我已经设法使用这个 CSS 声明将范围输入的背景更改为 #4286f4(替换你的颜色):

      .noUI-connect {
        background: #4286f4 ;
      }
      

      您可能需要在属性上使用 !important 标志。这会改变两个 .thumb 元素之间的滑块颜色。

      更改滑块上小“拇指”的颜色:

      .range-label{
        background-color: desired-color;
      }
      

      如果您想更改背景的灰色(选择区域外),请使用:

      .noUI-background {
        background: desired-color;
      }
      

      附加警告:此解决方案仅在 noUiSlider 实现上进行了测试:http://materializecss.com/forms.html(滚动到 Range 部分)。我还没有在普通的 HTML 范围元素上对此进行测试,遗憾的是需要重新开始工作。

      编辑: 尝试在纯 html 范围输入上探索解决方案后,滑块上似乎有带有“值”类的标签,作为 .thumb 的子项。不幸的是,这个样式并没有导致任何地方,让我相信这是一个 :before/:after css 属性,或者你的答案位于第一段第二个链接的第 73-83 行之间。

      【讨论】:

      • 感谢您的意见!我想唯一的方法是挖掘css并找出他们设置点颜色的位置。我不想改变拇指或灰色滑块,只是“按钮”
      猜你喜欢
      • 2020-06-14
      • 1970-01-01
      • 2017-10-10
      • 2013-10-08
      • 2021-01-17
      • 2014-03-09
      • 2019-08-21
      • 1970-01-01
      相关资源
      最近更新 更多