gpt4 book ai didi

html - 具有单元格间距但没有外部间距的全 Angular 表格

转载 作者:行者123 更新时间:2023-11-28 02:52:21 25 4
gpt4 key购买 nike

这个问题类似于this one ,但有一个额外的要求:我希望表格在其父项中具有 100% 的宽度。该问题的复制图像:

cellspacing image

所以我希望“绿色部分”占据父级的 100% 宽度,并且单元格之间的间距为黄色。

我们可以在表格上使用负边距来“取消”红色间距,至少在大多数情况下是这样。

然而,这并不总是适用于流体布局。实际上,只要有足够的内容使表格占据 100% 的宽度(表格具有 width:auto),它就可以正常工作。当没有足够的内容来执行此操作时,问题就会出现,因为显而易见的解决方案 width:100% 没有解决这个问题:表格将足够宽以适应包含边框间距的父项,但是我们正在剥离它,所以 table 不再足够宽了。

到目前为止,我找到的唯一“解决方案”是用长的、最好是不可见的内容强制填充表格,这样它就会填满“真实”的 100%。但我希望为此提供一个纯 css 解决方案……我也不希望使用计算/表达式来获得尽可能大的浏览器支持。

body {padding: 1em}
section {background-color: yellow}
table {background-color: pink}
td {background-color: lightgreen}

table {border-spacing: 1em}

table.working, table.failing {margin: -1em;}
table.failing {width: 100%}
<body>
<section>
<h2>Simple table</h2>
<table>
<tr>
<td>cell 1</td>
<td>cell 2</td>
</tr>
</table>

<br>

<h2>Succesful "100% width" for both cells</h2>
<table class="working">
<tr>
<td>cell with a lot of content to make sure that the table will be wide enough</td>
<td>cell with a lot of content to make sure that the table will be wide enough</td>
</tr>
</table>

<br>

<h2>Unsuccesful 100% width</h2>
<table class="failing">
<tr>
<td>table with</td>
<td>100% width</td>
</tr>
</table>

<br>

</section>
</body>

最佳答案

为此,您需要手动处理一些 css。

body {padding: 1em}
section {background-color: yellow;}
table {background-color: pink;}
td {background-color: lightgreen}

table {border-spacing:0;}

table.working,
/*table.failing {margin: -1em;}*/
table.failing {width: 100%; margin:0;}
table tr td{
border:5px solid #ff0000;
padding:10px;
}
.no-top{
border-top:none;
}
.no-bottom{
border-bottom:none;
}
.no-left{
border-left:none;
}
.no-right{
border-right:none;
}
<body>
<section>
<h2>Simple table</h2>
<table cellpadding="0">
<tr>
<td>cell 1</td>
<td>cell 2</td>
</tr>
</table>

<br>

<h2>Succesful "100% width" for both cells</h2>
<table class="working">
<tr>
<td>cell with a lot of content to make sure that the table will be wide enough</td>
<td>cell with a lot of content to make sure that the table will be wide enough</td>
</tr>
</table>

<br>

<h2>Unsuccesful 100% width</h2>
<table class="failing">
<tr>
<td class="no-top no-left">table with</td>
<td class="no-top no-right">100% width</td>
</tr>
<tr>
<td class="no-bottom no-left">table with</td>
<td class="no-bottom no-right">100% width</td>
</tr>
</table>

<br>

</section>
</body>

关于html - 具有单元格间距但没有外部间距的全 Angular 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38900202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com