部分可扩展站点

发布于 2024-11-06 17:34:35 字数 518 浏览 0 评论 0原文

我正在尝试创建一个可扩展的网站,其中基本逻辑在此示例中说明:

http://pastehtml。 com/view/1eg2pr1.html

每当您调整浏览器窗口大小时,中间紫色框的数量就会发生变化。

但是有没有办法使顶部的绿色“徽标”框遵循这些框的宽度,如下图所示: http://imageshack.us/photo/my-images/198/testimg.jpg/

所以如果第一行有7个可见的紫色框,则绿色框应该与这些具有相同的宽度 - 如果第一行中有 10 个可见的框,则宽度为 10 个框

是否可以做到这一点,也许使用 jquery?我知道我可以使用“宽度:100&”在绿色框上,但这并不遵循紫色框的确切宽度:/

I'm trying to make a scalable site where the basic logic is illustrated on this example:

http://pastehtml.com/view/1eg2pr1.html

The amount of purple boxes in the middle changes whenever you resize your browser window.

But is there a way of making the green "logo" box in the top follow the width of these boxes like illustrated on this picture: http://imageshack.us/photo/my-images/198/testimg.jpg/

So if there is 7 visible purple boxes in the first row, the green box should have the same width as theese - and the width of 10 boxes if there is 10 visible in the first row

Is it possible to do that, perhaps using jquery? I know I can use "width:100&" on the green box, but that doesnt follow the exact width of the purple boxes then :/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

违心° 2024-11-13 17:34:35

这是一个应该可以完成您想要的操作的脚本:

function adaptTitleWidth() {
    // reset default style
    $(".box").css("background","purple");
    // get the first row of boxes (the first box and the boxes having the same offset().top
    firstRowBoxes = $(".box").filter(function() {
        return $(this).offset().top === $(".box:first").offset().top;
        // changes the first row of boxes background to blue
    }).css("background","blue");
    // changing .logo.width() : number of boxes on the first row * outer width of the boxes, margin included - the last margin-right
    $(".logo").width(firstRowBoxes.length * $(".box:first").outerWidth(true) - parseInt($(".box:first").css("margin-right")));
}

$(function() {
    adaptTitleWidth();
    window.onresize = function(event) {
        adaptTitleWidth();
    }
});

此处为 jsBin 示例

Here is a script that should do what you want :

function adaptTitleWidth() {
    // reset default style
    $(".box").css("background","purple");
    // get the first row of boxes (the first box and the boxes having the same offset().top
    firstRowBoxes = $(".box").filter(function() {
        return $(this).offset().top === $(".box:first").offset().top;
        // changes the first row of boxes background to blue
    }).css("background","blue");
    // changing .logo.width() : number of boxes on the first row * outer width of the boxes, margin included - the last margin-right
    $(".logo").width(firstRowBoxes.length * $(".box:first").outerWidth(true) - parseInt($(".box:first").css("margin-right")));
}

$(function() {
    adaptTitleWidth();
    window.onresize = function(event) {
        adaptTitleWidth();
    }
});

jsBin example here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文