[英]Same width and height to html table using jquery
.table { width: 100%; height: 100%; } .table td { background: red; color: #fff; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="gallery-content"> <table class="table" id="gallery"> <tr> <td> <div> 1 </div> </td> <td> <div> 2 </div> </td> <td> <div> 3 </div> </td> </tr> <tr> <td> <div> 4 </div> </td> <td> <div> 5 </div> </td> <td> <div> 6 </div> </td> </tr> <tr> <td> <div> 7 </div> </td> <td> <div> 8 </div> </td> <td> <div> 9 </div> </td> </tr> </table> </div>
我想创建一个如下所示的正方形布局以显示一些图像。
我的HTML如下:
<div class="gallery-content">
<table class="table" id="gallery">
<tr>
<td>
<div>
<img src="../myimage.jpg">
</div>
</td>
<td>
<div>
<img src="../myimage.jpg">
</div>
</td>
<td>
<div>
<img src="../myimage.jpg">
</div>
</td>
</tr>
<tr>....</tr>
<tr>....</tr>
</table>
</div>
在这种情况下,我无法为表格单元格设置确切的宽度和高度。 td
平均宽度是可变的。
所以在这里我想检测该可变宽度并使用jquery将其设置为高度。
我这样尝试过,但是对我不起作用。
function windowReszie(){
var size =$("td").width();
$("td").height(size);
}
if($('#gallery').length){
windowReszie()
}
谁能帮我解决这个问题。 谢谢。
如果您使用伪元素并将其100% padding-top
,它将是一个正方形:
.table { width: 100%; height: 100%; } .table td { background: red; color: #fff; } .table td:before{ content: ""; display: block; padding-top: 100%; }
<div class="gallery-content"> <table class="table" id="gallery"> <tr> <td> <div> 1 </div> </td> <td> <div> 2 </div> </td> <td> <div> 3 </div> </td> </tr> <tr> <td> <div> 4 </div> </td> <td> <div> 5 </div> </td> <td> <div> 6 </div> </td> </tr> <tr> <td> <div> 7 </div> </td> <td> <div> 8 </div> </td> <td> <div> 9 </div> </td> </tr> </table> </div>
这是您的jquery
检测到可变宽度并在屏幕调整大小时将其设置为height
function windowResize(){ var size =$("td").width(); $("td").height(size); } if($('#gallery').length){ windowResize(); } $(window).resize(function(){ windowResize(); });
.table { width: 100%; height: 100%; } .table td { background: red; color: #fff; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="gallery-content"> <table class="table" id="gallery"> <tr> <td> <div> 1 </div> </td> <td> <div> 2 </div> </td> <td> <div> 3 </div> </td> </tr> <tr> <td> <div> 4 </div> </td> <td> <div> 5 </div> </td> <td> <div> 6 </div> </td> </tr> <tr> <td> <div> 7 </div> </td> <td> <div> 8 </div> </td> <td> <div> 9 </div> </td> </tr> </table> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.