【问题标题】:positioning a background image using css/javascript使用 css/javascript 定位背景图像
【发布时间】:2014-11-03 18:51:18
【问题描述】:

我真的是 html/css/javascript 的新手,我需要一些关于我正在尝试设计的网站的帮助。

我的网址是这个:http://www.wideconcept.com/test2/test.html

这是一个全页背景网站,背景图片是响应式的。问题是当用户单击“照片”链接,然后单击“1”时:作为新背景显示在屏幕上的图像未定位为原始背景图像,并且页面高度增加(用户现在可以向下滚动)。

如何更改 html/css 代码,以便在用户单击第一张图片时,以与背景图片相同的方式显示它?

谢谢!

编辑-更具体地说:我的主要问题是,当我单击第一张照片链接时,图像的显示位置和尺寸与原始背景图像不同,即使其 css 属性相同作为原始背景 css 属性。

【问题讨论】:

  • 你的设计对我来说似乎不是非常初学者的设计师..(看起来像专业设计师),所以,把你的具体问题代码贴在这里,所以我们可以帮助你...
  • @user3791587 请用特定问题和代码重新格式化您的问题,否则您的问题将被关闭,没有人会帮助您...
  • 由于 OP 没有回应,我将投票赞成关闭问题....
  • @user123456789987654321 哦!它没有在 Firefox 中滚动,但我只是在 chrome 中检查了它并找到了你所说的滚动图像的问题,我解决了这个问题,但是由于 OP 没有回复我们,我无法发布答案...
  • @user3791587 让问题更清楚,只有 halbano 认为他理解问题

标签: javascript html css


【解决方案1】:

我刚刚意识到你的设计有一些背景图像的滚动位置(这在 Firefox 中似乎很好,但在 chrome 中却不行)

解决问题:

img { //line no. 375
    display: block;
    height: 1px;/*this fixes your bug*/
}

我发现的另一个问题是你的 id 为 background 的 div,所以在#background 中添加以下规则:

#background {
z-index: 1; /* to fix the layer bug*/
}

【讨论】:

  • user3791587 这是解决问题的最简单方法
  • 它让事情变得更好,但用户仍然可以滚动一点(至少在 chrome 中),而且新的背景图像不会像原始背景那样使用原始宽度/高度比率进行缩放.
  • “z-index: 1;”在 #background 中使图像不出现(至少在 chrome 中)。
  • 因为#background-image 中的图像仍然存在,并且您没有动态使用#background 作为背景图像与您必须更改的javascript 并且效果很好,我已经测试过...
  • 这是我的第一个问题,我需要花费数小时来帮助您,请尝试使用 javascript 更改背景图像....
【解决方案2】:

我认为你可以这样定义主要背景:

body{

 overflow: hidden;
 position: absolute;
 min-height: 100%;
 width: 100%;
 height: auto;
 top: 0;
 left: 0;
 background: url(assets/bg100.jpg) no-repeat center center;
 background-repeat: no-repeat;
 background-position: center center;
 background-attachment: fixed;

 #Add the browser prefixed CSS:

 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 #And
 background-size: cover;

}

然后当用户单击照片按钮时,通过 jQuery/javascript 更改背景图像 url。 例如,使用 jQuery 这应该类似于:

<script type="text/javascript">
    $(document).ready(function() {
        $('body').css('background-image', 'url(../images/backgrounds/header-top.jpg)');
    });
</script>

希望对你有帮助。

【讨论】:

  • 你能具体点吗?你想解决什么问题?
  • 用户显示的后台问题,不是吗?第一次点击照片也会重新定位初始背景图像。
  • @halbano 他并没有试图结束这个问题,只是不清楚用户的问题是什么。
  • 更具体地说:我的主要问题是,当我单击第一张照片链接时,图像的显示位置和尺寸与原始背景图像不同,即使它的 css 属性也是如此与原始背景 css 属性相同。
  • 也许我很困惑,但在这种情况下,问题对我来说很清楚。确实,用户没有显示任何可能的解决方案和替代方案或类似的东西。此外,我认为每个问题的定义都可能或多或少清楚,具体取决于旁观者。你这么认为,我必须删除我的“问题”吗?
【解决方案3】:

正如哈尔巴诺所说,问题出在&lt;div id="background"&gt;&lt;div id="background-image"&gt;

您可以通过以下方式修复它:

<div id="background background-image"></div>

Background div 上执行此操作。

图像会突然下降一点,但这只是用 css 修复的。还会弹出一个带有按钮的菜单。显然 manu 已经在那里了,但我在 Chrome 中看不到它。

祝你好运

【讨论】:

  • 试试看,它会显示一个菜单,并且滚动条会消失
  • 等一下,我还没说我多次使用该ID,我已经将背景图像ID与背景ID放在同一个div中,并从原来的div中删除了ID
  • 这是怎么回事? id="背景背景图像"
  • 我们不能做 id="background background-image" !!!请尝试我的回答并告诉我这是否解决了您所看到的问题...
  • 它起作用的唯一原因是浏览器对你很好。 ID 中不应有任何空格。这是不好的和错误的,你根本不知道它会如何或在哪里破坏东西。 w3.org/html/wg/drafts/html/CR/dom.html#the-id-attribute
猜你喜欢
  • 2012-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多