1

右または下を設定して要素スタイルの位置を上と左にオーバーライドしようとすると、機能しません。左と上のプロパティはブラウザーの関心事であり、それらのプロパティを効率的に使用できる場所で右と下のプロパティを使用する人を見ることはありません。

4

3 に答える 3

4

heightまたはが指定されておらずwidth、問題の要素の位置がabsoluteまたはである場合、 a(またはfixed)の両方を指定することは実際には何かを意味します。たとえば、ボディの各エッジから 20 ピクセルの位置にライトボックスを配置し、残りのスペース。top bottomleft right

ただし、relative配置の場合、または他の指定された寸法が計算を不可能にする場合、両方の端からの距離を指定すると命令の競合が発生するため、ブラウザは一方を他方より優先することを余儀なくされます。topおよびleftは、レイアウト (および西洋文字のテキスト) の自然な優先順位であるため、恣意的に取られます。

ただし、値を指定することでtopandをリセットして、 andを優先させることができます。leftautobottomright

/* previous rules */
.thing {
    top: 20px;
    left: 20px;
}

/* your rule */
.thing {
    top: auto;
    left: auto;
    bottom: 20px;
    right: 20px;
}
于 2013-08-05T10:47:05.807 に答える
2

右または下を設定して、要素スタイルの位置を上下にオーバーライドしようとしています

topまず、 and を使用してプロパティleftをオーバーライドすることはできませんrightbottom

それらをオーバーライドしたい場合は、次のような値を設定する必要があります

element.class {
   top: [auto, inherit, px, %];
   left: [auto, inherit, px, %];
}

/* Don't leave them blank */

ここで 2 番目の質問に進みます。

人々が右と下のプロパティを使用するのを見たことがないこれらのプロパティを効率的に使用できる場所

コンテナ要素と要素の右と下にボタンを配置する必要があり、height動的widthである例を考えてみましょう。この場合、方法がわからないため、andから要素を配置できないためright: 0;、 andを使用する必要があります要素のサイズは動的であるため、要素を取得する必要があります。bottom: 0;lefttoppxlefttop

于 2013-08-05T10:44:41.563 に答える
0

top: auto; left: auto以前の設定をオーバーライドして、代わりに右下を使用するように設定する必要があります。

于 2013-08-05T10:42:30.587 に答える