1

ページのどこかで、div-a1の上にdiv-a2の位置を設定するにはどうすればよいですか?もちろん、下のレイアウトでdiv-a1の上にdiv-a2を作成することはできません。

<div id=a>

<div id=a1> something here
</div>
<div id=a2> show this part first
</div>

</div>

まだより良い解決策を探しています。ありがとう

4

2 に答える 2

1

これは、純粋な css で実現できます。次のように書きます。

#a{
    display:-moz-box;
    display:box;
    display:-webkit-box;
    -moz-box-direction:reverse;
    box-direction: reverse;
    -moz-box-direction:reverse;
    -webkit-box-direction:reverse;  
    -moz-box-orient:vertical;
    -webkit-box-orient:vertical;
    box-orient:vertical;     
}

' これをチェックhttp://jsfiddle.net/ASVtx/1/

于 2012-04-24T14:01:01.933 に答える
0

要素に css の絶対位置を指定し、それぞれのコンテンツ サイズに応じて適切に配置する必要があります。

#a1,#a2{position:absolute;}
#a2{  top: 0; }
#a1{  top: 200px;}

または、親内:

#a1,#a2{position:relative;}
#a2{  top: 0; }
#a1{  top: 200px;}

または、おそらくより良い代替手段は、レイアウトの順序を変更することです (ただし、記載されていない何らかの理由でそれは不可能だと思います)。

以下に例を示します: http://jsfiddle.net/MarkSchultheiss/CRCvU/

この更新された例では、位置に px の代わりに em を使用し、親に境界線を付けてスコープを確認し、親の周りに何かを追加しました。http://jsfiddle.net/MarkSchultheiss/CRCvU/1/

そのようにしたい場合に備えて、これを行うための jQuery コードを次に示します。

var ah1 = $('#a1').height();
var ah2 = $('#a2').height();
var ah = $('#a').height();
var relpos = {float:"left",
    display: "inline-block",
    position: "relative",
    clear: "both"
};
$('#a').css({
    height: ah
});
$('#a1, #a2').css(relpos);
$('#a2').css('top', -ah1);
$('#a1').css('top', ah2);

スクリプト化された作業例: http://jsfiddle.net/MarkSchultheiss/CRCvU/3/

于 2012-04-24T13:55:08.797 に答える