更改选择标记中单独选项的css font-family

Dan*_*ndy 13 html css fonts google-webfonts

我不知道这是否可行,如果没有,如果有人可以抛出可选的想法,但我试图在select标签中显示不同字体(特别是来自Google字体目录的字体)的下拉列表.在下拉列表中,我试图通过使用它所代表的字体为每个选项设置样式来显示预览

<option name="Tangerine" style="font-family:'Tangerine', verdana;">Tangerine</option>
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.任何线索为什么或如何解决它?

Fak*_*lam 8

您应该将每个option标记包装在optgroup标记中,然后将其设置为:

<select>

  <optgroup style="font-family:arial">
    <option>Arial</option>
  </optgroup>

  <optgroup style="font-family:verdana">
    <option>veranda</option>
  </optgroup>

  <optgroup style="font-family:other">
    <option>other</option>
  </optgroup>

</select>
Run Code Online (Sandbox Code Playgroud)

  • 这有效,但有没有办法消除选项之间的差距,更重要的是,从倒数第二个选项缩进(似乎总是倒数第二个)? (2认同)

hun*_*ter 7

您无法设置<option>标记的字体,但可以创建具有特定样式的列表(如您所料)

这是我一直在尝试的一切:

$("select.js option:eq(0), ul li:eq(0)").css("fontFamily", "tangerine");
$("select.js option:eq(1), ul li:eq(1)").css("fontFamily", "tahoma");
$("select.js option:eq(2), ul li:eq(2)").css("fontFamily", "times new roman");
Run Code Online (Sandbox Code Playgroud)
h1 {
  font-size: 1.2em;
  margin-top: 10px;
  color: #777;
}
.tangerine {
  font-family: tangerine;
}
.tahoma {
  font-family: tahoma;
}
.timesnewroman {
  font-family: times new roman;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<h1>Set with jQuery</h2>
<select id="js">
    <option>Tangerine</option>
    <option>Tahoma</option>
    <option>Times New Roman</option>
</select>
<div>&nbsp;</div>
<h1>Set with CSS</h2>
<select id="css">
    <option class="tangerine">Tangerine</option>
    <option class="tahoma">Tahoma</option>
    <option class="timesnewroman">Times New Roman</option>
</select>
<div>&nbsp;</div>
<h1>List</h2>
<ul>
    <li>Tangerine</li>
    <li>Tahoma</li>
    <li>Times New Roman</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

  • 你能用Chrome浏览器做这个吗? (2认同)