Css 在一个表中组合固定和可变宽度列
如何使用CSS创建一个表,如下所示(前三列的固定宽度为px,以下列的宽度为%):Css 在一个表中组合固定和可变宽度列,css,width,css-tables,Css,Width,Css Tables,如何使用CSS创建一个表,如下所示(前三列的固定宽度为px,以下列的宽度为%): 我知道如何创建具有可变或固定宽度的列。您可以将最后四个单元格放置在主表的td中的表格中,如下所示: <div class="wrapper"> <table class="table-main"> <tr> <td class="first"> </td> <td class=
我知道如何创建具有可变或固定宽度的列。您可以将最后四个单元格放置在主表的td中的表格中,如下所示:
<div class="wrapper">
<table class="table-main">
<tr>
<td class="first"> </td>
<td class="second"> </td>
<td class="third"> </td>
<td class="fluid">
<table class="table-wrapped">
<tr>
<td class="td-quarter"> </td>
<td class="td-quarter"> </td>
<td class="td-quarter"> </td>
<td class="td-quarter"> </td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<style>
.wrapper { min-width: 150px; max-width: 550px;}
.table-main { width: 100%; background: blue; }
td { border: 1px solid #000; background: #fc0; height: 20px; }
.first { width: 10px; }
.second { width: 20px; }
.third { width: 30px; }
.fluid { min-width: 100px; max-width:500px;border:0;}
.table-wrapped { width:100%;}
.td-quarter { width: 25%; background:blue; }
</style>
.wrapper{最小宽度:150px;最大宽度:550px;}
.table主{宽度:100%;背景:蓝色;}
td{边框:1px实心#000;背景:fc0;高度:20px;}
.第一个{宽度:10px;}
.second{宽度:20px;}
.third{宽度:30px;}
.fluid{最小宽度:100px;最大宽度:500px;边框:0;}
.表格包装{宽度:100%;}
.td四分之一{宽度:25%;背景:蓝色;}
您可以将最后四个单元格放在主表的td中的表中,如下所示:
<div class="wrapper">
<table class="table-main">
<tr>
<td class="first"> </td>
<td class="second"> </td>
<td class="third"> </td>
<td class="fluid">
<table class="table-wrapped">
<tr>
<td class="td-quarter"> </td>
<td class="td-quarter"> </td>
<td class="td-quarter"> </td>
<td class="td-quarter"> </td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<style>
.wrapper { min-width: 150px; max-width: 550px;}
.table-main { width: 100%; background: blue; }
td { border: 1px solid #000; background: #fc0; height: 20px; }
.first { width: 10px; }
.second { width: 20px; }
.third { width: 30px; }
.fluid { min-width: 100px; max-width:500px;border:0;}
.table-wrapped { width:100%;}
.td-quarter { width: 25%; background:blue; }
</style>
.wrapper{最小宽度:150px;最大宽度:550px;}
.table主{宽度:100%;背景:蓝色;}
td{边框:1px实心#000;背景:fc0;高度:20px;}
.第一个{宽度:10px;}
.second{宽度:20px;}
.third{宽度:30px;}
.fluid{最小宽度:100px;最大宽度:500px;边框:0;}
.表格包装{宽度:100%;}
.td四分之一{宽度:25%;背景:蓝色;}
OP最初要求
用CSS3设计一个表
因此,这里是CSS3,代码越少越好
<div id="first">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
<div id="second">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
OP最初要求 用CSS3设计一个表 因此,这里是CSS3,代码越少越好
<div id="first">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
<div id="second">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
为右侧的4列嵌套另一个
表
。HTML结构如下所示:
<table class = "big first">
<tr>
<td class = "px10">Cell1</td>
<td class = "px20">Cell2</td>
<td class = "px30">Cell3</td>
<td>
<table class = "big">
<td>1</td><td>2</td><td>3</td><td>4</td>
</table>
</td>
</tr>
</table>
还有一个小演示:
编辑:结果是可能不需要另一个
表
:。为右侧的4列嵌套另一个表
。HTML结构如下所示:
<table class = "big first">
<tr>
<td class = "px10">Cell1</td>
<td class = "px20">Cell2</td>
<td class = "px30">Cell3</td>
<td>
<table class = "big">
<td>1</td><td>2</td><td>3</td><td>4</td>
</table>
</td>
</tr>
</table>
还有一个小演示:
编辑:结果是可能不需要另一个
表
:。等待,总计为100%+60px;除非25%的宽度是剩余宽度的25%?我不认为这是一个问题,真的…?等等,这加起来是100%+60px;除非25%的宽度是剩余宽度的25%?我不认为这是个问题,真的….?哦,你确定吗?编码时我没有注意到。。。。。。我是说,他真的想要张桌子吗?@cimmanon,是吗?这个问题没有说明使用
作为一项要求。从未听说过CSS3表,但是“CSS3”并不意味着“使用div代替表”。。。我相信OP提到了CSS3,因为他希望有一个纯CSS3解决方案。它显然是表格数据,所以最具语义的标记是带有
s、
s等的
标记。现在它显然是表格数据,原来的问题不是,否则我不会提出这种方法。哦,你确定吗?编码时我没有注意到。。。。。。我是说,他真的想要张桌子吗?@cimmanon,是吗?这个问题没有说明使用
作为一项要求。从未听说过CSS3表,但是“CSS3”并不意味着“使用div代替表”。。。我相信OP提到了CSS3,因为他希望有一个纯CSS3解决方案。它显然是表格数据,所以最具语义的标记是一个带有
s、
s等的
标记。现在它显然是表格数据,原来的问题不是,否则我不会提出这种方法。问题是它不支持多行,所以下一行需要另一个嵌套表,等等,这可能是不可靠的。@StuCox这不是真的,是吗?@StuCox:除非嵌套表的单元格的行数与外部表中的行数相同。当然,这也不会使它更具语义,而且还必须对行跨度进行硬编码。@Abody97-我可能错了。。。对于下一行的标记,你有什么建议?@StuCox实际上我的想法与@BoltClock相同——添加rowspan
。不过,没关系——你说得对,它在语义上不太好。问题是它不支持多行,所以下一行需要另一个嵌套表,等等,这可能是不明确的。@StuCox这不是真的,是吗?@StuCox:除非嵌套表的单元格的行数与外部表的行数相同。当然,这也不会使它更具语义,而且还必须对行跨度进行硬编码。@Abody97-我可能错了。。。对于下一行的标记,你有什么建议?@StuCox实际上我的想法与@BoltClock相同——添加rowspan
。不过,没关系——你说得对,它在语义上不是很好。从语义上来说,你可以使用colgroup
而不是嵌套的表,但语义到底是什么:P(我相信浏览器对colgroup
/col
样式的支持也不多)@BoltClock,我试图尊重语义学,但在这种情况下,我认为这并不是最重要的担心:)@BoltClock请参见编辑。嗯,我想知道这是否符合OP的要求。谢谢你的帮助:)工作正常并通过w3c验证程序(“成功检查为HTML5”),语义上你可以使用colgroup
,而不是嵌套的表
,但语义到底是什么