用于在中心对齐图像的 CSS

Posted

技术标签:

【中文标题】用于在中心对齐图像的 CSS【英文标题】:CSS for aligning image in the center 【发布时间】:2016-01-28 00:44:42 【问题描述】:

我在我的 WordPress 博客的小部件中放置了一张图片。我希望图像居中,因为它比它所在的侧边栏小。

我目前使用以下代码:

<img style="display: block; margin-left: auto; margin-right: auto; padding-bottom: 10px; width: 150px; height: 155px;" src="path">

但图像左对齐。

我做错了什么?

非常感谢!

【问题讨论】:

It is probably something else that is causing the issue 是否有text-align:leftfloat:left 可能对其产生影响 我不使用 WordPress,但请检查图像是否从之前定义的另一个规则中继承 float:left 发布您遇到的问题的网页链接。 这个(非)工作示例将不胜感激,因为 Ionut 提到,css 本身应该可以工作,正如 potashin 的小提琴所证明的那样。可能会干扰的是继承的样式或全局 css,如果我们有一个工作示例,这两者都很容易检查 【参考方案1】:

尝试margin: 0 auto 而不是单独声明它们。您也可以尝试将 text-align: center 添加到它的容器或父 div 中

【讨论】:

【参考方案2】:

我会给你两个解决方案

    你必须给父 div 标签宽度:根据需要,即 75% 到 100%。 为img标签写css:margin-left:250px或更多。

    在css下方添加图片position relative; margin-left: 250px或更多;

祝你好运

【讨论】:

【参考方案3】:

在包含图像的 div 上使用 text-align: center;

.siteorigin-widget-tinymce.textwidget
  text-align: center;

【讨论】:

【参考方案4】:

因为每个人都使用类似的东西添加了答案。我决定与大家分享这个。您可以将此解决方案用于x (horizontal)y (vertical) 轴的中心图像因为这就是问题标题所说的。这在flexbox 上中继。

<div id="imageBox">
  <img src="my-image.png"  />
</div>

使用flexbox

#imageBox

    display:flex;
    flex-direction:column;
    justify-content:center; 
    width: 400px;
    height: 400px;


#imageBox img

    margin: 0 auto;  /* this is where magic will happen!! */

这是上述方法的DEMO

如果您想仅水平居中使用flexbox,只需省略img 的样式并设置以下内容。

#imageBox

    display: flex;
    flex-direction: row;  /* changed from column to row  */
    justify-content: center;

请注意,我已将 flex-direction 属性从 column 更改为默认设置 row。如果您不指定它仍然可以工作。将其设置为column 将使其垂直居中。

在使用 flexbox 时应牢记一些事项。

flexbox is not supported in older IE versions 即 IE 父容器(在这种情况下为#imgBox)应该有一定的高度和宽度,否则图像将不会在某个轴上居中。这也是 margin: 0 auto 工作所必需的,即没有width(不是百分比),margin: 0 auto 属性在CSS 中不起作用。

替代方法:

如果您确实想依赖 flexbox,那么这也不是什么难事。图片在网页上本质上是inline,但它们仍然可以有widthheight,因此它们可以使用text-align 属性水平居中,即使用上面的示例......

#imageBox 

    text-align: center;

但是它不会垂直居中img。在这种情况下,单独的Vertical-align 不会使图像垂直居中。为此,您可以check this post here. 那里很好地解释了。

您也可以使用display: tabledisplay: table-cell 并在table-cell 上应用text-align: centervertical-align: middle 以使内容在两个轴上居中,但除非确实有必要,否则我不推荐这些。

【讨论】:

【参考方案5】:

假设您的子主题中有正确的 WP 特定 CSS,试试这个:

<img src="path_to_image_copied_from_media_library"    class="aligncenter size-thumbnail" />

size-thumbnail 允许您为注册的缩略图大小的图像使用默认样式。如果您开始为单个图像添加 CSS 规则,您往往会破坏整个网站的样式一致性。

【讨论】:

以上是关于用于在中心对齐图像的 CSS的主要内容,如果未能解决你的问题,请参考以下文章

css 中心对齐图像

如何将图像对齐到中心? [关闭]

在画廊宽度<767 CSS Bootstrap3上对齐中心图像

如何左对齐和垂直对齐标题中的图像并将文本水平保持在div的中心[重复]

如何对齐图像中心的文本

居中对齐的图像与 CSS 中的位置冲突