加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 表格上有负边距的奇怪事物

发布时间:2020-12-14 23:28:11 所属栏目:资源 来源:网络整理
导读:问题不是很短,但很容易理解. 这是jsFiddle 我有两个嵌套表,像这样: 这是标记: table class="outer" tr td/td td table class="inner" tr td/td td/td td/td /tr /table /td td/td /tr/tablestyletable,tr,td { border: 1px solid black; border-collapse:
问题不是很短,但很容易理解.

这是jsFiddle

我有两个嵌套表,像这样:

这是标记:

<table class="outer">
  <tr>
    <td></td>
    <td>
      <table class="inner">
        <tr>
          <td></td>
          <td></td>
          <td></td>
        </tr>
      </table>
    </td>
    <td></td>
  </tr>
</table>

<style>
table,tr,td {
  border: 1px solid black;
  border-collapse: collapse;
}

table {
  width: 100%;
}

.outer {
  height: 100px;
}

.inner {
  background-color: #ccc;
  height: 50px;
}
</style>

第一个奇怪的事情

然后,我想在内表中添加负水平边距:

.inner {
  margin: 0 -10%;
}

预期的输出是这样的:

但相反,我得到了这个:

将内部表放在div中可以解决问题:

<!-- outer table -->
  <div class="wrapper">
    <table class="inner-wrapped">
      <tr>
        <td></td>
        <td></td>
        <td></td>
      </tr>
    </table>
  </div>
<!-- outer table -->

<style>
.wrapper {
  margin: 0 -10%;
}

.inner-wrapped {
  background-color: rgb(0,200,0);
  height: 50px;
}
</style>

第二个奇怪的事情

如果我设置负水平边距-10px(之前我们使用的是百分比,而不是像素),那么另外该表只向左移动(就像第一种情况一样),它在宽度上有明显的减少:

.inner {
  margin: 0 -10px;
}

问题

>为什么这两个东西都会发生?
>有什么方法可以解决它?像我一样简单地使用包装器是一种好习惯,还是应该使用另一种更聪明的方法?

解决方法

如果主表是宽度:100%;它将一直扩展,内部表将采用最初的100%作为参考.只要没有内容成功,负余量就不会扩大.
它会工作如果: https://jsfiddle.net/md2tx2d4/2/
.inner { margin:0 -10%; width:120%;}

或者如果你让它没有宽度,让它从内容中生长

table { }
td {width:200px;/* instead real content missing here */}

https://jsfiddle.net/md2tx2d4/1/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读