css 在下拉列表前面添加文本标签

hsvhsicv  于 2023-06-25  发布在  其他
关注(0)|答案(6)|浏览(178)

我试图在一个选择框前面添加一个标签,我已经将包含两个元素的div标签设置为“inline-block”。但是,范围仍然在选择框的顶部。

<div class="unselected-field" style="display: inline-block;" id="selectCountry">
    <span>test</span><select id="countrySelect" name="countrySelect"></select>
</div>

有什么想法吗?我在Chrome上...

wgxvkvu9

wgxvkvu91#

一个选项是只disable第一个选择的选项:

<select id="countrySelect" name="countrySelect">
  <option  disabled selected>Select Your Country:</option>
  <option>USA</option>
  <option>Germany</option>
  <option>France</option>
</select>
yxyvkwin

yxyvkwin2#

我通常把标签 Package 在输入的周围:

<div class="unselected-field" style="display: inline-block;" id="selectCountry">
    <label>Test:<select id="countrySelect" name="countrySelect">
        <option>Option 1</option>
        </select>
    </label>
</div>​
2sbarzqh

2sbarzqh3#

如果<select>的宽度加上<span>的宽度大于包含<div>的宽度,则<select>将被迫低于<span>,而不是在<span>旁边。而且,<select>的宽度依赖于它所包含的文本,所以它可以有一个可变的宽度,除非你给予它一个静态的宽度。

bcs8qyzn

bcs8qyzn4#

你能在unselected-field中发布代码吗,因为我能够让它在Chrome http://jsfiddle.net/tVT67/中正确显示
事实上,我甚至可以删除inline-block,它仍然可以工作http://jsfiddle.net/H3GDN/

vaj7vani

vaj7vani5#

对我来说很好http://jsfiddle.net/KG9hL/1/
当然,除非包含div的宽度小于labelselect元素的组合宽度:http://jsfiddle.net/74bRX/

3yhwsihp

3yhwsihp6#

这就像魅力:

<select id="countrySelect" name="countrySelect">
  <option  disabled selected style="display:none">Select Your Country:</option>
  <option>India</option>
  <option>USA</option>
  <option>UK</option>
</select>

相关问题