【问题标题】:How to change font size of the first option tag in a dropdown menu (select)?如何更改下拉菜单中第一个选项标签的字体大小(选择)?
【发布时间】:2014-04-25 04:58:38
【问题描述】:

如何更改 select 标签中第一个 option 标签的字体大小?我已经尝试更改选项的 CSS:first-child with no lucky。

我希望第一个选项的字体大小为 25 像素,而列表中的其他项目的字体大小为 12 像素。

我已经在这里阅读了可以更改第一个选项的字体颜色和字体类型的教程,但是当我对它们应用 font-size 时,它​​似乎没有生效。

这可以通过 CSS 或 JQuery 来实现吗?谢谢!

HTML 代码:

<select>
<option>Select (25px)</option>
<option>List 1 (12px)</option>
<option>List 2 (12px)</option>
<option>List 3 (12px)</option>
<option>List 4 (12px)</option>
</select>

【问题讨论】:

  • 请提供您的代码
  • 你问这个答案jsfiddle.net/D58Rz
  • @airi 用 HTML 代码编辑。
  • @ShibinRagh 所有选项在 Chrome 中的字体大小相同
  • 也许 Chrome 的 shadow DOM 中有些东西,但选择外观是渲染器定义的且非标准的。在 Mobile Safari 中,它使用没有样式或标记的原生 UI。

标签: html css select font-size


【解决方案1】:

如果下面是您要更改 SELECT 标记中字体大小的选项

    <option id="op1">option 1</option>

将下面的代码放在头元素中

   <script>
     document.getElementById("op1").style.fontSize ="25px";
   </script>

【讨论】:

  • 嗨,我试过这个,但即使我在头部添加 jquery,它也会继承 12px。
  • &lt;optgroup style="font-size:10px"&gt; &lt;option&gt;Option 1&lt;/option&gt; &lt;/optgroup&gt;
  • 是的。这是跨浏览器吗?我希望是的!感谢奇迹和创造力!
  • 应该是opera 9.2+及以上版本
【解决方案2】:

CSS

 <style>


 select{
          width: 150px;
          height: 30px;
          padding: 5px;
         font-size:12px;
        }
        select option { color: black; }
        select option:first-child
        {
          color: green;
          font-size:25px;
        }
        </style>

HTML

  <select>
    <option>item1</option>
    <option>item2</option>
    <option>item3</option>
    <option>item4</option>
    <option>item5</option>
    </select>

Demo

【讨论】:

  • 在演示中,第一个选项只改变了颜色,没有改变大小。 Chrome 中的所有选项字体大小都相同。
  • 与@hello 相同的体验 - 颜色不同但字体大小相同
【解决方案3】:

请参考这个现场演示..Demo.

HTML

    <div>
        Select
        <ul>
            <li><a id="first" href="#">Item 1</a></li>
            <li><a href="#">Item 2</a></li>
            <li><a href="#">Item 3</a></li>
        </ul>
    </div>

css

  div { 
        margin: 10px;
        padding: 10px; 
        border: 2px solid purple; 
        width: 200px;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
    }
    #first{
        font-size:25px;

    }
    div > ul { display: none; }
    div:hover > ul {display: block; background: #f9f9f9; border-top: 1px solid purple;}
    div:hover > ul > li { padding: 5px; border-bottom: 1px solid #4f4f4f;}
    div:hover > ul > li:hover { background: white;}
    div:hover > ul > li:hover > a { color: red; }

【讨论】:

  • 嗨,谢谢。但我修改了选择标签中的选项标签,而不是 ul 中的 li。
  • 好的..很高兴帮助你的朋友! ;) 你也可以接受答案
【解决方案4】:

您可以使用 CSS first-child 来做到这一点。

注意:不适用于 webkit 浏览器。将结构改为ul &gt; li

Here is the demo

select {
  font-size: 12px
}
select option:first-child {
  font-size: 25px
}

【讨论】:

  • 我使用的是 Chrome,所有选项字体的大小都相同。
  • 是的!它不能在 chrome 中工作。这是 webkit 浏览器中的一个已知问题。我建议您将结构更改为 ul > li。
  • 这应该是答案。
【解决方案5】:

您可以像这样在选项标签中添加一个 id:

<option id="newFont">Some option</option>

然后在css中:

option {
font-size: 12px;
}

option#newFont{
font-size: 25px;
}

【讨论】:

  • 试过这个,不适合我。也许你可以通过 jsfiddle 帮助我,让我看看?感谢您的帮助!
  • 你是对的!我不应该假设。我一直在查看其他线程,似乎使用 select option[val="1"] 选择器适用于较旧的浏览器,但不适用于最新版本的 Chrome(这是我正在使用的)。我会继续寻找解决方案!
【解决方案6】:

使用 css

html

<select id="yourSelect">
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

css

 <style>
 #yourSelect > option:first-child
 {
   font-size: 25px;
 }
 </style>

或通过 jquery
jquery

jQuery("#yourSelect option:first-child").css('font-size', '25px');

【讨论】:

    【解决方案7】:

    由于浏览器的限制,我会三思而后行。在这里检查:

    http://www.electrictoolbox.com/style-select-optgroup-options-css/

    【讨论】:

    • 这就是为什么我问是否有 jquery 解决方案,如果 css 将无法做到这一点
    【解决方案8】:
    $('select').find('option').eq(0).css({font-size: '25px'});
    

    【讨论】:

      【解决方案9】:
      // #target = your select box id 
      // fontSize = your  font size;
      
      $("#target option:first").css('font-size', fontSize);
      

      【讨论】:

      • -1 绝对没有......但是使用 jquery 来实现可以通过 css 实现的东西是一个糟糕的解决方案
      • @leo 但 -1 是否合理?它是一个 jquery 解决方案
      • 使用 jQuery 的糟糕解决方案?问题是,“这可以通过 CSS 或 JQuery 实现吗?”
      • @Kyo 这是一个问题“这可以通过 CSS 或 JQuery 实现吗?”在我看来(正如我所说)答案是有效的,但我仍然对最佳答案有正确的投票权,这正是我所做的
      • @Leo 我不会根据您的偏好对正确的解决方案进行-1。在如何表达问题的上下文中,解决方案可以通过 CSS 和 jQuery 来实现。
      猜你喜欢
      • 2018-01-12
      • 1970-01-01
      • 2019-06-25
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多