Я знаю, что кадры плохие. Однако я должен придерживаться их немного дольше. Моя проблема возникает из-за нестандартного атрибута border элемента frameset:
<frameset border="0">
...
</frameset>
Если я не использую этот атрибут, браузеры ставят пробел между каждым кадром. Если я использую атрибут, валидаторы HTML выдают ошибку о «неподдерживаемом атрибуте».
Теперь я слышу, как вы говорите "используйте его и игнорируйте валидатор", это нормально. Я думаю, что могу жить с одним предупреждением валидатора, и браузеры, кажется, не слишком беспокоятся об этом :)
Мой вопрос в основном о хитрости HTML. Как я могу установить границу в 0 и при этом оставаться совместимым с браузером? Думайте об этом как о упражнении для подобных проблем в будущем. Например я попробовал:
<frameset onload="this.border='0'">
и это не сработало.
Я пытался использовать таблицы стилей во внутренних фреймах, чтобы установить "border: 0; margin: 0; padding: 0", он тоже не работал. Похоже, что разрыв возник из неизвестного источника.
Я думал о написании на Javascript, как:
document.write('<frameset border="0">');
Но у меня есть догадка, что это все равно не подтвердится.
Можете ли вы придумать альтернативное решение?
Другие решения, которые не работали:
- @ Donut: атрибут frameborder для элементов frame или frameset.
- @ kangax: frameSetObj.setAttribute ('border', 0);