我有这个页面,并且有一些问题,即< 7和歌剧7.11
我希望This成为所有浏览器中的布局,而不是IE版本:ie 5.5和ie 6.0。
xhtml非常简单:
print "<div id=\"page\">
<div id=\"header\">
<ul id=\"nav\">
<li><a href=\"/\" class=\"first\">Címlap<div>Az oldal címlapja</div></a></li>
<li><a href=\"/blog\">Blogok<div>Minden bejegyzés</div></a></li>
<li><a href=\"/friss\">Friss tartalom<div>Aktuális témák</div></a></li>
</ul>
</div> <!-- header -->
<div id=\"main\"><div id=\"main-in\">
<div id=\"right\">";
do_boxes();
print "
</div> <!-- right -->
<div id=\"left\">";
do_content();
print"</div> <!-- left -->
</div></div><!-- main --> </div>";
从帖子和帖子中制作的内容如下:
<div class="post">
<h2><a href="/blog/2/252/newcastleben-betiltottak-a-ketreces-tojast">Newcastleben betiltották a ketreces tojást</a></h2>
<div class="author">warnew | 2008. october 16. 20:26 </div>
<p>Az angliai Newcastle Városi Tanácsa kitiltotta a ketreces baromfitartásból származó tojásokat az iskolai étkeztetésből, személyzeti éttermekből, rendezvényekről es a "hospitality outletekből".</p>
<p>A ketreces csirke- és pulykahúst még nem tiltották be, de vizsgálják a kérdést, ahogy a <a href="http://en.wikipedia.org/wiki/Halal">Halal</a> hús és a ketreces tojásból készült sütemények és tésztafélék tiltását is.</p>
<ul class="postnav">
<li><a href="/blog/2/252/newcastleben-betiltottak-a-ketreces-tojast%7D">Tovább</a></li>
<li><a href="/blog/2/252/newcastleben-betiltottak-a-ketreces-tojast#comments">Hozzászólások (0)</a></li>
</ul>
</div> <!-- post -->
和一个盒子是这样的:
<div id="ownadbox" class="box">
<h5>Viridis matrica</h5>
<a href="http://viridis.hu/blog/2/172/nepszerusits-minket" title="Népszerűsíts minket"><img src="http://viridis.hu/files/viridis_matrica_jobb.png" alt="viridis matrica"/></a>
</div>
我认为 - 有关css:
body {
background : transparent url(/images/design/background.png) repeat;
}
#page {
margin : 0px auto;
width : 994px;
background : transparent url(/images/design/header.jpg) no-repeat top left;
}
div#header {
width : 746px;
margin : 0px auto;
}
div#header ul#nav {
padding-top : 170px;
margin-left : 3px;
margin-right : 3px;
border-bottom : #896e51 solid 7px;
overflow : hidden;
}
div#header ul#nav li {
display : block;
float : left;
width : 120px;
margin-bottom : 7px;
}
div#main {
width : 746px;
margin : 0px auto;
}
div#main div#main-in {
padding : 30px 20px;
background : transparent url(/images/design/content-background.png) repeat-y top left;
overflow : hidden;
}
div#main div#main-in div#left {
width : 460px;
overflow : hidden;
float : left;
}
div#main div#main-in div#left div.post {
clear : left;
margin-bottom : 35px;
}
div#main div#main-in div#right {
width : 215px;
float : right;
}
div#main div#main-in div#right div.box {
margin-bottom : 30px;
clear : both;
}
实时版本是here,但是在我修复它之后,这是gona move - 这就是帖子中长代码背后的原因。
答案 0 :(得分:8)
你真的需要支持IE5.5吗?这似乎是不必要的痛苦。除非您明确地为使用浏览器的客户端执行此操作,否则您几乎可以假设每个人都使用IE6或更高版本。
IE6中的CSS支持是不稳定的,并且在早于IE的版本中几乎不存在。对于这些古老的浏览器,你最好的选择可能就是为那些
显示一个单独的网站版本编辑: 你可以做几件事来修补IE。条件注释可用于为各种版本的IE添加特定的javascript和CSS hacks,特别是以下文件,在缺少功能时添加了大量内容:
<!--[if lt IE 7]><script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE7.js" type="text/javascript"></script><![endif]-->
<!--[if lt IE 8]><script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE8.js" type="text/javascript"></script><![endif]-->
此外,确保IE不会跳入怪癖模式。有一些简单的javascript片段可以测试当前页面呈现的模式,但避免怪异模式的主要方法是确保 nothing (甚至不是<?xml
prolog标签)在doctype之前,并且doctype是严格的。
答案 1 :(得分:2)
IE从未因其CSS支持而闻名(它的臭名昭着 缺乏的支持及其错误)......但如果你真的想支持旧的IE版本我建议您使用conditional comments为旧版本的特定怪癖添加额外的CSS文件。但是在应用特定的css之前,尝试将纯HTML作为语义尽可能地使用,使其布局几乎不需要CSS,然后再将其设置为样式。
我还建议您查看Yahoo的YUI Reset CSS,以便更轻松地使批次具有一致的样式。实际上,当我使用它时,我实际上只需要为IE7添加3行CSS,以使大项目看起来不错(!)。顺便说一句:始终按标准编码,并先在Firefox,Opera或Safari中测试,稍后在IE中测试。
Opera 7很老了,我猜大多数Opera用户会比IE用户更频繁地更新浏览器(因为他们实际上已经选择了切换浏览器)。
答案 2 :(得分:2)
我可以在没有5.5的情况下生活,而歌剧7但是6很重要。
我已经使用了reset.css,我确定可以使用条件样式。
所以问题如下:即&lt; 7没有为ul#nav和div#main-in元素选择正确的高度。添加样式:高度:100%;他们解决了这个问题。
答案 3 :(得分:0)
查看有效的简化布局,例如在A List Apart上。 从这样的工作布局开始,然后根据自己的喜好进行编辑。我发现这比试图修复破损的布局更容易。
答案 4 :(得分:0)
嗯,你的CSS很好,甚至在W3C验证,问题在于旧的IE浏览器。你必须用丑陋的代码破解你的CSS才能使它在那些浏览器中运行。
或者您可以将这些浏览器的用户重定向到更简单的网站版本。
答案 5 :(得分:0)
首先修复validation errors。我知道期望IE 5.5遵循标准是愚蠢的,但它可能对Opera有所帮助。另外一件事是你真的是否需要支持这些古老的浏览器。
答案 6 :(得分:0)
为现在/未来的浏览器正确地做你的标记和CSS ...但是为了修复IE的特定版本,我建议制作一个单独的 css文件,并且仅conditionally referrencing them 。这样,您就不必使用黑客来捣乱好的设计或CSS文件。
另外,为IE6拍摄,但不要担心IE5。它现在不到市场的0.1%:http://www.w3schools.com/browsers/browsers_stats.asp