保持背景图像不在CSS中移动或平铺

use*_*205 5 html css background

我试图获得一个静止不动的背景,同时文本滚动它并使图像居中并使其不会平铺或重复.现在,我可以得到它,但不是两个.目前我的样式表以这种方式处理它.

{
background: url(LOCATION OF PIC FILE) repeat fixed;
height: 610px;
text-align: center;
margin: 0 auto;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

据我所知,身高:610px; 限制文本可以向上滚动的距离,我希望保留.我试图改变"重复固定"部分,但我没有得到我想要的结果.我试过这个......

{
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
height: 610px;
}
Run Code Online (Sandbox Code Playgroud)

...在HTML中使用它..

<div id="intro">
<img src="IMAGE SOURCE" width="100%" height="100%">
</div>
Run Code Online (Sandbox Code Playgroud)

但这并不能保持背景固定......

任何帮助,将不胜感激.

小智 7

在看了你的CSS之后,我注意到一些冲突可以通过一些调整来解决.首先,我绝对建议您使用浏览器Web开发工具(例如Firebug)进行更改和调整.我发现它可以节省您的耐心和挫败感.

我遇到的解决方案如下:

.body{
    background-image: url('../images/go_here.png');
    background-repeat:repeat-x;
    background-attachment:fixed;
    background-position: left top;
    position:absolute;
    height:610px
    width: ?px;
    margin:0;
   }
Run Code Online (Sandbox Code Playgroud)

如果你想让背景水平重复,那么使用background-repeat:x-axis; 垂直,背景重复:y轴; 为了确保背景不滚动,请使用background-attachment:fixed;.背景位置应使用两个单词或两个数字测量值(例如,中心/左上/右上/右中/左中/右下或0px 0px).因为你想要背景有一个高度,我假设一个宽度; 元素的位置必须是绝对的.如果您决定使用浮动,则主容器或背景必须是绝对的.

我的建议是,如果您希望将文字附在背景上,那取决于您.根据我的经验,我发现最好将文本与背景分开.从长远来看,这只会减少头痛.我会将文本编码如下:

  .text{
       text-align: center;
       overflow: hidden;
       height: 610?px;
       width: ?px;
       }
Run Code Online (Sandbox Code Playgroud)

至于img src和background-image的用法,根据我的经验,我发现它们存在冲突.出于某种奇怪的原因,除非标签之外有单词或短语,否则img src标签将无效.通过使用两者,img src将覆盖后台css元素.我发现img标签在CSS中更难操作.它是可行的,但是执行的噩梦.

例:

     <div><img src="http://www.example.com">Example</div> 
Run Code Online (Sandbox Code Playgroud)

根据我的经验,我发现img src与text-indent一起工作:-9999px; 或显示:无;.除非标签或元素附加到标签,否则标签将无法使用.文本缩进导致单词(即示例)被推离屏幕.显示:无; 导致该单词看起来不可见,但如果突出显示则会出现在图像上方.(如果这没有意义,我道歉.我总是可以澄清.)

至于HTML标记,我要么使用img标签,要么只使用div标签.HTML标记:

    <html>
     <body>
      <div class="text">I put my text here.</text>
     </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

让我知道这个是否奏效.我很抱歉这变得如此之久.我并不打算这样做.如果您遇到任何问题或需要更多说明,请告诉我.我不介意帮忙.


pud*_*per 0

我认为你所缺少的是你拥有的

    overflow: hidden;
Run Code Online (Sandbox Code Playgroud)

在你的背景上不允许div滚动,除非你在你的css中打开了哪个div属于哪个div。

如果你想在你的 div 上隐藏溢出那么没问题,但是它会在上面放置滚动条。

查看此链接