css - 尝试创建具有动态内容的无表控件

标签 css css-tables

我正在从一个网络服务中提取一些内容,该网络服务创建带有标签作为标题形式的选择列表。规则是选择列表必须排成一行并堆叠在一起,并占据标签未占据的其余屏幕空间。

我可以通过用表格创建它们来做到这一点,但如果可能的话,我正在寻找更纯的 CSS 路线。

尝试将 div 与 display: tabledisplay: table-rowdisplay: table-cell 组合使用,但我做不到无法使堆叠效果正常工作。

这就是我想要的效果:

.horizontalFill {
    width: 100%;                
}

.noWrap {
    white-space: nowrap;        
}
<table class="horizontalFill">
    <tr>
        <td class="noWrap">
            <label>some dynamic text</label>
        </td>
        
        <td class="horizontalFill">
            <select class="horizontalFill">
            </select>
        </td>
    </tr>        
    
    <tr>
        <td class="noWrap">
            <label>
                other dynamic text here
            </label>
        </td>
        
        <td class="horizontalFill">
           <select class="horizontalFill"></select>
        </td>
    </tr>
</table>

最佳答案

您可以尝试类似的操作:

label {
    display: block;
    overflow: hidden;
    padding-bottom: 5px;
}

label .label {
    display: block;
    float: left;
    width: 150px;
}

label .input {
    display: block;
    margin-left: 160px;
}

label select {
    width: 100%;
}
<label class="row">
    <span class="label">Label name one</span>
    <span class="input">
        <select>
            <option>Select item</option>
        </select>
    </span>
</label>

<label class="row">
    <span class="label">Label name two</span>
    <span class="input">
        <select>
            <option>Select item</option>
        </select>
    </span>
</label>

<label class="row">
    <span class="label">Label name three</span>
    <span class="input">
        <select>
            <option>Select item</option>
        </select>
    </span>
</label>

不过,它涉及将标签列设置为静态宽度,因此如果您需要拉伸(stretch)或收缩该列,它可能不适合您。不过,标签文本将毫无问题地换行到下一行。

关于css - 尝试创建具有动态内容的无表控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711290/

相关文章:

html - 如何设置高度以填充父节点的高度?

html - 垂直居中对齐列表中的图像和文本

html - 突出显示面包屑列表中的第二项

html - 为什么 css 表中的非单元格 div 在 chrome 中具有非零宽度?

CSS:对多个 ID 使用单个规则

CSS3 : centering <td> with CSS only

javascript - JS中如何成功给字段赋值?试过.focus但没有运气

css - 导轨 4 : how do I use Sass Mappings?

javascript - 在公共(public)背景前显示元素

css - 显示 :table for IE7?