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>

なぜDIVAとDIVBが重複しているのですか?

4

2 に答える 2

1

使用する

float: left;

addProblemHeaderTextDivクラスへ

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

編集

なぜ2行で表示されるのですか?

幅を 20% と 80% に指定しているため、スペース全体がいっぱいになります。境界線も設定しているため、100% のスペースには収まりません。任意の div の幅を減らすか、境界線を削除できます。

于 2010-02-12T11:38:23.387 に答える
0

CSSボックスモデルのため、これを行うことはできません。このように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 に答える