这是我的网站图片库的url:http://www.mythrottle.net/community/gallery/678-jeets/photo?albumid=135& photoid = 846
我正在努力找出为什么照片库在IE9或IE10中不显示。它适用于Chrome和Firefox。我在谷歌上搜索了一天,发现这个问题只出现在Gantry 4模板上。使用默认模板时没有问题。似乎是Gantry less.css编译器搞砸了。我的网站是使用Rocktheme Alerion和Tigra的Jomsocial造型。任何人请帮助解决这个问题。
由于某种原因,可能是由于在Gantry的东西,宽度和高度被设置为IE9的0px
。
在你的模板文件夹中,应该有一个CSS文件,很可能叫做ie.css.
如果没有,创建一个新的CSS文件,并添加以下代码:
.photoDisplay img {
left: 175px;
top: 120px;
width: auto;
height: auto;
}
然后在模板文件夹中的index.php中,在<head>
中添加以下代码:
<!--[if IE 9]>
<?php
$doc = JFactory::getDocument();
$doc->addStyleSheet(JURI::root() . "templates/rt_alerion/css/custom.css");
?>
<![endif]-->
显然要将路径更改为保存css文件的位置。
希望能有所帮助
只是@Lodder对解决方案的长评论:它将不工作与页面缓存打开,
$doc->addStyleSheet
将CSS添加到一个列表中,该列表稍后将被插入到调用jdoc include头的模板中;
如果你想使用条件注释(如果你计划使用缓存,你应该这样做),你应该直接输出标记。
但是由于IE10不允许这样(再一次在ms的好家伙试图让我们的生活更容易),客户端解决方案,如modernizr.js或我如何只针对Internet Explorer 10的某些情况,如Internet Explorer特定的CSS或Internet Explorer特定的JavaScript代码?会有效果的。我们的想法是在html或body标签中添加一个带有浏览器名称的类,这样您就可以在单个样式表中用
作为浏览器特定规则的前缀来定位它。html.ie9 div.main...
所以你可以缓存一个页面并为所有人服务,用javascript触发自定义行为。此外,这将节省您的IE9和10一个额外的下载。这是一件很好的事情,因为他们已经不得不处理IE了。
还可以查看示例http://h5bp.com,因为它展示了浏览器兼容性领域的几个巧妙技巧,包括使用chromeframe。