Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置第一个div宽度取决于文本宽度,剩余的全宽度将分配给第二个div_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 如何设置第一个div宽度取决于文本宽度,剩余的全宽度将分配给第二个div

Javascript 如何设置第一个div宽度取决于文本宽度,剩余的全宽度将分配给第二个div,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我想把每一行分成两列,第一个div的宽度取决于文本的宽度,剩下的全宽度将分配给第二个div。我已经附上了我的表单设计示例 li.div1{float:left;} li.div2{*zoom:1;overflow:hidden;}使用flex-box,您可以这样做: 测试:Chrome、IE10、FF(CSS看起来很凌乱) HTML: <div class="Row"> <div class="label"><label>short&

我想把每一行分成两列,第一个div的宽度取决于文本的宽度,剩下的全宽度将分配给第二个div。我已经附上了我的表单设计示例

li.div1{float:left;}
li.div2{*zoom:1;overflow:hidden;}

使用
flex-box
,您可以这样做:

测试:Chrome、IE10、FF(CSS看起来很凌乱)

HTML:

    <div class="Row">
        <div class="label"><label>short</label></div>
        <div class="input"><input type="text" value="text goes here" /></div>
    </div>
    <div class="Row">
        <div class="label"><label>this is a long label</label></div>
        <div class="input"><input type="text" value="text goes here" /></div>
    </div>
*
{
    padding: 0;
    margin: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.Row
{
    border: 1px solid black;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    -webkit-box-orient: horizontal;
    -moz-box-orient: horizontal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-box-align: start;
    -moz-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

    .Row > div
    {
        -webkit-align-self: auto;
        -ms-flex-item-align: auto;
        align-self: auto;
    }

.label
{
    -webkit-box-flex: 0;
    -moz-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    /*apply padding if you want*/
}

.input
{
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    /*apply padding if you want*/
}
.input input
{
    width: 100%;
}

使用当前DOM和CSS的JSFIDLE怎么样?是否希望标签位于第一个div,输入位于第二个div?是的。第一个div标签,第二个div将被输入。一些进一步的解释将有助于OP