CSS макет запутался в Firefox, но не в IE или Opera? - PullRequest
0 голосов
/ 10 июля 2010

По какой-то причине Firefox испортил следующий макет сайтов, он отлично работает в IE и Opera, хотя ...

http://87.194.141.33/bivakas/shop

Я пытался использовать firebug, чтобы найти недостающие divили что-нибудь в этом роде, но, к сожалению, безуспешно.Если кто-то захочет потратить пару минут, чтобы посмотреть, почему это происходит, я был бы очень признателен.

Спасибо !!

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

Начните с базового автоматизированного контроля качества разметки и CSS

... нет, поцарапайте это. Начните с не злоупотребляя таблицами для макета .

Opera предоставляет хорошее введение в веб-разработку с использованием современных методов .

1 голос
/ 10 июля 2010

Весь макет находится в таблице 8 на 9, необъяснимо обернутой в 2 деления (идентифицированные как "header" и "bvhead", не менее).

Появляется , что проблема заключается в несоответствии между количеством столбцов, от строки к строке и количеством строк из-за математических ошибок при использовании colspan и rowspan. Но, после нескольких минут попыток исправить это, я бросил это как плохую работу.

Рекомендации:

  1. На сайте есть множество ошибок, которые по-разному очищают разные браузеры. Проверьте HTML и исправьте ошибки. Аналогично проверить и исправить CSS .

  2. Если вы должны использовать таблицы, не оборачивайте весь сайт одним монстром! Минимизируйте побочные эффекты и проблемы взаимодействия, используя новую таблицу для каждого раздела.
    Потерять вводящие в заблуждение и посторонние div.
    Так что вместо:

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

    Используйте что-то вроде:

    <body>
        <table id="bvHeader">
            ... 
        </table>
        <table id="bvAnnoyingAnimation">
            ... 
        </table>
        <table id="bvMenu">
            ... 
        </table>
        <table id="bvBody">
            ... 
        </table>
        <table id="bvFooter">
            ... 
        </table>
    </body>
    

    Обратите внимание, что это позволяет различное количество столбцов от одного раздела к другому, является более семантически допустимым и облегчает будущую очистку макета таблицы.

  3. Вместо использования rowspan s, рассмотрите возможность использования таблицы в ячейке таблицы. Каким бы уродливым это ни было, оно имеет больше смысла для частей вашего макета и устраняет некоторые математические ошибки строки / столбца.

...