首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么这3列没有填满父div?(使用display: table)

使用display: table属性可以将元素呈现为表格,其中包含表格行和表格单元格。当使用display: table属性时,子元素会自动布局在表格中,而不会填满父div。

这种情况可能是因为父div没有设置合适的高度或宽度,导致子元素无法填满整个父div。可以通过设置父div的高度或宽度来解决这个问题。

另外,还需要注意子元素的display属性。如果子元素的display属性为table-cell,则会自动填充父div。如果子元素的display属性为block,则不会填充父div。

以下是一个示例代码:

HTML代码:

代码语言:txt
复制
<div class="parent">
  <div class="child">子元素1</div>
  <div class="child">子元素2</div>
  <div class="child">子元素3</div>
</div>

CSS代码:

代码语言:txt
复制
.parent {
  display: table;
  width: 100%;
  height: 200px;
}

.child {
  display: table-cell;
  border: 1px solid black;
}

在上述代码中,父div设置了display: table属性,并且设置了固定的高度。子元素设置了display: table-cell属性,这样子元素会自动填充父div,并且可以根据需要设置边框等样式。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 移动开发(移动应用托管):https://cloud.tencent.com/product/maap
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 区块链(BCS):https://cloud.tencent.com/product/bcs
  • 视频直播(CSS):https://cloud.tencent.com/product/css
  • 音视频处理(VOD):https://cloud.tencent.com/product/vod
  • 网络安全(SSL 证书):https://cloud.tencent.com/product/ssl
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CSS理解之margin

