10

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

这里有什么问题吗,或者 clearfix 不能在选择元素上工作?

但是,当我这样做时,选择框仍然延伸到包含 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>
4

2 回答 2

6

如果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>

这是演示

于 2011-12-08T00:37:13.690 回答
0

由于您浮动选择元素,它不会再影响包含 div 的高度。尝试向包含元素添加一些填充:http: //jsfiddle.net/LZVhN/1/(还向选择添加了一些相对定位)

于 2011-12-07T22:54:43.433 回答