Подтвердить что ты не робот

Предотвращение прохождения границы элемента fieldset через элемент легенды

У меня есть набор полей, как я могу разместить легенду внутри поля с границей? Я хочу, чтобы граница обходила легенду, а не через середину.

JSFiddle

fieldset {
  border: 0;
  padding: 0!important;
  margin: 0;
  min-width: 0;
  border: 1px solid red;
}
legend {
  padding: 0!important;
}
<fieldset>
  <legend>Title</legend>
</fieldset>
4b9b3361

Ответ 1

Один из вариантов - поместить элемент legend влево:

fieldset {
  border: 2px solid #f00;
}
legend {
  float: left;
  width: 100%;
  padding: 0;
  font-weight: bold;
}
<fieldset>
  <legend>This is a legend</legend>
  <label>Here is an input element: <input type="text" /></label>
</fieldset>

Ответ 2

Вариант принятого ответа (используя SASS), который должен работать во всех современных браузерах (IE9 +)

fieldset {
  > legend {
    float: left;

    + * {
      clear: both;
    }
  }
}

Это очистит следующий элемент после float, поэтому вам не придется беспокоиться о том, что ваш макет перепутался.