【问题标题】:How to change the text color of radio button options in HTML / CSS?如何更改 HTML / CSS 中单选按钮选项的文本颜色?
【发布时间】:2021-09-06 04:07:03
【问题描述】:

我为我的 HTML 页面使用了黑色背景图像。我想将单选按钮标签/文本更改为白色(就像问题一样)我该怎么做?以下是我的代码 sn-p.This is how it is looking on the page.

<hr>
<label for="" style="color:white">Cigarette smoking status</label><br><br>
<input type="radio" name="cig-stat" style="color:white" value="0" id="never-smoke" required>Never Smoked Cigarettes<br>
<input type="radio" name="cig-stat" style="color:white" value="1" id="curr-smoker">Current Cigarette Smoker<br>
<input type="radio" name="cig-stat" style="color:white" value="2" id="former-smoker">Former Cigarette Smoker<br>
<hr>

【问题讨论】:

    标签: html css forms styling text-styling


    【解决方案1】:

    您需要将这些 input 元素包装在 label 标签中(其中还包含相应单选按钮的文本)并将样式应用于这些标签。

    顺便说一句:一般来说,为此目的最好有一个外部样式表,而不是使用内联样式 - 除其他事项外,当您只需将它们应用于特定的 HTML 标记或类。

    body {
      background: #555;
    }
    <hr>
    <label for="" style="color:white">Cigarette smoking status</label><br><br>
    <label for="cig-stat" style="color:white"><input type="radio" name="cig-stat" value="0" id="never-smoke" required>Never Smoked Cigarettes</label><br>
    <label for="cig-stat" style="color:white"><input type="radio" name="cig-stat" value="1" id="curr-smoker">Current Cigarette Smoker</label><br>
    <label for="cig-stat" style="color:white"><input type="radio" name="cig-stat" value="2" id="former-smoker">Former Cigarette Smoker</label><br>
    <hr>

    【讨论】:

    • 在 CSS 中定义 .cig-stat 可能会更优化,这样他就没有那么多内联定义。
    • @MihailMinkov 当然是的,但是由于 OP 发布了所有内联样式的 HTML,我怀疑他们不想或不能使用单独的 CSS
    • 我认为 OP 试图解决将内联样式添加到输入的问题,但由于它不再适用,由于解决方案,也许最好指出这一点以及他为什么尝试不起作用。
    • 我认为for 属性应该指向输入id 值而不是名称值。
    【解决方案2】:

    首先,我会这样设置您的标记:

    <fieldset>
      <legend>Cigarette smoking status</legend>
    
      <div>
        <input type="radio" name="cig-stat" value="0" id="never-smoke" required />
        <label for="never-smoke">Never Smoked Cigarettes</label>
      </div>
      
      <div>
        <input type="radio" name="cig-stat" value="1" id="curr-smoker" />
        <label for="curr-smoker">Current Cigarette Smoker</label>
      </div>
    
      <div>
        <input type="radio" name="cig-stat" value="2" id="former-smoker" />
        <label for="former-smoker">Former Cigarette Smoker</label>
      </div>
    </fieldset>
    

    然后您可以将&lt;legend&gt;&lt;label&gt; 元素设置为color: white。如果可能的话,我会将 CSS 从标记中分离出来。如果没有,您可以将它们保持内联。

    以下是上述操作的一个小技巧:

    https://jsfiddle.net/1k3gte76/

    如果您不喜欢 &lt;fieldset&gt; 元素周围的白色边框,则只需向该元素添加 border: none 规则即可。

    【讨论】:

    • 请注意,我在您的屏幕截图中没有看到您的 &lt;hr&gt; 标签的用途,所以我从我的回答中省略了它们以支持&lt;fieldset&gt;,它将组语义添加到无线电组(尽管如果你愿意,你可以把 &lt;hr&gt; 标签放回去)。我还删除了&lt;br&gt; 标记以支持&lt;div&gt; 标记,这些标记进一步将&lt;input&gt;&lt;label&gt; 标记分组并提供默认换行符。
    • 语义越多越好。这对可访问性和 SEO 都有好处。
    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2011-05-14
    相关资源
    最近更新 更多