【问题标题】:Site background image centered and fixed?网站背景图片居中并固定?
【发布时间】:2012-12-14 20:48:38
【问题描述】:

我正在一个具有固定宽度 div 居中的网站上工作,我希望在 div 的任一侧都有两个设计,我可以使用两个 div 来实现。问题是我这样做的方式,这些图像会增加站点宽度,如果窗口太小,会导致出现水平滚动条。即使整个内容 div 都适合屏幕。

CSS

.container {
    margin: 0 auto;
    width: 500px;
}

.span {
    margin-right: 0;
    width: 500px;
}

.logo {
    margin-top: 25px;
}

.logo-img {
    height: 60px;
    left: -21px;
    position: relative;
}

.swirls {
    height: 0px;
}

.left-swirls {
    position: relative;
    top: -50px;
    right: 100px;
    width: 188px;
    z-index: -1;
}

.right-swirls {
    position: relative;
    top: -50px;
    left: 215px;
    width: 200px;
    z-index: -1;
}

.nav {
    background-color: #0ff;
}

.content {
    background-color: #00f;
    height: 200px;
}

HTML

<div class="container">
        <div class="span logo">
            <img src="http://imageshack.us/a/img839/2507/logongv.png" class="logo-img"/>
        </div>
        <div class="span swirls">
            <img src="http://imageshack.us/a/img831/3254/leftswirls.png" class="left-swirls" />
            <img src="http://imageshack.us/a/img600/7424/rightswirls.png" class="right-swirls" />
        </div>
    <div class="span last nav">
        Nav Bar
    </div>
    <div class="span content">
        Body content
    </div>
</div>

可以在此处查看问题示例:http://jsfiddle.net/e4j6b/8/

我正在尝试使背景图像相对于 div 而不是浏览器的侧面居中。

有没有办法让背景图片像 div 一样居中,margin: 0 auto?

【问题讨论】:

    标签: css background position


    【解决方案1】:

    如果您希望 .left-swirls 和 .right-swirls 不增加文档的宽度,那么它们应该是背景图像。 (对于现代浏览器,多个背景图像可以正常工作。)

    示例:http://jsfiddle.net/MbGSP/1/

    body {
      background: url(http://imageshack.us/a/img831/3254/leftswirls.png) center center no-repeat,
                  url(http://imageshack.us/a/img600/7424/rightswirls.png) center center no-repeat;
    }
    

    您可以将背景图像水平和垂直居中,并使用center center 作为位置。

    【讨论】:

    • 没错,我试图将它们作为背景图像,但这样做有问题。如果浏览器展开,图像会紧贴边缘,因为它们是左右定位的,而不是相对于主要内容 div 定位的。
    • 背景图片是防止它们影响文档流程的最佳解决方案。您希望图像在不同大小的窗口中表现如何?您可以在任何元素上指定背景图像,并将位置更改为以像素或 % 为单位,而不是左侧或中心。
    • 我希望背景图像始终紧贴 div,但如果他们调整浏览器窗口的大小使其刚好适合内容 div,则不会有水平滚动条。在我的示例中,如果您调整框架的宽度,您将看到“背景图像”与内容 div 保持一致。是否可以在页面上居中放置背景图像,使其与设置为 margin: 0 auto; 的 div 对齐?
    • 您可以水平和垂直居中背景图像,center center 用于位置。
    • 天哪!这正是我想要的,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多