在<input type =“range”/>标记的每一侧设置文本样式

时间:2015-10-03 19:33:26

标签: html css html5 css3

我想为标签两侧的单词添加一些CSS样式。

screenshot of the finished effect

这是我的代码:

<fieldset>
    <legend>Your Indicators</legend><br>
        <label for="height" class="margin">Height:</label>
        Short<input type="range" id="height" name="height" min="0" max="100">Tall<br>
        <label for="salary" class="margin">Salary:</label>
        Poor<input type="range" id="salary" name="salary" min="0" max="100">Rich
</fieldset>

4 个答案:

答案 0 :(得分:4)

您可以使用类在文本的两侧包装文本,然后通过CSS按类对其进行样式设置,如下所示。

现场演示:

fieldset > * {
    vertical-align: middle;
}

.leftlabel, .rightlabel {
    display: inline-block;
    width: 50px;
    padding: 2px;
    text-align: center;
}

.leftlabel {
    background-color: red;
    color: white;
}
.rightlabel {
    background-color: purple;
    color: white;
}

label {
    display: inline-block;
    width: 50px;
}
<fieldset>
    <legend>Your Indicators</legend><br>
      <label for="height" class="margin">Height:</label>
      <span class="leftlabel">Short</span>
      <input type="range" id="height" name="height" min="0" max="200" style="width: 200px">
      <span class="rightlabel">Tall</span>
      <br>
      <label for="salary" class="margin">Salary:</label>
      <span class="leftlabel">Poor</span>
      <input type="range" id="salary" name="salary" min="0" max="200" style="width: 200px">
      <span class="rightlabel">Rich</span>
  </fieldset>

JSFiddle版本:https://jsfiddle.net/sf2cz8yL/3/

答案 1 :(得分:1)

最简单的方法是使左右标签成为可以从样式块引用的类: 现在样式语句是

.left{
  text-align: center;
  width:40px;
  color:white;
  background: darkred;
  padding:3px;
}
.right{
  text-align: center;
  width:40px;
  color:white;
  background: purple;
    padding:3px;
}


     -------------HTML-------------------
<fieldset>
    <legend>Your Indicators</legend>
    <label>Height:</label>
        <label for="height" class="left">Short</label>
  <input type="range" id="height" name="height" min="0" max="100" step="1" value="81">
  <label for="height" class="right">Tall</label><br>
    <label for="salary">Salary:</label>
        <label for="salary" class="left">Low</label>
         <input type="range" id="salary" name="salary" min="0" max="100" step="1" value="18">
        <label for="salary" class="right">High</label> <br>
</fieldset> <br>

答案 2 :(得分:0)

使用输入而不是标签怎么样? :)你可以轻松地输入样式,是的,它可以是textarea

答案 3 :(得分:-1)

在你的CSS中尝试这个,对不起,我正在打电话,所以不能先测试。

label {

text-align:center;

}