css - 如何确保表格在任何屏幕尺寸上都是方形的。不管有多少行/列
问题描述
我正在尝试将两行十六列的表格设置为在任何屏幕分辨率上始终为正方形。所以单元格是纵向布局中的窄矩形。我尝试了以下方法:
HTML:
<table>
<tr>
<td><div class="content"></div></td>
... *another 14 td's*
<td><div class="content"></div></td>
</tr>
<tr>
<td><div class="content"></div></td>
... *another 14 td's*
<td><div class="content"></div></td>
</tr>
</table>
CSS:
table {
width:100%;
}
table:after {
content: '';
display: block;
margin-top: 100%;
}
td {
width: 6.25%;
position: relative;
}
td .content {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: yellow;
border: 1px solid brown;
}
解决方案
不幸的是,目前还没有真正好的方法来设置相对于元素宽度的高度。您可以尝试的一种解决方案是制作宽度和高度静态数字,然后使用媒体查询,这样它就不会跑出页面。像这样的东西:
.table {
width: 100px;
height: 100px;
}
@media (min-width: 768px) {
.table {
height: 300px;
width: 300px;
}
}
@media (min-width: 1200px) {
.table {
width: 500px;
height: 500px;
}
}
要回答第二个问题:Bootstrap 使用 flexbox,除非您另外指定,否则它将尝试将所有内容都放在同一行上。如果您设置flex-wrap: wrap;
为该引导类,那么它应该允许 100% 的东西填充该行并上下颠簸其他东西。
推荐阅读
- android - 数据库不为空时如何调用服务类
- cmake - find_package 确实找到并且同时没有找到 opencvconfig,opencv_dir 路径设置为该文件的目录
- java - nio.channels.FileChannel.open 抛出 NoSuchFileException
- mysql - Mysql:使用 ON 子句从 3 个表中提取数据
- assembly - CMF 错误:没有为 PIC18 MAPLABX 行定义 psect
- javascript - 根据当前 URL 创建指向另一个目录的链接
- swift - SwiftUI DIY 旋转预览无法正常工作
- twitter-bootstrap - 使用 MVC 在 ASP.NET Core 中不滑动引导图像轮播
- python - Python脚本只替换一次字符串然后复制所有内容
- matlab - MATLAB-为什么我的 contourf 拒绝将 .1- -.1 值填充为白色?