โดย tsukasaz » 26/07/2019 2:03 pm
ถ้าขนาดรูปแบบแน่นอน ก็เขียน css กำหนดความกว้างให้กับ modal เลยก็ได้ครับ width: 500px; แบบนี้
แต่ถ้ารูปภาพขนาดไม่นอนอาจจะต้องใช้ javascript เช็คขนาดภาพก่อน
โค้ด HTMLโค้ด: เลือกทั้งหมด
<!-- Modal -->
<div id="myModalBox">
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body text-center">
<p><img src="http://via.placeholder.com/300" /></p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
โค้ด Javascriptโค้ด: เลือกทั้งหมด
<script>
jQuery(function ($) {
$('#myModalBox').css('visibility', 'hidden');
$('#myModal').modal('show');
$('#myModal').on('shown', function () {
var img_width = $('#myModal img').width();
$('#myModalBox').css('visibility', 'visible');
$('#myModal').css('width', img_width);
$('#myModal').css('margin-left', '-' + (img_width / 2) + 'px');
});
});
</script>
ถ้าขนาดรูปแบบแน่นอน ก็เขียน css กำหนดความกว้างให้กับ modal เลยก็ได้ครับ width: 500px; แบบนี้
แต่ถ้ารูปภาพขนาดไม่นอนอาจจะต้องใช้ javascript เช็คขนาดภาพก่อน
[b]โค้ด HTML[/b][code]<!-- Modal -->
<div id="myModalBox">
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body text-center">
<p><img src="http://via.placeholder.com/300" /></p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
</div>[/code]
[b]โค้ด Javascript[/b][code]<script>
jQuery(function ($) {
$('#myModalBox').css('visibility', 'hidden');
$('#myModal').modal('show');
$('#myModal').on('shown', function () {
var img_width = $('#myModal img').width();
$('#myModalBox').css('visibility', 'visible');
$('#myModal').css('width', img_width);
$('#myModal').css('margin-left', '-' + (img_width / 2) + 'px');
});
});
</script>[/code]