Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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
Html 在两个div内对齐一个div,使其具有不同的浮动_Html_Css_Css Float - Fatal编程技术网

Html 在两个div内对齐一个div,使其具有不同的浮动

Html 在两个div内对齐一个div,使其具有不同的浮动,html,css,css-float,Html,Css,Css Float,大家好,我有一个三个div,第二个div在两个div中间,两个div有不同的浮动。我想第二个div的宽度被占用,直到第三个div。我需要使用宽度自动为第二个div,因为这必须在每个缩放相同。同时检查我的小提琴: 1. 这个div应该一直延伸到右div 这是对的这是对的这是对的 3. 您可以将#middle显示为块元素,并将其左右边距设置为50px。如果您将#向右div移到#中间上方,将获得所需的效果 CSS: HTML: <div id="main"> <div id

大家好,我有一个三个div,第二个div在两个div中间,两个div有不同的浮动。我想第二个div的宽度被占用,直到第三个div。我需要使用宽度自动为第二个div,因为这必须在每个缩放相同。同时检查我的小提琴:


1.
这个div应该一直延伸到右div
这是对的这是对的这是对的
3.
您可以将
#middle
显示为块元素,并将其左右边距设置为50px。如果您将
#向右
div移到
#中间
上方,将获得所需的效果

CSS:

HTML:

<div id="main">
    <div id="left">1</div>
    <div id="right">3</div>
    <div id="middle">
        <div id="middleTop">
            <div>This div should reach till right div</div>
        </div>
        <div id="middleBottom">
            <div id="middleBottomSub">this goes right this goes right this goes right</div>
        </div>
    </div>
</div>

1.
3.
这个div应该一直延伸到右div
这是对的这是对的这是对的
示例:

您可以将
#middle
显示为块元素,并将其左右边距设置为50px。如果您将
#向右
div移到
#中间
上方,将获得所需的效果

CSS:

HTML:

<div id="main">
    <div id="left">1</div>
    <div id="right">3</div>
    <div id="middle">
        <div id="middleTop">
            <div>This div should reach till right div</div>
        </div>
        <div id="middleBottom">
            <div id="middleBottomSub">this goes right this goes right this goes right</div>
        </div>
    </div>
</div>

1.
3.
这个div应该一直延伸到右div
这是对的这是对的这是对的
示例:

Lolo的答案是正确的,但您可以使用
display:table
display:table cell

去掉左和右中的
float
,改为应用
display:table cell
,以及在中间。将
display:table
应用到main(保持HTML不变)。还必须将
width:100%;
to#main以使用所有水平空间

#main {
    min-width: 600px;
    height: 150px;
    position: relative;
    width:100%;
    display:table;
}
#left {
    width: 50px;
    height: 150px;
    background-color:#f0f;
    display:table-cell;
}
#right {
    width: 50px;
    height: 150px;
    background-color:#00f;
    display:table-cell;
}
#middle {
    margin: auto;
    width: auto;
    display:table-cell;
}

此解决方案还有一个额外的好处,即“左”和“右”将在需要时使用“中”内容垂直扩展(只需去掉固定高度)

Lolo的答案是正确的,但您可以使用
display:table
display:table cell

去掉左和右中的
float
,改为使用
display:table cell
,也可以在中间。并将
display:table
应用于#main(保持HTML不变)。您还必须添加
宽度:100%
to#main使用所有水平空间

#main {
    min-width: 600px;
    height: 150px;
    position: relative;
    width:100%;
    display:table;
}
#left {
    width: 50px;
    height: 150px;
    background-color:#f0f;
    display:table-cell;
}
#right {
    width: 50px;
    height: 150px;
    background-color:#00f;
    display:table-cell;
}
#middle {
    margin: auto;
    width: auto;
    display:table-cell;
}

此解决方案还有一个额外的好处,即“左”和“右”将在需要时使用“中”内容垂直扩展(只需去掉固定高度)