20

img将inline-block 元素转换为具有display: blockCSS 属性的块对象有什么缺点吗?

大多数时候,我希望它们成为block元素。inline我失去了任何有用的方面吗?(也许我没有看到一些有用的东西?)

默认情况下是否应该将所有图像转换为block元素?为什么它们根据规范是内联块元素?

PS我问这个问题是考虑通过定位和浮动以及周围元素进行布局。

4

4 回答 4

22

考虑到一个块会在换行后强制任何东西,只有一种情况会不好:

如果您打算在它旁边有另一个内联元素(文本、另一个图像、跨度等)

于 2012-10-31T05:34:31.200 回答
3

有一个缺点:如果您计划将“text-align:center”应用于父元素的图像水平居中,则无法将图像显示为块或内联块。

于 2018-03-17T15:23:28.250 回答
2

放入img { display: block; }您的 CSS 并忘记它。在极少数情况下,您需要一些不同的东西,写一个异常。

于 2016-12-12T18:25:25.253 回答
1

为块显示找到了一个 hack:“块”。

我有这张图片和想要作为内联的wavesurfer音频波。但是,显示:“块”;在 wavesurfer 的 js 中是不允许的。

我所做的是,将此cdn文件保存在本地,并将显示更改为内联并将位置更改为绝对,这解决了我的问题。应该在创建波浪元素的地方进行更改。

希望这可以帮助某人。感谢 wavesurfer 的创作者提供了如此出色的 js。

于 2017-12-05T10:16:00.793 回答