Search code examples
htmlcssmaterialize

Changing radio color material design


I need to change the material css radio button color (with gap type to orange)

<!-- Compiled and minified CSS -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css">

      <!-- Compiled and minified JavaScript -->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>

.with-gap[type="radio"].filled-in:checked + label:after{
     border: 2px solid #ff9800;
     background-color: #ff9800;
}  

<p>
  <input class="with-gap" name="group1" type="radio" id="test3"  />
  <label for="test3">Green</label>
</p>

Solution

  • I know this is an old question but I recently ran into a similar issue with Materialize radio button coloring. I was creating a survey form with pass, fail, not checked and not applicable inputs and needed the four radio buttons to be different colors. I added an extra class to each span and targeted this class from the CSS to override Materialize's standard styling. I was happy with the pass selector being the standard materialize green.

    HTML:

    <label>
        <input type="radio" id="answer_1"  name="answer_1" value="Pass"/>
        <span class="span-pass">Pass</span>
    </label>
    <label>
        <input type="radio" id="answer_1" name="answer_1" value="Fail"/>
        <span class="span-fail">Fail</span>
    </label>
    <label>
        <input type="radio" id="answer_1" name="answer_1" value="NC"/>
        <span  class="span-nc">Not Checked</span>
    </label>
    <label>
        <input type="radio" id="answer_1" name="answer_1" value="NA"/>
        <span class="span-na">Not Applicable</span>
    </label>
    

    CSS:

    [type="radio"]:checked+span.span-fail:after, [type="radio"].with-gap:checked+span.span-fail:after {
        background-color: red;
        border: 2px solid red;
    }
    
    [type="radio"]:checked+span.span-nc:after, [type="radio"].with-gap:checked+span.span-nc:after {
        background-color: orange;
        border: 2px solid orange;
    }
    
    [type="radio"]:checked+span.span-na:after, [type="radio"].with-gap:checked+span.span-na:after {
        background-color: #555;
        border: 2px solid #555;
    }
    

    Hope this is of some help to someone out there.