Атрибут frameborder тега <frameset>
Описание
Атрибут frameborder управлял отображением границ между фреймами в элементе <frameset>. Это устаревший атрибут, который использовался в HTML4 для визуального оформления фреймовых конструкций.
<frameset cols="30%,70%" frameborder="0">
<frame src="menu.html">
<frame src="content.html">
</frameset>
Допустимые значения:
| Значение | Эффект |
|---|---|
1 |
Границы фреймов видны (по умолчанию) |
0 |
Границы фреймов скрыты |
Современные CSS-аналоги:
<div class="modern-layout">
<aside>Меню</aside>
<main>Контент</main>
</div>
<style>
.modern-layout {
display: grid;
grid-template-columns: 30% 70%;
}
/* Вариант 1: Без границ */
.modern-layout {
gap: 0;
}
/* Вариант 2: С границами */
.modern-layout {
gap: 1px;
background: #ccc;
}
.modern-layout > * {
background: white;
}
</style>
Проблемы устаревшего подхода:
- Ограниченный контроль над внешним видом границ
- Несоответствие современным стандартам HTML5
- Невозможность тонкой настройки стилей
- Отсутствие поддержки в современных браузерах
Рекомендации по замене:
- Используйте CSS-свойство
borderдля отдельных элементов - Применяйте
gapв CSS Grid для разделения областей - Для сложных границ используйте псевдоэлементы
- Реализуйте разделители с возможностью изменения размера
Пример продвинутой замены:
<div class="resizable-layout">
<div class="panel">Левая панель</div>
<div class="divider"></div>
<div class="panel">Правая панель</div>
</div>
<style>
.resizable-layout {
display: flex;
height: 100vh;
}
.panel {
flex: 1;
}
.divider {
width: 1px;
background: #ccc;
cursor: col-resize;
}
</style>
<script>
// Реализация изменения размера через JavaScript
</script>
Примечание: Хотя атрибут frameborder был простым решением в эпоху фреймов, современные CSS-технологии предоставляют гораздо более мощные и гибкие средства управления границами и разделителями между элементами макета.