1

有了这个 CSS

.addProblemClass{
    width:300px;
    height:300px;
    /*width:25%;
    height:40%;*/
    border:solid 1px #000000;
    margin: 5px;
    background-color:#FFFFFF;
    padding:5px;
    opacity:0.9;/*For chrome and mozilla*/
    filter:alpha(opacity=90);/*For IE*/
}

.boxHeader{
    border: solid 1px #000000;
    height: 20%;
    padding: 5px;
}

.addProblemHeaderTextDiv{
    border:solid 1px #FF0000;
    width: 80%;
    height: 100%;
}

.addProblemHeaderImageDiv{
    border:solid 1px #00FF00;
    float: left;
    width: 20%;
    height: 100%;
}

和这个 html

<div class="addProblemClass">
            <div class="boxHeader">
                <div class="addProblemHeaderImageDiv"></div>//DIV A
                <div class="addProblemHeaderTextDiv"></div>//DIV B
            </div>
        </div>

为什么 DIV A 和 DIV B 重叠?

4

2 回答 2

1

采用

float: left;

addProblemHeaderTextDiv上课_

.addProblemHeaderTextDiv{
    border:solid 1px #FF0000;
    width: 80%;
    float: left;
    height: 100%;
}

编辑

为什么显示为两行?

由于您将宽度指定为 20% 和 80%,它们将填满整个空间。您还设置了边框,因此它不适合 100% 的空间。您可以减小任何 div 的宽度或删除边框。

于 2010-02-12T11:38:23.387 回答
0

由于 CSS Box 模型,您不能这样做。它像这样添加 1px 边框

20% + 80% = 100% width + 1px border 

这可以通过再次用边距减去边框来起作用。否则,恐怕您必须使用更多标记。

.addProblemHeaderTextDiv{
    border:solid 1px #FF0000;
    width: 80%;
    margin: 0 -1px;
    height: 100%;
    float: left;

}

.addProblemHeaderImageDiv{
    border:solid 1px #00FF00;
    margin: 0 -1px;
    float: left;
    width: 20%;
    height: 100%;
}
于 2010-02-12T12:09:35.383 回答