【CSS】display:table 中的单元格被img元素撑开

<!DOCTYPE html>

<html lang="zh-cn">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title></title>

<style>

div,img {

padding: 0;

margin: 0;

box-sizing: border-box;

}

body {

background-color: black;

}

.container {

display: table;

border-spacing: 3px;

}

.row {

display: table-row;

height: 50px;

}

.cell {

display: table-cell;

width: 50px;

background-color: green;

}

img {

width: 50px;

height: 50px;

}

</style>

</head>

<body>

<div class="container">

<div class="row">

<div class="cell"></div>

<div class="cell"></div>

<div class="cell"></div>

<div class="cell"><img src="img/big_8.jpg" alt=""/></div>

</div>

</div>

</body>

</html>

是这样的,在使用了如上的布局后,我发现,尽管表格单元已经被我限制为 50px * 50px,但是,img元素里的图片还是会把表格的高给撑开,变成了56px,,这是为什么呢?div的padding和margin已经被我设置为0了,还是没法解决问题.
图片描述
图片描述

附上测试文件
http://pan.baidu.com/s/1o6A2nb0

ps:最后我已经通过让img元素绝对定位来避免撑开单元格,不过我还是想知道原因...

回答:

把 img 打成块试试 display:block 因为 img 是inline 元素。

回答:

块框高度的影响链条为内联框->行框->块框,行框里面,图像对准了baseline,而底部留空,导致了这样的问题。详见这里

回答:

.cell 样式添加 font-size:0; 也可以

以上是 【CSS】display:table 中的单元格被img元素撑开 的全部内容, 来源链接: utcz.com/a/154491.html

回到顶部