javascript - 具有固定填充的动态大小的嵌套元素

标签 javascript html css layout combobox

以下 HTML 为 200 像素宽、30 像素高的可编辑组合框打下了非常干净的基础,该组合框可与 Angular 绑定(bind)或其他一些 JavaScript 数据绑定(bind)一起使用。但是,我希望最外层的 div 为 100% 宽,而 180px 宽的 div 使用填充而不是显式大小。但是,填充似乎总是被忽略。有谁知道这是为什么,以及是否有任何好的解决方法? (最好是 CSS/HTML)

<style>
    .comboboxOuterDiv {
        padding:0px; 
        margin:0px; 
        border:0px; 
        height:30px; 
        width:200px; 
        position:relative;
    }
    .comboboxSelectDiv {
         height:100%; 
         width:100%; 
         position:absolute; 
         top:0px; 
         left:0px; 
         z-index:0;
    }
    .comboboxSelect {
        height:100%; 
        width:100%; 
        position:absolute; 
        top:0px; 
        left:0px;
    }
    .comboboxTextDiv {
        height:100%; 
        width:180px; 
        position:absolute; 
        top:0px; 
        left:0px; 
        z-index:1;
    }
    .comboboxText {
         height:100%; 
         width:100%; 
         position:absolute; 
         top:0px; 
         left:0px; 
    }
</style>
<div class="comboboxOuterDiv">
    <div class="comboboxSelectDiv">
        <select class="comboboxSelect">
            <option value="a_value">A Value</option>
        </select>
    </div>
    <div class="comboboxTextDiv">
        <input class="comboboxText" type="text"/>
    </div>
</div>

最佳答案

这里是任何感兴趣的人的工作示例:

<style>
    .comboboxOuterDiv {
        padding:0px; 
        margin:0px; 
        border:0px; 
        height:30px; 
        width:100%; 
        position:relative;
        overflow:hidden;
    }
    .comboboxSelectDiv {
         height:100%; 
         width:100%; 
         position:relative; 
         top:0px; 
         left:0px; 
         z-index:0;
    }
    .comboboxSelect {
        height:100%; 
        width:100%; 
        position:absolute; 
        top:0px; 
        left:0px;
    }
    .comboboxTextDiv {
        display:block;
        height:100%; 
        width:auto; 
        position:absolute; 
        top:0px; 
        left:0px; 
        right:20px;
        z-index:1;
    }
    .comboboxText {
         height:100%; 
         width:100%; 
         position:absolute; 
         top:0px; 
         left:0px; 
    }
</style>
<div class="comboboxOuterDiv">
    <div class="comboboxSelectDiv">
        <select class="comboboxSelect">
            <option value="a_value">A Value</option>
        </select>
    </div>
    <div class="comboboxTextDiv">
        <input class="comboboxText" type="text"/>
    </div>
</div>

关于javascript - 具有固定填充的动态大小的嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24168973/

相关文章:

javascript - 从数据表中导出选定行的 csv 文件

html - 不确定为什么不读取 CSS

javascript - 在数据表中呈现嵌套行的最佳方法是什么?

html - 垂直对齐什么时候在表格单元格中起作用,什么时候不起作用?

javascript - 从变量渲染表 (EJS)

javascript - 使用 JavaScript 或 jQuery 向表中添加多行

javascript - 上传图片并停留在页面上

javascript - 未评估的 ng 类

CSS 避免在打印预览中显示图像替代文本

javascript - 用于创建交互式流程图的网络库