【问题标题】:CSS Background-Position Not Working?CSS 背景位置不起作用?
【发布时间】:2015-10-26 23:01:10
【问题描述】:

我有以下代码,我正在尝试添加一个属性以使背景居中,但它不起作用。

现有代码:

<div class="av-section-color-overlay" style="opacity: 1; background-color: #000000; background-image: url(http://andytraph.com/wp-content/uploads/2015/08/avatar.jpg); background-repeat: repeat;"></div>

现有的 CSS:

opacity: 1;
background-color: #000;
background-image: url("http://andytraph.com/wp-content/uploads/2015/08/avatar.jpg");
background-repeat: repeat;
}

我尝试添加的 CSS 是:

.av-section-color-overlay {
 background-position: center center !important;
  }

网站是http://andytraph.com/,我正在尝试将全屏头像图片居中

【问题讨论】:

  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。阅读How to Ask
  • @squidg 好的,现在还不清楚你想要什么,因为你引用的是 av-section-color-overlay div,而不是它的父级。由于您在其上设置了背景位置,因此您需要知道您将其定位在什么位置。让我们仔细看看它的父 div。请提供更多详细信息。
  • 抱歉,我现在添加了包含我要居中的背景图片的网站。
  • 我尝试设置background-repeat: no-repeat; background-position: center center;,结果看起来不错。我想你想要no-repeat,对吧?

标签: css background-position


【解决方案1】:

我建议不要重复背景,而是在容器中用信箱装箱,这样看起来会更好。中心作品:

{
opacity: 1;
background-color: #000000;
background-image: url(http://andytraph.com/wp-content/uploads/2015/08/avatar.jpg);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}

【讨论】:

    【解决方案2】:

    这里有一些相互竞争的问题:

    1. 您正在使用的元素中没有内容,因此背景图像被剪裁了。
    2. 背景图像非常大,因此如果不使用以下任一方法很难看到所需的居中位置 1) 将 DIV 元素设置为相对较大的高度/宽度,或设置 background-size CSS 属性。
    3. background-repeat: repeat 和background-position: center 的概念构成了相互竞争的欲望。您不能真正将图像居中并在两个方向上无限平铺。

    因此,鉴于上述情况,如果您应用一些进一步的样式修改,您将获得您所指定的所需行为:background-position: center。 (如果你想在两个方向上居中,你不需要明确声明两次——如果只有一个值,则暗示你想在两个方向上都使用它。)

    类似:

    .av-section-color-overlay {
        background-color: #000;
        background-image: url("http://andytraph.com/wp-content/uploads/2015/08/avatar.jpg");
        background-repeat: no-repeat;
        background-size: 100px;
        background-position: center;
        height: 200px;
        width: 200px;
    }
    

    和:

    <div class="av-section-color-overlay"></div>
    

    示例:https://jsfiddle.net/7mpqfd22/2/

    【讨论】:

    • 非常感谢您提供的信息。我试图添加您的代码作为示例,但似乎 CSS 正在被覆盖,因为没有任何变化?我在每一行都添加了 !important 。有什么想法吗?
    • @squidg,你能把你的 HTML 放到 JSFiddle 中吗?我上面包含的链接应该可以工作,因此如果您完全按照该链接进行操作,那么任何其他问题都应该是与您其他现有样式的交互。通常,您会希望尽可能避免使用 !important,因为该关键字会显式覆盖 CSS 选择器的常规规则,这会使问题排查变得困难。
    猜你喜欢
    • 2011-08-27
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    相关资源
    最近更新 更多