0

今天,我尝试在一个古老的浏览器 IE6 中浏览我的 Joomla 网站。

所有元素看起来都很好,但我在启用了 SqueezeBox(Joomla 模态框)的页面中看到了一个长的水平滚动条。

为了找到问题,我编辑了模板并删除了标签旁边的所有代码<body>。再试一次,我看到了空白页面,带有一个关闭按钮和一个长滚动条。(截图

<body>内容:

<div tabindex="-1" style="z-index: 65555; opacity: 0;" aria-hidden="true" id="sbox-overlay"></div>
<div class="shadow" style="z-index: 65557;" aria-hidden="true" role="dialog" id="sbox-window">
    <div style="opacity: 0;" id="sbox-content"></div>
    <a aria-controls="sbox-window" role="button" href="#" id="sbox-btn-close"></a>
</div>

<body>款式:

color: #000000;
height: 100%;
margin: 0;
padding: 0;
text-align: center;

modal.css(SqueezeBox 样式表):

/**
 * SqueezeBox - Expandable Lightbox
 *
 * Allows to open various content as modal,
 * centered and animated box.
 *
 * @version     1.3
 *
 * @license     MIT-style license
 * @author      Harald Kirschner <mail [at] digitarald.de>
 * @author      Rouven Weßling <me [at] rouvenwessling.de>
 * @copyright   Author
 */

#sbox-overlay {
    position: absolute;
    background-color: #000;
    left: 0px;
    top: 0px;
}

#sbox-window {
    position: absolute;
    background-color: #fff;
    text-align: left;
    overflow: visible;
    padding: 10px;
    /* invalid values, but looks smoother! */
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

#sbox-window[aria-hidden=true],
#sbox-overlay[aria-hidden=true] {
    display: none;
}

#sbox-btn-close {
    position: absolute;
    width: 30px;
    height: 30px;
    right: -15px;
    top: -15px;
    background: url(../images/modal/closebox.png) no-repeat center;
    border: none;
}

.sbox-loading #sbox-content {
    background-image: url(../images/modal/spinner.gif);
    background-repeat: no-repeat;
    background-position: center;
}

#sbox-content {
    clear: both;
    overflow: auto;
    background-color: #fff;
    height: 100%;
    width: 100%;
}

.sbox-content-image#sbox-content {
    overflow: visible;
}

#sbox-image {
    display: block;
}

.sbox-content-image img {
    display: block;
    width: 100%;
    height: 100%;
}

.sbox-content-iframe#sbox-content {
    overflow: visible;
}

/* Hides scrollbars */
.body-overlayed {
    overflow: hidden;
}

/* Hides flash (Firefox problem) and selects (IE) */
.body-overlayed embed, .body-overlayed object, .body-overlayed select {
    visibility: hidden;
}

#sbox-window embed, #sbox-window object, #sbox-window select {
    visibility: visible;
}

/* Shadows */
#sbox-window.shadow {
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}

.sbox-bg {
    position: absolute;
    width: 33px;
    height: 40px;
}

.sbox-bg-n {
    left: 0;
    top: -40px;
    width: 100%;
    background: url(../images/modal/bg_n.png) repeat-x;
}
.sbox-bg-ne {
    right: -33px;
    top: -40px;
    background: url(../images/modal/bg_ne.png) no-repeat;
}
.sbox-bg-e {
    right: -33px;
    top: 0;
    height: 100%;
    background: url(../images/modal/bg_e.png) repeat-y;
}
.sbox-bg-se {
    right: -33px;
    bottom: -40px;
    background: url(../images/modal/bg_se.png) no-repeat;
}
.sbox-bg-s {
    left: 0;
    bottom: -40px;
    width: 100%;
    background: url(../images/modal/bg_s.png) repeat-x;
}
.sbox-bg-sw {
    left: -33px;
    bottom: -40px;
    background: url(../images/modal/bg_sw.png) no-repeat;
}
.sbox-bg-w {
    left: -33px;
    top: 0;
    height: 100%;
    background: url(../images/modal/bg_w.png) repeat-y;
}
.sbox-bg-nw {
    left: -33px;
    top: -40px;
    background: url(../images/modal/bg_nw.png) no-repeat;
}
@-moz-document url-prefix() {
    .body-overlayed {
    overflow: visible;
    }
}

怎么了?

4

2 回答 2

1

如果您的客户仍在使用 IE6,他们肯定习惯于看到看起来很糟糕的网站吗?这个滚动条有多糟糕?会影响可用性吗?如果用户仍然可以使用该网站,我建议告诉他们使用它,至少在他们升级浏览器之前。

如果他们真的无法升级并坚持要您解决问题,您可以尝试使用overflow:hidden防止滚动条出现。

但请注意,您网站上的 IE6 可能存在其他问题。事实上,几乎可以肯定有。如果用户一直坚持让你为他们修复网站,你可能会发现自己只为一个用户做了大量的工作。你现在应该问问自己,这个客户对你来说价值多少,以及你愿意花多少时间来支持他们。

于 2013-02-10T11:42:22.730 回答
0

在你的 CSS 代码中,试试这个:

#sbox-overlay {
    position: absolute;
    background-color: #000;
    left: 0px;
    top: 0px;
    right:0;
    bottom:0;
    overflow-x:hidden;
    overflow-y:auto;
}
于 2013-02-11T09:55:32.723 回答