CSS布局搞砸了火狐但不是IE或Opera?

时间:2010-07-10 17:37:36

标签: html css xml layout

出于某种原因,Firefox正在搞乱以下网站布局,但它在IE和Opera中工作得很好......

http://87.194.141.33/bivakas/shop

我曾尝试使用萤火虫找到丢失的div或类似的东西,但遗憾的是没有成功。如果有人愿意花几分钟时间看看为什么会发生这种情况,我将非常感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

markupCSS ...

的基本自动质量检查开始

......不,刮擦那个。从not abusing tables for layout开始。

Opera提供a good introduction to web development using modern techniques

答案 1 :(得分:1)

整个布局是一个8乘9的表格,莫名其妙地包含在2个div中(ID为“header”和“bvhead”,不少)。

出现由于使用colspan和{时出现数学错误,问题是列数,行与行数和行数不匹配{1}}。但是,在尝试修复它几分钟后,我把它作为一个糟糕的工作放弃了。

<强>建议:

  1. 该网站存在大量错误 - 不同浏览器以不同方式进行清理。 Validate the HTML并修复错误。同样validate and fix the CSS

  2. 如果您必须使用表格,请不要将整个网站包装在一个怪物中!通过为每个部分使用新表,最大限度地减少副作用和交互问题 失去误导和无关的div 所以而不是:

    rowspan

    使用类似:

    <body>
        <div id="header">
            <div id="bvhead">
                <table id="bvmaintable">
                    ... Entire site here!!!
                </table>
            </div>
        </div>
    </body>
    

    请注意,这允许从一个部分到下一个部分的不同数量的列,在语义上更有效,并且将来更容易清理表格布局。

  3. 不要使用<body> <table id="bvHeader"> ... </table> <table id="bvAnnoyingAnimation"> ... </table> <table id="bvMenu"> ... </table> <table id="bvBody"> ... </table> <table id="bvFooter"> ... </table> </body> ,而应考虑使用table-within-a-table-cell。虽然它很丑陋,但对于部分布局更有意义,并消除了一些行/列数学错误。