这是我的网站照片库的网址: http://www.mythrottle.net/community/gallery/678-jeets/photo?albumid=135&photoid=846
我正在努力找出为什么照片库没有在IE9或IE10中显示。它适用于Chrome和Firefox。我用Google搜索了一天,发现问题只出现在Gantry 4模板上。使用默认模板时没有问题。似乎Gantry less.css编译器搞砸了。我的网站使用Rocktheme Alerion和Tigra进行Jomsocial造型。任何人都可以帮助解决这个问题。
答案 0 :(得分:0)
出于某种原因,可能由于龙门中的某些东西,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文件的路径。
希望这有帮助
答案 1 :(得分:0)
@Lodder只是对解决方案的长篇评论:打开页面缓存后它无法正常工作,
$doc->addStyleSheet
将css添加到一个列表中,该列表稍后将被插入到调用jdoc include head的模板中;
如果您想使用条件注释(如果您打算使用缓存,则应该使用条件注释),您应该直接输出标记。
但是,由于IE10不会允许这一点(ms中的好人再一次尝试让我们的生活更轻松),像modernizr.js或How do I target only Internet Explorer 10 for certain situations like Internet Explorer-specific CSS or Internet Explorer-specific JavaScript code?这样的客户端解决方案就可以解决问题。我们的想法是使用浏览器的名称为html或body标签添加一个类,这样您就可以使用单个样式表来定位它,并在浏览器特定的规则前面加上
html.ie9 div.main...
因此,您可以使用javascript触发自定义行为来缓存一个页面并为所有人提供服务。此外,这将节省您的IE9和10一个额外的下载。这是一件好事,因为他们已经不得不处理IE。
同时查看样板http://h5bp.com,因为它在浏览器兼容性方面展示了几个巧妙的技巧,包括使用chromeframe。