左对齐标签-右对齐选择元素(CSS)

左对齐标签-右对齐选择元素(CSS),css,forms,select,clearfix,Css,Forms,Select,Clearfix,我有一个表单布局,我想显示左对齐的标签和右对齐的表单控件。我一直在尝试使用float使它工作:在表单控件上(在本例中是a),然后将clearfix类应用于它,但clearfix似乎没有在我的选择框上工作 这里有什么问题吗?或者clearfix不应该在select元素上工作吗 但是,当我这样做时,选择框仍然延伸到包含div的底部之外 我的代码: <style type="text/css"> #category-select { left: 0px; top: 0px; width:

我有一个表单布局,我想显示左对齐的标签和右对齐的表单控件。我一直在尝试使用float使它工作:在表单控件上(在本例中是a),然后将clearfix类应用于它,但clearfix似乎没有在我的选择框上工作

这里有什么问题吗?或者clearfix不应该在select元素上工作吗

但是,当我这样做时,选择框仍然延伸到包含div的底部之外

我的代码:

<style type="text/css">
#category-select {
left: 0px;
top: 0px;
width: 350px;
border: 1px solid #666;
}
select#category {
float: right;
}
select.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
</style><!-- main stylesheet ends, CC with new stylesheet below... -->
<!--[if IE]>
<style type="text/css">
  select.clearfix {
    zoom: 1;  
  }  
</style>
<![endif]-->

<div id="triage">
    <div id="category-select">
          Category: 
          <select class="ipad-dropdown clearfix" id="category" name="category">
                <option value="A">A - Emergency
                <option value="B">B - Urgent
                <option value="C">C - ASAP
                <option value="D" selected>D - Standard
          </select>
    </div>
</div>

#类别选择{
左:0px;
顶部:0px;
宽度:350px;
边框:1px实心#666;
}
选择#类别{
浮动:对;
}
select.clearfix:after{
内容:“.”;
显示:块;
身高:0;
明确:两者皆有;
可见性:隐藏;
}
类别:
A-紧急情况
B-紧急
尽快
D-标准

由于您浮动select元素,它将不再影响包含div的高度。尝试向包含元素添加一些填充:(还向select添加了一些相对位置)

如果
select
元素是最高的元素,为什么不浮动标签?您还可以利用这个机会将其变成一个标签,而不仅仅是
div
中的一些文本。以下是CSS:

#category-select {
    left: 0px;
    top: 0px;
    width: 350px;
    border: 1px solid #666;
    text-align: right;
}
#category-select label {
    float: left;
    margin: 1px;
}
以下是HTML:

<div id="triage">
    <div id="category-select">
        <label for="category">Category:</label>
        <select class="ipad-dropdown clearfix" id="category" name="category">
            <option value="A">A - Emergency</option>
            <option value="B">B - Urgent</option>
            <option value="C">C - ASAP</option>
            <option value="D" selected>D - Standard</option>
        </select>
    </div>
</div>

类别:
A-紧急情况
B-紧急
尽快
D-标准

.

如果您希望选择框位于带边框的框之外,则必须将选择标记放置在“类别选择”分区之外。当然,您是对的。我想添加填充也会简单地改变选择框。谢谢你的帮助。谢谢,这是一个非常优雅的解决方案,它帮助解决了我在IE7中遇到的另一个问题。干杯