【问题标题】:CSS Responsive background imageCSS 响应式背景图片
【发布时间】:2015-08-04 20:59:22
【问题描述】:

下午好!我需要一些 CSS 帮助。

我有一个背景图片,希望以网站正文为中心。我希望它看起来不错,不要太夸张或太小。到目前为止,这是我尝试过的。

body{
    background-color: #1e1e1e;
    padding: 20px 0 20px 0;
}

#container{
    max-width: 780px;
    background: url('/img/background2.png') #1e1e1e no-repeat 0px 12px fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    color: #d1d1d1;
}

它几乎可以工作。当浏览器窗口全屏时,背景图像似乎向左拉。当浏览器窗口较小时,它非常适合。在像我的 MotoX 这样使用 chorme 的手机上,它被炸得非常大,而不是看起来合理的比例。

background-size: contain; 离我想要的结果更远。

这是 ref 的 HTML。我也把它扔到我的服务器上http://jasontolhurst.com

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Jason Tolhurst</title>
    </head>

    <body>
        <div id="container" class="container-fluid">
            <header class="header clearfix">
                <div class="container-fluid">
                    <ul class="list-inline pull-right">
                        <li>
                            <a target="_blank" href="http://stackoverflow.com/users/4490365/squeegy"><img style="max-width:23px" src="/img/stackoverflow.png" /></a>
                        </li>
                        <li>
                            <a target="_blank" href="https://github.com/squeegy06"><img style="max-width:23px" src="/img/github.png" /></a>
                        </li>
                        <li>
                            <a target="_blank" href="https://www.linkedin.com/pub/jason-tolhurst/91/9b/775"><img style="max-width:23px" src="/img/linkedin.png" /></a>
                        </li>
                    </ul>
                </div>
            </header>
            <div class="container-fluid">
                <div class="jumbotron">
                    <div class="container-fluid">
                        <h1>Jason Tolhurst</h1>
                        <p class="lead">Professional PHP developer and programming enthusiast</p>
                    </div>
                </div>
            </div>
            <div id="content" class="container-fluid">
                <div id="about-me" class="col-md-12">
                    <h2>About Me</h2>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                </div>
                <div id="projects" class="col-md-12">
                    <h2>Projects</h2>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                </div>
                <div id="contact" class="col-md-12">
                    <h2>Contact Me</h2>
                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
                </div>
            </div>
            <footer>
                <link href='http://fonts.googleapis.com/css?family=Source+Code+Pro|Droid+Serif|Montserrat' rel='stylesheet' type='text/css'>
                <link rel="stylesheet" href="/css/bootstrap.min.css">
                <link rel="stylesheet" href="/css/bootstrap-theme.min.css">
                <link rel="stylesheet" href="/css/screen.css">

                <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
                <script src="/js/bootstrap.min.js"></script>        
            </footer>
        </div>
    </body>
</html>

谢谢!

【问题讨论】:

  • 为什么不把背景图放在body上呢?
  • 你听起来很想拥有它为background-position: 50% 50%;
  • @AmmarCSE 我们最初尝试过,我们必须使用background-position: center,虽然它在全屏时看起来不错,但当您在较小的窗口中查看时,它会有点奇怪。
  • 您还可以设置媒体查询并根据浏览器大小更改background-position。
  • @nikkwong 如何进行媒体查询?我不太懂 CSS。

标签: html css


【解决方案1】:

使用background-position 告诉background-image 在哪里 作为背景。在您的情况下,如果您希望背景图像直接位于应用它的元素的中心,则需要50% 50%。其中,0% 0% 将图像相对于其元素的左上角定位,100% 100% 将图像定位在其元素的右下角。

所以background-position: 50% 50%;

请务必注意,使用 media-query 将允许您在不同的浏览器尺寸下应用不同的 CSS 显示属性/值。这将允许您将某个 CSS 属性/值微调为某个显示尺寸。

阅读更多:

background-position

https://developer.mozilla.org/en-US/docs/Web/CSS/background-position

和

media-query

https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

【讨论】:

  • 背景图片不在正文上,而是整个网站内容所在的容器,所以这并没有给我想要的。
猜你喜欢
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 2015-04-12
  • 2013-04-21
  • 1970-01-01
  • 2012-09-18
相关资源
最近更新 更多