Проблемы - расположение таблиц, iFrames, устаревание кода - PullRequest
2 голосов
/ 17 апреля 2009

Я работаю с простым макетом на основе таблицы, который использует iFrames, как показано в примере ниже. Этот код хорошо отображается во всех современных браузерах. Фреймы обычно заполняются длинными таблицами данных, но нет странного поведения или отсечения.

Меня беспокоит, что это выглядит как очень плохой взлом для меня. Макет на основе таблиц отвлекает внимание, если я беспокоюсь об устаревании всех атрибутов width = "100%" height = "100%" для тегов HTML и iFrame ?

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

Чтобы было ясно, я ищу мнения и предложения относительно того, является ли это решение адекватным в течение следующих нескольких лет, или я должен идти дальше и углубляться в хаки CSS.

Спасибо за любые отзывы.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled</title>
 <style type="text/css">
   <!--
    html, body
    {
      height: 100%;
      margin: 0px;
    }
    -->
 </style>
</head>
<body>
   <table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
    <tr>
        <td colspan="2"><div align="center">This is the header.</div></td>
    </tr>
    <tr>
        <td height="100%">
            <iFrame src="pane1.php" width="100%" height="100%" frameborder="0"></iframe>
        </td>
        <td height="100%">
            <iFrame src="pane2.php" width="100%" height="100%" frameborder="0"></iframe>
        </td>
    </tr>
    <tr>
        <td colspan="2">This is the footer.</td>
    </tr>
   </table>
</body>
</html>

Ответы [ 4 ]

2 голосов
/ 17 апреля 2009

Я не вижу ничего, что будет удалено из любого браузера в течение следующих нескольких (или нескольких) лет.

Тег таблицы является допустимым и необходимым набором тегов. Без этого невозможно отобразить табличные данные.

То, что произошло, было то, что люди начали использовать его для отображения очень сложных макетов, которые в конечном итоге было невозможно поддерживать.

Никто не собирается стрелять в тебя за то, что ты используешь столы так, как ты используешь. Это очень просто и выполняет всю работу, пока вы разрабатываете, так что считайте это просто итерацией. Итеративная разработка хороша. Как только вы разберетесь в макете на основе CSS, этот код достаточно прост для замены.

1 голос
/ 18 апреля 2009

Насколько мне известно, нет опасности того, что тег станет устаревшим. И у меня есть это из очень хорошего источника!

см. Являются ли IFrames (HTML) устаревшими?

1 голос
/ 17 апреля 2009

Вероятно, было бы лучше перейти к стилям CSS, если вы беспокоитесь об устаревании. Вы все еще можете использовать макет таблицы, если вам удобнее, хотя я предпочитаю плавающие div.

0 голосов
/ 17 апреля 2009

Устаревание означает, что функции не будут присутствовать в будущей версии (X) HTML. Пока что все браузеры поддерживают старые версии HTML, но я бы на это не полагался.

Все, что вы делаете, и многое другое можно сделать с помощью CSS, без использования хаков. Выполнение упражнения поможет вам сохранить соответствующие навыки. На странице, которую вы сейчас имеете, требуется два дополнительных HTTP-запроса для отображения; зависит ли это от того, сколько людей запрашивают страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...