我有一个包含元素结构的表单:

<div>
   <label>Name</label>
   <input type="text" name="name" />
</div>

<div>
   <label>Address</label>
   <input type="text" name="address" />
</div>

我希望它的外观是,标签位于输入框旁边,输入框展开以适合整个容器。如果我在输入框上设置手动宽度(以像素为单位),那么并非每个框的长度都相同。

如果我尝试将宽度设置为 100%,则输入框会换行以扩展整个宽度。

我怎样才能让标签(谁的宽度是可变的)位于输入框的左侧,并让这些输入框展开以适应它们包含的 div?

这是我当前的 CSS:
#content form input
{
   border: none;
   height: 23px;
   position: relative;
   top: -1px;
   left: -5px;
   padding-top: 5px;
   text-indent: 10px;
   display: inline-block;
}

#content form label
{
   background: #c6c9c0 url('../images/form-label-bg.jpg') no-repeat center right;
   height: 28px;
   line-height: 30px;
   display: inline-block;
   text-indent: 15px;
   padding-right: 25px;
   color: #6a6a6a;
   text-transform: uppercase;
   font-weight: bold;
   font-size: 8pt;
}

最佳答案

试试这个:

form div {
    display: table;
    width: 100%;
}
label,
input {
    display: table-cell;
}
label{
    width: 200px;
}
input {
    width: 100%;
}

关于CSS 表 - 将输入框扩展到整个长度而不换行到新行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1919908/

10-13 06:03