ホームページ  >  に質問  >  本文

javascript - 以下の例に示すように、img 要素を div 内で中央に配置する方法

HTMLコード

リーリー

希望する効果の例画像

赤い部分はp、緑の部分はimgです

つまり、imgの方が幅が広いということです

imgの幅が固定されていないため、margin-leftを固定しても解決できません

デフォルトの並べ替え 時間の並べ替え

13 件の回答

3

imgタグを使う代わりにpにbackground-imageを追加する方法もあります

リーリー

  • 4月20日に回答
  • コメント
  • 編集

翔さん227の評判

1

画像の配置 marginleft:-(width/2) img の幅は固定ではないので、js で取得して動的に marginleft を設定できます

  • 4月20日に回答
  • コメント
  • 編集

世界を冷めた目で見てください177評判

1

別のレイヤーを包みます。

リーリー リーリー

wrapper2的宽度是img宽度。imgmargin-left就等于自身宽的一半,相当于left:-50%*width

  • 4月20日に回答 ・4月20日更新
  • 2 コメント
  • 編集

toBeTheLight4.9k 評判

1

img はインラインブロック要素であり、親レベルで直接テキストを配置できます: center;

  • 5月3日に回答しました
  • コメント
  • 編集

Hugangqiang117 評判

1

実際には、水平方向のセンタリングの効果を実現したいと考えています。水平方向のセンタリングを実現するための 4 つの方法を示します (注: 以下の各例では、子要素の位置合わせ操作が実装されており、子要素の親コンテナは親要素)

inline-block と text-align を使用して実装します

リーリー

利点: 優れた互換性;

欠点: 子要素と親要素を同時に設定する必要がある

達成するには margin:0 auto を使用してください

リーリー

長所: 互換性が良い

短所: 幅を指定する必要がある

テーブルを使用して実装する

リーリー

利点: 自分で設定するだけで済みます

欠点: IE6と7は構造を調整する必要があります

絶対位置の使用

リーリー

短所: 互換性が低く、IE9 以降で利用可能

実用的なフレックスレイアウトの実装

最初の方法

リーリー

2番目の方法

リーリー

短所: 互換性が悪く、大面積レイアウトを実行すると効率に影響する可能性があります

  • 5月5日に回答
  • コメント
  • 編集

ヨギ27の評判

0

img.onload 時に p を外側にラップすると、js が幅を計算して外側の層に割り当てます。外側のコンテンツを中央に配置します

  • 4月21日に回答しました
  • コメント
  • 編集

Jessica_loli16 評判

0

まず p にposition:relative;を与えてから、imgに{
を与えます リーリー

}

c3 と互換性がない場合は、img{
を与えることができます リーリー

}

  • 4月21日に回答しました
  • コメント
  • 編集

ピエロズー11の評判

0

1

リーリー

2

リーリー

3

リーリー

4 フレックスを使用する

  • 4月21日に回答しました ・4月21日更新
  • コメント
  • 編集

風の一匹狼227 評判

0

画像のサイズを制限するために、外側にpのレイヤーを1つ、内側にpのレイヤーを1つ配置します

  • 5月3日に回答しました
  • コメント
  • 編集

藤西22の評判

0

互換性の問題を考慮しない場合は、ご覧ください object-fit

  • 5月3日に回答しました
  • コメント
  • 編集

CRIMX865の評判

0

给我你的怀抱给我你的怀抱2713日前1700

全員に返信(13)返信します

  • 黄舟

    黄舟2017-05-16 13:23:39

    imgタグを使う代わりにpにbackground-imageを追加する方法もあります

    リーリー

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:23:39

    画像の配置 marginleft:-(width/2) img の幅は固定ではないので、js で取得して動的に marginleft を設定できます

    返事
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:23:39

    もう一枚重ねて包みます。

    リーリー リーリー

    wrapper2的宽度是img宽度。imgmargin-left就等于自身宽的一半,相当于left:-50%*width

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:23:39

    img はインラインブロック要素であり、親レベルで直接テキストを配置できます: center;

    返事
    0
  • 怪我咯

    怪我咯2017-05-16 13:23:39

    実際には、水平方向の中央揃えの効果を実現したいと考えています。水平方向の中央揃えを実現するための 4 つの方法を示します (注: 以下の各例では、子要素の位置合わせ操作が実装されており、子要素の親コンテナーは親要素)

    inline-block と text-align を使用して実現

    リーリー

    利点: 優れた互換性;

    欠点: 子要素と親要素を同時に設定する必要がある

    達成するには margin:0 auto を使用してください

    リーリー

    長所: 互換性が良い

    短所: 幅を指定する必要がある

    テーブルを使用して実装する

    リーリー

    利点: 自分で設定するだけで済みます

    欠点: IE6と7は構造を調整する必要があります

    絶対位置の使用

    リーリー

    短所: 互換性が低く、IE9 以降で利用可能

    実用的なフレックスレイアウトの実装

    最初の方法

    リーリー

    2番目の方法

    リーリー

    短所:互換性が悪く、大面積レイアウトを行うと効率に影響する可能性があります

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:23:39

    img.onload時にpを外側にラップすると、jsが幅を計算して外側の層に割り当てます。外側のコンテンツを中央に配置します

    返事
    0
  • PHP中文网

    PHP中文网2017-05-16 13:23:39

    まず p にposition:relative;を与えてから、imgに{
    を与えます リーリー

    }

    c3 と互換性がない場合は、img{
    を与えることができます リーリー

    }

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 13:23:39

    1

    リーリー

    2

    リーリー

    3

    リーリー

    4 用フレックス

    返事
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:23:39

    画像のサイズを制限するために、外側にpのレイヤーを1つ、内側にpのレイヤーを1つ配置します

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:23:39

    互換性の問題を考慮しない場合は、ご覧ください object-fit

    返事
    0
  • キャンセル返事