Вернувшись в IE6 дней, я использовал моделирование групповых ящиков стиля Windows (см. Пример) в HTML, создав div
с рамкой и позиционируя span
с текстом над границей с сплошным цветом фона для «стирания», рамка рамки. Было тривиально позиционировать текст группы в верхней или нижней части окна.Является ли <fieldset> + <legend> поведением «стирания» верхней границы, определенным любым стандартом (HTML или CSS)?
Этот метод работает хорошо, за исключением тех случаев, когда фон не был сплошной цвет. Я понимаю, что теги <fieldset>
и <legend>
обеспечивают то же самое поведение, которое я описываю, за исключением непрозрачных фонов : поддерживается , но текст может переходить только через полевой набор.
fieldset
и legend
комбо, кажется, работает волшебно таким образом, что независимо от legend
штрихи будут удалены из fieldset
границы (никогда не нарисованной на самом деле). Зачем это происходит? Я нашел examples from W3, которые иллюстрируют поведение, но я не могу найти ничего в спецификации HTML4/5, которая инструктирует UA «рассчитать ширину легенды и не нарисовать границу там». Является ли это поведение определенным в любом месте, или поставщики браузеров единогласно решили, что он должен сделать этот путь?
Если поведение не определено ... Я хочу заменить старый код IE6 на что-то современное, но я не уверен, что я должен использовать fieldset
(даже если не форма) или какую-то особенность CSS Я не осознавая стирание границ так же, как и fieldset
. Что стандарты предлагают либо зависеть от fieldset
или эмулировать его надежно?
По крайней мере, спецификация говорит, что надпись должна быть нанесена поверх верхней границы - не над ней, внутри нее, необязательно и т. Д. Это должно быть достаточно хорошо, чтобы зависеть от нее, чтобы отразить то, как это сделал мой предыдущий код. Благодаря! – jimp