<html>
<head>
<title>Test</title>
</head>
<body>
<div>
<img src="queuedError.jpg" style="margin:auto; width:200px;" />
</div>
</body>
</html>
Mở div
rộng đến 100% nếu nó phải nhưng hình ảnh không chính giữa. Tại sao?
<html>
<head>
<title>Test</title>
</head>
<body>
<div>
<img src="queuedError.jpg" style="margin:auto; width:200px;" />
</div>
</body>
</html>
Mở div
rộng đến 100% nếu nó phải nhưng hình ảnh không chính giữa. Tại sao?
Câu trả lời:
Bởi vì hình ảnh của bạn là một phần tử khối nội tuyến . Bạn có thể thay đổi nó thành một phần tử cấp khối như sau:
<img src="queuedError.jpg" style="margin:auto; width:200px;display:block" />
và nó sẽ được căn giữa.
Bạn cần phải kết xuất nó dưới dạng cấp khối;
img {
display: block;
width: auto;
margin: auto;
}
Thêm vào style="text-align:center;"
thử mã bên dưới
<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;
vào hình ảnh rất được khuyến khích.
Tôi biết đây là một bài viết cũ, nhưng muốn chia sẻ cách tôi đã giải quyết vấn đề tương tự.
Hình ảnh của tôi đang kế thừa một float: left từ một lớp cha. Bằng cách đặt float: none, tôi có thể làm cho margin: 0 tự động và display: block hoạt động bình thường. Hy vọng nó có thể giúp một ai đó trong tương lai.
Tôi thấy rằng tôi phải xác định chiều rộng cụ thể cho đối tượng hoặc không có gì khác sẽ làm cho nó ở giữa. Chiều rộng tương đối không hoạt động.
mở div
rồi đặt
style="width:100% ; margin:0px auto;"
image
thẻ (hoặc) nội dung
đóng div
Tôi đã tìm thấy ... margin: 0 auto; làm việc cho tôi. Nhưng tôi cũng đã thấy nó KHÔNG hoạt động do lớp bị át bởi một đặc điểm cụ thể khác có ... float: left; vì vậy hãy để ý rằng bạn có thể cần thêm ... float: none; điều này đã hoạt động trong trường hợp của tôi khi tôi mã hóa một truy vấn phương tiện.