如何去除 div 内图片下方的多余空间?
要去除 div 内图片下方的多余空间,我们可以使用 CSS。以下 CSS 属性可用于去除这些空间 -
- vertical-align 属性
- line-height 属性
- display 属性
在继续之前,让我们先看看图片下方的多余空间是什么样的 -
div 内的图片下方可能会有多余的空间。这看起来很烦人,应该像下面这样去除。我们已将该空间标记为下方的额外空间 -

现在让我们看看修复方法 -
使用 Vertical-align 属性清除图像下方的额外空间
Vertical-align 属性决定了文本在一行或表格单元格内的对齐方式。以下是可能的值
baseline − 元素的基线与父元素的基线对齐。
sub − 元素的基线降低到适合下标文本的位置。
super − 元素的基线升高到适合上标文本的位置。
top − 在行内内容中,元素框的顶部与行框的顶部对齐;在表格中,元素框的顶部与表格单元格的顶部对齐。
text-top − 元素框的顶部与行中最高的行内框的顶部对齐。
middle − 元素的基线与定义的点对齐在行内内容中,元素框的底部与行框的底部对齐;在表格中,元素框的底部与表格单元格的底部对齐。
text-bottom - 元素框的底部与行内最低行内框的底部对齐。
percentage - 元素的基线升高或降低 line-height 属性值的给定百分比。
length - 元素的基线升高或降低给定的长度值。此属性允许使用负的长度值。此属性的长度值为 0 与值 baseline 具有相同的效果。
示例
现在让我们看一个使用 Vertical-align 属性清除图像下方多余空间的示例
<!DOCTYPE html> <html> <head> <title>Remove extra space</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { width: 613px; border: 4px solid gray; } .container img { vertical-align: bottom; } </style> </head> <body> <h1>Learn Billiards</h1> <div class="container"> <img src="https://www.cainiaomax.com/billiards/images/billiards.jpg"alt="Tutorial"> </div> </body> </html>
使用 line-height 属性清除图像下方的多余空间
line-height 属性修改构成一行文本的内联框的高度。以下是可能的值 -
normal - 指示浏览器将元素中行的高度设置为"合理"的距离。
number - 元素中行的实际高度等于此值乘以元素的字体大小。
length - 元素中行的高度等于给定的值。
percentage - 元素中行的高度按元素字体大小的百分比计算。
示例
现在让我们看一个使用 line-height 属性清除图像下方多余空间的示例
<!DOCTYPE html> <html> <head> <title>Remove extra space</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { width: 613px; border: 4px solid gray; line-height: 0%; } </style> </head> <body> <h1>Learn Billiards</h1> <div class="container"> <img src="https://www.cainiaomax.com/billiards/images/billiards.jpg"alt="Tutorial"> </div> </body> </html>
使用 display 属性清除图像下方的多余空间
display 属性影响元素最基本的呈现方式,有效地将元素归类为特定类型的元素。以下是可能的值:-
inline - 此值使元素生成一个行内框;例如,HTML 元素 STRONG、CODE 或 EM(以及其他元素)。该元素在显示时将生成一个或多个行内框。
block - 此值使元素生成一个块级框;例如,HTML 元素 P、H1 或 PRE(以及其他元素)。该元素在显示时将生成一个块级框。
list-item - 此值使元素同时生成一个块级框和一个列表项行内框。在 HTML 中,LI 元素是此类元素的唯一示例。
run-in − 在某些情况下,此值将导致元素被插入到后续元素的开头。如果元素 A 设置为 display: run-in,且后跟块级元素 B,则 A 将成为 B 的第一个行内级框。如果 A 之后的元素不是块级元素,则 A 将成为块级框。
compact − 在某些情况下,此值将导致元素被放置在后续元素的一侧。
marker − 此值将生成的内容设置为标记;因此,当块级元素上设置了 :before 和 :after 伪元素时,它只能与它们结合使用。
table − 此值使元素生成块级表格框。这类似于 HTML 元素 TABLE。
inline-table − 此值使元素生成内联级表格框。虽然 HTML 中没有类似的元素,但可以将其设想为一个可以出现在一行文本中间的传统 HTML 表格。
table-cell − 此值声明元素为表格单元格。这类似于 HTML 元素 TD。
table-row − 此值声明元素为一行表格单元格。这类似于 HTML 元素 TR。
table-row-group − 此值声明该元素为一组表格行。这类似于 HTML 元素 TBODY。
table-column − 此值声明该元素为一列表格单元格。这类似于 HTML 元素 COL。
table-column-group − 此值声明该元素为一组表格列。这类似于 HTML 元素 COLGROUP。
table-header-group − 此值声明该元素为一组单元格,该组始终显示在表格顶部,位于任何行或行组之前,但在任何顶部对齐的表格标题之后。这类似于 HTML 元素 THEAD。
table-footer-group − 此值声明该元素为一组单元格,始终显示在表格底部,位于任何行或行组之后,但在任何底部对齐的表格标题之前。这类似于 HTML 元素 TFOOT。
table-caption − 此值声明该元素为表格的标题。这类似于 HTML 元素 CAPTION。
none − 该元素不会生成任何框,因此既不会显示也不会影响文档的布局。
示例
<!DOCTYPE html> <html> <head> <title>Remove extra space</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> .container { width: 613px; border: 2px solid gray; } .container img { display: block; } </style> </head> <body> <h1>Learn Billiards</h1> <div class="container"> <img src="https://www.cainiaomax.com/billiards/images/billiards.jpg"alt="Tutorial"> </div> </body> </html>
相关文章
有用资源
html 参考教程 - 该教程包含有关 html 的更多信息:https://www.cainiaomax.com/html/

