Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 我在这个CSS布局中做错了什么?_Html_Css_Layout - Fatal编程技术网

Html 我在这个CSS布局中做错了什么?

Html 我在这个CSS布局中做错了什么?,html,css,layout,Html,Css,Layout,我在这里做了这个布局: 它使用了一些css3效果和其他东西,这些不是每个浏览器都支持的,但是如果它们不能正常工作的话 问题是,我真的试图在旧浏览器中保持基本功能 我没有使用任何负边距,据我所知,这会在IE 6中产生问题 但是如果我在IE6中看到它,布局就会变得混乱。这些元素完全乱七八糟 我在哪里失败得这么惨?我不需要对我所有的错误进行分析,因为我知道它远不是完美的。但是,是什么css指令错误到让IE6把一切都搞砸了呢 所以我的问题是: 哪些属性或属性组合会导致此类遗留不兼容 有没有什么好的解决

我在这里做了这个布局:

它使用了一些css3效果和其他东西,这些不是每个浏览器都支持的,但是如果它们不能正常工作的话

问题是,我真的试图在旧浏览器中保持基本功能

我没有使用任何负边距,据我所知,这会在IE 6中产生问题

但是如果我在IE6中看到它,布局就会变得混乱。这些元素完全乱七八糟

我在哪里失败得这么惨?我不需要对我所有的错误进行分析,因为我知道它远不是完美的。但是,是什么css指令错误到让IE6把一切都搞砸了呢

所以我的问题是:

  • 哪些属性或属性组合会导致此类遗留不兼容
  • 有没有什么好的解决办法(css重置、javascript修复)
增编:

这就是ie6中页面的外观

在西姆·维达斯的javascript修复之后

这就是它在现代浏览器中的外观

所有有位置的东西:绝对,放在顶部和左侧位置,而不仅仅是顶部。所有具有浮动和边距的内容,设置为显示:内联。这至少可以解决许多问题。我还建议重新设置样式,如Meyer的。对于IE6,您的代码看起来有点欠定义,这是一个挑剔的代码。

请将此内容放到页面上:

<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->

现在IE6中的页面看起来如何

项目主页:

入门:

我们开始

在您的常规样式表中添加一条规则-@neXib是正确的:

.headcontainer, .headbar {
    left:0
}
否则,即使在IE7中,您的站点也会出现问题

上面的片段,再加上我创建的这个巫毒魔尘,修复了IE6面临的紧迫问题:

<!--[if IE 6]>
<style type="text/css">
.headbar-spacer {
    width: 169px
}
.content div.right {
    padding-right: 0
}
.content h2 {
    margin: -30px 0 0 106px;
    width: 535px;
    padding: 0 0 12px 0
}
</style>
<![endif]-->

我评论道:

<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=xa-4c90156b67654829"></script>

这似乎让IE6从白色视频容器跳到了窗口的顶部。因此,如果需要,请将其包装在条件注释中

在IE6中进行上述更改后,您的站点看起来是这样的(忽略此图像的低颜色深度): 好多了

您可以做出的改进:

  • 尝试修复您的
    .png
    透明度问题
  • .headbar
    上创建CSS渐变的图像版本。目前,IE8没有梯度。IE对它自己的特殊类型的梯度有支持,您可以考虑提供这些规则(<代码> MS筛选器> />代码>过滤器> <代码> +代码>渐变< /代码>)
  • 冗余点:修复
    注意:第13行的/home/2xfun/html/application/views/vanilla.php中未定义索引:jsfix。显然你只是把它放在测试中。我建议用
    @
    作为行的前缀来抑制PHP错误
  • 踢IE6的脸。两次

我为你感到难过,因为你不得不关心IE6:(@xaxxon我同意你的看法,但至少应该可以使用它!困扰我的不是设计,而是功能……你有访客统计数据吗?IE6共享的是什么?validator.w3.org在你的标记中发现的一两个错误实际上可能会导致问题。当然,你也可以全部修复它们。:)哇+1!很好的建议!我不知道这些属性组合的效果。我会试试的!感谢重置的提示,我自己尝试过这样做,但很明显我失败了xDdisplay:inline for floated elements?你确定吗?它可能无法修复所有问题,但如果不能修复,我建议在你的上方添加重置样式首先是r样式,然后可能加载一个仅用于IE的样式表,在该样式表中,您将您认为是问题div(通常是“跳转”的div之前的div)设置为overflow:hidden。这将显示问题所在(通常是一些边距等)祝你好运。@Sime Vidas:如果你在IE6.JavaScript pwns中使用浮点布局,我测试的任何浏览器都不会有什么不同。IE Direct in Trident.looks很有希望,必须重新启动windows进行检查;)不幸的是,没有运气:/参见中添加的屏幕截图question@Joe你把它放在文件的开头了吗?另外,也许IE9.js对于IE6来说太多了。你可以试试IE7.js或IE8.js。我已经用链接更新了我的答案。是的,我已经更新了(你可以尝试),我将尝试其他脚本!感谢您提供额外的资源,非常好!特别是最后一点。非常感谢。为什么这是downvotet?我不知道为什么它被否决了——任何人都能看出这绝对是一个有用的答案。我只能猜测这是因为我太具体了,而没有回答你的实际问题:
我在哪里失败得这么惨?我不需要分析我所有的错误
哪些属性或属性组合会导致这种遗留不兼容性