Css 使表格单元格成正方形
如何确保表格的每个单元格在不使用固定大小的情况下变成正方形?当它们改变宽度时,反应灵敏Css 使表格单元格成正方形,css,responsive-design,css-shapes,aspect-ratio,Css,Responsive Design,Css Shapes,Aspect Ratio,如何确保表格的每个单元格在不使用固定大小的情况下变成正方形?当它们改变宽度时,反应灵敏 表格{ 宽度:90%; } 运输署{ 宽度:30%; } tr{ /**这里应该放什么**/ } 1. 2. 3. 4. 5. 6. 7. 8. 9 您可以使用中描述的技术: 通过一个表格和方形表格单元格来适应您的用例,它将如下所示: 表格{ 宽度:90%; } 运输署{ 宽度:33.33%; 位置:相对位置; } 运输署:在{ 内容:''; 显示:块; 利润率最高:100%; } td.内容{ 位置:
表格{
宽度:90%;
}
运输署{
宽度:30%;
}
tr{
/**这里应该放什么**/
}
1.
2.
3.
4.
5.
6.
7.
8.
9
您可以使用中描述的技术:
通过一个表格和方形表格单元格来适应您的用例,它将如下所示:
表格{
宽度:90%;
}
运输署{
宽度:33.33%;
位置:相对位置;
}
运输署:在{
内容:'';
显示:块;
利润率最高:100%;
}
td.内容{
位置:绝对位置;
排名:0;
底部:0;
左:0;
右:0;
背景:金;
}
1.
1.
1.
1.
1.
1.
1.
1.
1.
这是我的代码:
关键在于使用:
td { width: 33%; padding-bottom: 33%; height: 0; }
td div { position: absolute }
因为填充底部是根据宽度定义的。更多信息:
注意:之前我发布了一个不工作的代码(请参阅)。感谢@web tiki报告此错误;-) 如果有人正在寻找一种不需要固定
宽度
属性(即使是百分比)的解决方案,以下是我根据上述答案和批准答案得出的结论:
td {
height: 0;
&:after, &:before {
content: '';
display: block;
padding-bottom: calc(50% - 0.5em);
}
}
它有点瘸,但它一石二鸟:
- 成功了吗
- 使内容垂直对齐
主体{…}
。好吧,fiddle非常方便,你可以编辑它并保存它来向我们展示你的技术工作。它基本上就像一个网页,每个人都可以编辑、保存和共享…@tampis我刚用firefox检查过,它更好,但是td
s不是正方形的。我会做一个屏幕截图给你看。两个投票人能解释一下原因吗?我同意,但没有解释就不是很有建设性。这个解决方案在android上不起作用。如何垂直对齐:中间内容?@BradKent这里介绍了一种技术:(见3.将内容居中)。您还可以在对齐文本之前查看一下这一点。首先,您必须在“td.content{…}”中添加“width:100%;height:100%;”,然后可以简单地对齐文本