<html>
<head>
<title>Test</title>
</head>
<body>
<div>
<img src="queuedError.jpg" style="margin:auto; width:200px;" />
</div>
</body>
</html>
div
それが必要として100%に拡大するが、画像自体を中央にしません。どうして?
<html>
<head>
<title>Test</title>
</head>
<body>
<div>
<img src="queuedError.jpg" style="margin:auto; width:200px;" />
</div>
</body>
</html>
div
それが必要として100%に拡大するが、画像自体を中央にしません。どうして?
回答:
あなたの画像がインラインブロック要素だからです。次のように、ブロックレベルの要素に変更できます。
<img src="queuedError.jpg" style="margin:auto; width:200px;display:block" />
中央揃えになります。
ブロックレベルとしてレンダリングする必要があります。
img {
display: block;
width: auto;
margin: auto;
}
追加 style="text-align:center;"
以下のコードを試してください
<html>
<head>
<title>Test</title>
</head>
<body>
<div style="text-align:center;vertical-align:middle;">
<img src="queuedError.jpg" style="margin:auto; width:200px;" />
</div>
</body>
</html>
display: block;
ため、画像に追加することを強くお勧めします。
私はこれが古い記事であることを知っていますが、同じ問題をどのように解決したかを共有したいと思いました。
私の画像は親クラスからfloat:leftを継承していました。float:noneを設定することで、margin:0をautoにし、display:ブロックを適切に機能させることができました。それが将来誰かを助けることを願っています。
オブジェクトの特定の幅を定義する必要があります。そうしないと、オブジェクトが中央に配置されません。相対的な幅は機能しません。