Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 在一个表中组合固定和可变宽度列_Css_Width_Css Tables - Fatal编程技术网

Css 在一个表中组合固定和可变宽度列

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=

如何使用CSS创建一个表,如下所示(前三列的固定宽度为px,以下列的宽度为%):


我知道如何创建具有可变或固定宽度的列。

您可以将最后四个单元格放置在主表的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
,而不是嵌套的
,但语义到底是什么