当我在IE8的兼容模式中查看我的网站:http://www.testtrack.tv/时,水平滚动窗格变为垂直窗格。这不是凯文的演示网站的情况,所以它必须是我的CSS中的东西。
我正在使用jscrollpane示例中的默认css,添加了几个...我添加了white-space:nowrap。尽管我认为这是一个受支持的属性,但除了IE7之外,这在任何地方都很有效
/* Styles specific to this particular page */
.scroll-pane {
width: 100%;
height: 200px;
overflow: auto;
white-space:nowrap;
}
.horizontal-only {
height: auto;
max-height: 200px;
}
.thumbWrapper {
margin-right: 10px;
height: 150px;
position: relative;
width: 145px;
white-space: normal;
display: inline-block;
/*hack for IE7 to display as inline-block*/
zoom: 1;
*display:inline;
}
其中thumbWrapper类将图像及其标题包装成div。这可能是一个更好的li元素吗?
我的标记看起来像这样:
<div class="scrollWrapper">
<h2>Editor's Choice</h2>
<p>the TestTrack.Tv team’s pick of the hottest clips...</p>
<div id="cat-48" class="scroll-pane horizontal-only">
<div class="thumbWrapper">
<a href="http://www.testtrack.tv/fast-and-furious-5-movie-trailer/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0470.jpg' height='81' alt='thumb'/>
</a>
<br/><a href="http://www.testtrack.tv/fast-and-furious-5-movie-trailer/">Fast And Furious 5 – Movie Trailer</a>
</div>
<div class="thumbWrapper">
<a href="http://www.testtrack.tv/danny-macaskill-way-back-home/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0159.jpg' height='81' alt='thumb'/>
</a>
<br/><a href="http://www.testtrack.tv/danny-macaskill-way-back-home/">Danny MacAskill – “Way Back Home”</a>
</div>
<div class="thumbWrapper">
<a href="http://www.testtrack.tv/dakar-2011-carlos-sainz-red-bull-volkswagen-touareg/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0678.jpg' height='81' alt='thumb'/>
</a>
<br/><a href="http://www.testtrack.tv/dakar-2011-carlos-sainz-red-bull-volkswagen-touareg/">Dakar 2011 – Carlos Sainz – Red Bull Volkswagen Touareg</a>
</div>
<div class="thumbWrapper">
<a href="http://www.testtrack.tv/porsche-959-vs-ferrari-f40-bbc-top-gear/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0645.jpg' height='81' alt='thumb'/></a>
<br/><a href="http://www.testtrack.tv/porsche-959-vs-ferrari-f40-bbc-top-gear/">Porsche 959 vs ferrari F40 – BBC Top Gear</a>
</div>
</div><!--.scroll-pane-->
</div><!--.scrollWrapper-->
最终,我正在寻找一个修复程序,使其在IE7中水平显示,就像所有其他浏览器一样。
答案 0 :(得分:1)
我建议在滚动窗格中添加一个元素并明确设置它的宽度,而不是依赖于nowrap。正如你所说,UL将是一个很好的候选人。 e.g。
<div id="cat-48" class="scroll-pane horizontal-only">
<ul>
<li>
<a href="http://www.testtrack.tv/fast-and-furious-5-movie-trailer/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0470.jpg' height='81' alt='thumb'/>
</a>
<br/><a href="http://www.testtrack.tv/fast-and-furious-5-movie-trailer/">Fast And Furious 5 – Movie Trailer</a>
</li>
<li>
<a href="http://www.testtrack.tv/danny-macaskill-way-back-home/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0159.jpg' height='81' alt='thumb'/>
</a>
<br/><a href="http://www.testtrack.tv/danny-macaskill-way-back-home/">Danny MacAskill – “Way Back Home”</a>
</li>
<li>
<a href="http://www.testtrack.tv/dakar-2011-carlos-sainz-red-bull-volkswagen-touareg/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0678.jpg' height='81' alt='thumb'/>
</a>
<br/><a href="http://www.testtrack.tv/dakar-2011-carlos-sainz-red-bull-volkswagen-touareg/">Dakar 2011 – Carlos Sainz – Red Bull Volkswagen Touareg</a>
</li>
<li>
<a href="http://www.testtrack.tv/porsche-959-vs-ferrari-f40-bbc-top-gear/">
<img src='http://www.testtrack.tv/wp-content/uploads/2011/04/0645.jpg' height='81' alt='thumb'/></a>
<br/><a href="http://www.testtrack.tv/porsche-959-vs-ferrari-f40-bbc-top-gear/">Porsche 959 vs ferrari F40 – BBC Top Gear</a>
</li>
</ul>
</div><!--.scroll-pane-->
然后在javascript中:
$(function() {
// Calculate the width of the contents
var w = 0;
$('.scroll-pane li').each(
function()
{
w += $(this).outerWidth();
}
);
// Set the width of the UL
$('.scroll-pane>ul').css('width', w + 'px');
// Initialise jScrollPane
$('.scroll-pane').jScrollPane();
});
当然,您还需要一些CSS来使列表的行为类似于一组内联元素。而且你不需要你拥有的其他CSS。因此,完整的CSS应该类似于:
.scroll-pane {
width: 100%;
overflow: auto;
}
.scroll-pane ul
{
height: 150px;
margin: 0;
padding: 0;
}
.scroll-pane li
{
float: left;
padding: 0;
margin: 0 10px 0 0;
height: 150px;
width: 145px;
}
答案 1 :(得分:0)
当我希望元素表现为内联时,答案结果是不使用块级DIV。 IE7没有正确处理内联块声明。切换&#34; thumbWrapper&#34; SPAN的元素为我解决了这个问题。