CSS Div Of Width Auto Filling Whole Parent Div

时间:2012-12-13 14:05:10

标签: css html width

这是我的代码:

.divUserRepCont
{
    position: absolute;

    top: 0;
    left: 105px;

    width: 195px;
    height: 25px;   
}

.divUserContCon
{
    width: auto;
    height: 100%;

    background-color: red;
}

.divUserCon
{
    width: 50px;
    height: 20px;
}

HTML:

<div class="divUserRepCont">
    <div class="divUserContCon">
        <div class="divUserCon">

        </div>
    </div>
</div>

我期待一个宽度为50px的红色条,但是自动宽度“divUserContCon”正在填满它的父div的整个195px。这是为什么?

修改

divUserContCon具有自动宽度的目的是因为:

divUserCon的大小将动态变化,并且它本身会有背景颜色。

divUserContCon将是divUserCon的容器,它本身将具有背景颜色和填充。

因此,如果divUserCon宽度为50px,背景为绿色,则divUserContCon将为50px宽(自动)+一些填充及其背景颜色。

3 个答案:

答案 0 :(得分:0)

width:50px; 

需要放入divUserContCon。你不能依靠auto来占用任何子div的宽度。

答案 1 :(得分:0)

试试这个

<style type="text/css">
.divUserRepCont {
  position: absolute;
  top: 0;
  left: 105px;
  width: 195px;
  height: 25px;   
}
.divUserContCon {
    width: auto;
    height: 25px;
}
.divUserCon {
    width: 50px;
    height: 25px;
    background-color: red;
}
</style>

如果您想要.divUserCon中的center,请在css中添加margin: 0 auto;

答案 2 :(得分:0)

这就是我解决它的方法:

.divUserRepCont
{
    position: absolute;

    top: 0;
    left: 105px;

    width: 195px;
    height: 25px;   

    background-color: orange;
}

.divUserContCon
{
    display: inline-block;

    height: 100%;

    padding-right: 20px;

    background-color: yellow;
}

.divUserCon
{
    display: inline-block;
    height: 20px;

    border-top: 5px solid rgb(62, 62, 62);

    background-color: red;
}

我将display:auto替换为display:inline-block;