例2: image.png 我们设置左右定位值left:0; right:0;,它的宽度同样自动填充填满了它所在的容器,只不过它的容器是它的第一个级相对定位元素。...image.png 上图水平方向剧中了,但是垂直方向不剧中,级元素高度有了,子元素高度也有了,为什么还是不垂直居中呢?...2.绝对定位元素实现垂直居中: image.png 子元素设置了top:0;right:0;bottom:0;left:0;之后,没有设置宽高,absolute元素也自动填满了容器。...3.display:table-cell与margin MDN:margin可以应用于任何元素,除了displaytable的相关类型(不包括table-caption,table以及inline-table...换句话说,如果这个元素的display属性是table-cell/table-row等类似这样的表格相关的声明,它的margin是无效的。 demo: <!

1.7K20
  • Flex 布局相关用法

    2009年版本的语法已经过时(display: box),使用的时候为了兼容需要加上一些前缀 /* 形如: */ display: -webkit-box; /* Chrome 4+, Safari...能做什么?也就是他能解决什么问题? 2. 能用在哪裡?在哪些地方能用这个方法? 3. 为什么能用?他实现所用到的逻辑是什么? 当然了,仨问题也直接贯穿在功能实现当中,所以还是来了解使用的方式。...比如: display: -webkit-flex; 但有两点要注意的是,容器设置flex之后:  CSS的columns在伸缩容器上没有效果。  ...float、clear和vertical-align在子项目上没有效果。 2.flex-direction(适用于容器) flex-direction属性决定主轴的方向(即项目的排列方向)。...默认值为auto,表示继承元素的align-items属性,如果没有元素,则等同于stretch。

    1.5K10

    前端硬核面试专题之 CSS 55 问

    div 定义 display: tablediv 定义 伪类 :after 和 zoom 。...由于你子 DIV没有指定宽度,那它就是 100%,也就是与 DIV 同宽,但这与继承无关,高度自然也没有继承一说。...chrome中,使用 collapse 值和使用 hidden 没有区别。 firefox,opera 和 IE,使用 collapse 值和使用 display:none 没有什么区别。...---- 有一个高度自适应的 div,里面有两个 div,一个高度 100px,如何让另一个填满剩下的高度 ?...大家要注意 html 中必须使用 div 标签,不要妄图使用什么 p 标签来达到目的。因为 div 有个默认属性,即如果不设置宽度,那它会自动填满它的标签的宽度。这里的 main 就是例子。

    2K20

    CSS 浮动布局,解决清除浮动的问题

    4、浮动让行内元素或块元素自动转化为行内块元素(此时不会有行内块元素间隙问题) 5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果 6、元素如果没有设置尺寸...再来看看这个怎么实现 级盒子不给高度,子集盒子浮动,级盒子需要清除浮动 ? 问题如下图: ? 可以从上图看出,元素div没有因为子元素的数量增多而增加,那么这种问题怎么处理呢?...为什么叫做清楚浮动呢?因为子元素只要不设置float,元素是可以自动扩展的。 ? 注释了子元素的浮动的确可以解决,但是这样就无法使用浮动布局了。有没有可以使用浮动布局的同时,解决这个问题的方法呢?...清除浮动 :子元素设置为浮动,元素无法被撑开的这种情况 级上增加属性overflow:hidden 在最后一个子元素的后面加一个空的div,给它样式属性 clear:both(不推荐) 使用成熟的清浮动样式类...: table; } .clearfix:after{ clear:both; } 但是其实中方式,如果是在部分IE浏览器是不兼容的

    2.7K30

    CSS&HTML面经专题——(三)CSS定位盒模型经典布局浮动布局与BFC

    b、元素定位参考的是离自身最近的定位祖先元素,要满足两个条件,第一个是自己的祖先元素,可以是元素也可以是元素的元素,一直找,如果没有则选择body为对照对象。...) /* 缺点,要求级有固定宽高, 不能是百分比 */ body{ display: table-cell; vertical-align: middle; text-align...使用table标签(或直接将块级元素设值为display:table),再通过给该标签添加左右margin为auto。 inline-block实现水平居中方法。...display: flex; 子级设置margin为auto实现自适应居中 级设置相对定位,子级设置绝对定位,并且通过位移transform实现 table布局,级通过转换成表格形式,然后子级设置...(需要注意的是:vertical-align: middle使用的前提条件是内联元素以及display值为table-cell的元素)。

    2K31

    详解 清除浮动 的多种方式(clearfix)

    (弹出菜单),也会被一同隐藏 方案5 元素设置display:table 优势:不影响结构与表现的分离,语义化正确,代码量少 弊端:盒模型属性已经改变,会造成其他问题 方案6 使用内容生成的方式清除浮动...,没有副作用 弊端:代码量多 方案7 .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both...; } 优势:不破坏文档结构,没有副作用 弊端: 代码量多 注意:display:table本身无法触发BFC,但是它会产生匿名框(anonymous boxes),而匿名框中的display:...overflow:hidden, 语义应该是溢出:隐藏,按道理说,子元素浮动了,但依然是在元素里的,而元素高度塌陷,高度为0了,子元素应该算是溢出了,为什么没有隐藏,反而撑开了元素的高度?...为什么display:table也能清除浮动,原理是什么?

    1.5K60

    清除浮动的方法

    本章主要介绍三种常用的清除浮动的方法,主要包括: ---- [1] 增加一个空 div, 使用 clear:both 将浮动元素 "挤到" 元素中 [2] 在元素里增加 overflow: hidden...如果元素不设置高度,并且没有使用清除浮动,浮动的子元素就无法填入到元素中,造成元素高度塌陷。高度的塌陷使我们页面后面的布局不能正常显示。 <!...通过分析发现,除了clear:both用来闭合浮动的,其他代码无非都是为了隐藏掉content生成的内容,这也就是其他版本的闭合浮动为什么会有font-size:0, line-height:0。...*/ .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix...-- 缺点:会隐藏超出元素的部分, 有时候并不是预期的效果 --> Left2 Right2<

    1K50

    「资深前端工程师总结」前端面试知识点大全—CSS篇

    (1)谷歌浏览器中,使用collapse值和使用hidden没有区别。 (2)火狐,opera和IE,使用collapse值和使用display:none没有什么区别。...4)、div定义height; 5)、div 也一起浮动; 6)、div 定义display:table; 7)、常规的使用一个class; .clearfix:before, .clearfix..."; display: table; } .clearfix:after { clear: both; } .clearfix { *zoom: 1; } 8)、SASS编译的时候,在浮动元素的div...20、在网页中的应该使用奇数还是偶数的字体?为什么呢? 使用的是偶数字体。偶数字号相对更容易和 web 设计的其他部分构成比例关系。...35、有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。

    1.6K30

    你不知道的 CSS flex 陷阱

    例如,当我们使用 flex-wrap: wrap 属性后,发现元素之间出现了意想不到的上下间距,到底是为什么呢?怎么样才能解决这个问题呢?...问题描述某次我做项目时候,用到了 flex 布局,布局的页面效果,大概是一个容器盒子 div 里面,有几个子元素 div,这几个子元素 div 一行大概只能放下 3 个,超出就需要换行显示了。...显示效果是依次从左到右,从上至下排列,如下图所示:知道要换行,当然就用flex-wrap:wrap这个了,代表 flex 布局的子元素需要换行显示。.../div> 4 仔细看没毛病啊,我也没有设置对齐方式什么的,这个间距是哪儿来的呢?...stretch(默认):行将拉伸以填满容器的高度。

    33073

    剖析一些经典的CSS布局问题,为前端开发+面试保驾护航

    使用table标签(或直接将块级元素设值为布局使用justify-content:center 垂直居中 利用 line-height实现居display:table),再通过给该标签添加左右margin...(需要注意的是:vertical-align: middle使用的前提条件是内联元素以及display值为table-cell的元素)。 二、浮动布局的优点?有什么缺点?清除浮动有哪些方式?...="parent"> 三、 使用display:inline-block会产生什么问题?...CSS呈流式布局,div默认宽度填满,即100%大小,给outwrapper设置margin: 0 10px;相当于让左右分别减少了10px。...) 匿名表格单元格元素(元素的 displaytabletable-row、 table-row-group、table-header-group、table-footer-group(分别是HTML

    1.1K20

    第213天:12个HTML和CSS必须知道的重点难点问题

    使用Flex 只需要在盒子设置:display: flex; justify-content: center;align-items: center; 使用 CSS3 transform 盒子设置:...:table-cell 方法 盒子设置:display:table-cell; text-align:center;vertical-align:middle; Div 设置: display:inline-block...取值:left、right、both 3.2 元素高度塌陷问题 为什么要清除浮动,元素高度塌陷 解决元素高度塌陷问题:一个块级元素如果没有设置height,其height是由子元素撑开的。...对子元素使用了浮动之后,子元素会脱离标准文档流,也就是说,级元素中没有内容可以撑开其高度,这样级元素的height就会被忽略,这就是所谓的高度塌陷。...不推荐使用 方法四:div定义 display:table 原理:将div属性强制变成表格 优点:不解 缺点:会产生新的未知问题。

    2.3K20

    面试官:CSS 面试题集锦

    使用display:none来隐藏所有内容 display:none可以让网页中所有内容不显示,如代码、文字、链接、图片、div层,是推荐的内容隐藏方式。...再向上,从这个元素的元素开始向上找,没有找到一个 tagName 为 div 且 class 中有 ready 的元素,就把原来的元素从集合中删去。...大体来说HTML元素各有其自身的布局级别(block元素还是inline元素): 常见的块级元素有 DIV, FORM, TABLE, P, PRE, H1~H6, DL, OL, UL 等。...absolute 绝对定位 绝对定位(position:absolute),相对于级而言进行位置偏移,如果没有级或者没有进行定位,则继续往上一级寻找参照物,直至最终的浏览器窗口。...5.选择加载css 为什么提倡使用 translate() 而非 不是 absolute? translate()是transform的一个值。

    3.3K30
    领券