1

つまり、私は div を持っています。以下は非表示の div で、上の div よりも幅が広くなっています。内側の div を指定して、上の div よりも幅の広い要素を持たせたいと考えています。これらの要素の右側は、上の div の右側に揃えられますが、幅が広いため、左側を分割する必要があります。下の div は、上の div のトリガー要素をクリックしたときにのみ表示されるため、上の div よりも差分レイヤーにあります。

基本的にはドロップダウンリストで、いくつかのランダムな要素は上の画像要素よりも幅が広く、クリックするとこのリストがドロップされます。しかし、正確な位置を指定せずに、下のリストを親divから左に展開したい. したがって、要素はすべて親 div の子であり、親と同様に右揃えになります。

うーん、フォローしていただければ幸いです。どんな助けにも本当に感謝します。前もって感謝します。

4

2 に答える 2

1

負のマージンが最良の答えのようです。クロスブラウザの問題について知っている人は、ここに投稿してください。おそらく、私はそれらを1、2週間テストするつもりはありません.

于 2010-02-17T10:44:33.820 に答える
0

派手に見えなくても、おそらく(アクセシビリティのために)selectタグを使用する必要があります。しかし、あなたがそれに設定されている場合は、次のようなことを試してください(そしてリストを表示/非表示にするためにJavaScriptコードを追加してください):

#wrapper {
    width: 500px;
}
#select {
    border: 1px solid black;
    width: 180px;
    float: right;
}
#options {
    float: right;
    clear: right;
    text-align: right;
}

<div id="wrapper">
    <div id="select">pick one...</div>
    <div id="options">
        <div class="option">I'm short</div>
        <div class="option">I'm a very very very very very long option</div>
    </div>
</div>

これを使用することになった場合は、オプションdivをulタグに変更し、オプションdivをliタグに変更するか、構築しているものに意味的に近いものに変更してください。私の例では、divを使用してcssの量を減らしました。

于 2010-01-26T04:22:12.973 に答える