javascript - 无缝连接可重复和不可重复的背景

标签 javascript html css background repeat

我有一个 700x300 的背景在主要内容 div 中无缝重复。现在,我想在 content-div 的底部附加一个 div,其中包含一个不可重复的不同背景图像,并与其上方的可重复背景无缝连接。从本质上讲,不可重复图像看起来就像可重复图像的最后一部分。

由于图案的性质,除非背景图像的完整 300 像素高度在内容 div 背景的最后一次重复中可见,否则下方 div 中的背景将不会无缝连接。基本上,我需要内容 div 的高度在任何情况下都是 300px 的倍数。解决此类问题的好方法是什么?

我已经尝试在加载页面时调整 content-div 的大小,但这仅在内容 div 不包含任何调整大小的动态内容时有效,这不是我的情况:

function adjustContentHeight()
{
    // Setting content div's height to nearest upper multiple of column backgrounds height, 
    // forcing it not to be cut-off when repeated.

    var contentBgHeight = 300;
    var contentHeight   = $("#content").height();
    var adjustedHeight  = Math.ceil(contentHeight / contentBgHeight);

    $("#content").height(adjustedHeight * contentBgHeight);
}

$(document).ready(adjustContentHeight);

我正在寻找的是一种响应 div 大小调整事件的方法,但是 doesn't seem to be such a thing .另外,请假设我无法访问控制 content-div 中内容大小调整的 JS,尽管这可能是解决问题的一种方法。

我正在考虑的另一个可能的解决方案是根据 content-div 的高度将底部 div 中的背景图像偏移一定量。同样,缺少的部分似乎是响应调整大小事件的能力。

最佳答案

另一种方法是根据内容 DIV 的大小计算底部和顶部 DIV 的 background-position 样式。您可以使用负数位置将一个的底部与另一个的顶部对齐。

另一种方法是使用分层 DIV 方法,其中顶部、内容和底部都是包含背景的父 DIV 的子项。

这些方法的好处是它不会仅仅为了管理背景而改变内容 DIV 的自然呈现。

示例:http://bin.googlecode.com/svn/trunk/css/repeating-bg-content.html

关于javascript - 无缝连接可重复和不可重复的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484771/

相关文章:

javascript - 使用javascript使文本淡出

javascript - 向请求回调添加额外的参数。

javascript - 为什么 line-through 仅适用于此 jQuery 待办事项列表中的所有其他元素?

javascript - 获取 div 内的子元素? javascript

html - 单击后包含 HTML 图像大小

html -::首字母选择器 - IE11 与 Firefox 相比具有不同的布局

javascript - AngularJS 在自定义服务中使用 Angular 模块

javascript - 使用 jQuery/JavaScript 在图像上插入/显示对象的属性

css - firefox 的条件 css 语句

css - ASP.NET 网页的每页 CSS