Атрибут framespacing тега <frameset>
Описание
Атрибут framespacing управлял толщиной границ между фреймами в элементе <frameset>. Это устаревший атрибут, который использовался в HTML4 для контроля расстояния между фреймами.
<frameset cols="30%,70%" framespacing="10">
<frame src="menu.html">
<frame src="content.html">
</frameset>
Особенности атрибута:
| Характеристика | Описание |
|---|---|
| Тип значения | Целое число (пиксели) |
| Значение по умолчанию | 2 (в большинстве браузеров) |
| Взаимодействие с frameborder | Работает только при frameborder="1" |
Современные CSS-аналоги:
<div class="modern-grid">
<aside>Боковая панель</aside>
<main>Основной контент</main>
</div>
<style>
.modern-grid {
display: grid;
grid-template-columns: 30% 70%;
gap: 10px; /* Аналог framespacing */
}
/* Альтернатива с border-spacing */
.modern-flex {
display: flex;
}
.modern-flex > * {
margin-right: 10px;
}
.modern-flex > *:last-child {
margin-right: 0;
}
</style>
Ключевые проблемы:
- Устарел вместе с элементом
<frameset> - Ограниченный контроль над внешним видом
- Не поддерживается в HTML5
- Плохая совместимость с современными браузерами
Рекомендации по замене:
- Используйте CSS-свойство
gapдля Grid и Flexbox - Применяйте
marginиpaddingдля точного контроля - Для сложных разделителей используйте псевдоэлементы
- Реализуйте резиновые разделители с JavaScript
Пример адаптивного решения:
<div class="responsive-layout">
<nav>Навигация</nav>
<div class="divider"></div>
<article>Содержимое</article>
</div>
<style>
.responsive-layout {
display: flex;
}
.divider {
width: 10px;
background: #eee;
cursor: col-resize;
}
@media (max-width: 768px) {
.responsive-layout { flex-direction: column; }
.divider { width: 100%; height: 1px; }
}
</style>
Примечание: Современные CSS-технологии, такие как Grid Layout и Flexbox, предоставляют гораздо более мощные и гибкие средства управления промежутками между элементами, чем устаревший атрибут framespacing, и позволяют создавать полностью адаптивные макеты.