Jak umieścić legendę w zestawie ramek z obramowaniem?


Według kilku linków w internecie, niemożliwe jest umieszczenie legendy. Zasugerował więc podsumowanie tego w wielki sposób:
<legend><span>Foo</span></legend>

Następnie możemy ustawić rozpiętość w zestawie pól. ale kiedy chcę dodać ramkę na górze zestawu pól, jest miejsce na legendę. Na szczęście odkryłem, że dodanie obramowania do legendy również naprawia tę małą, malutką białą przestrzeń, ale jest to brzydkie rozwiązanie (jak wszystko inne z css). Czy masz bardziej przemyślane rozwiązania tego problemu?
uwaga: znalazłem rozwiązanie w tym samym czasie, gdy zacząłem pisać to pytanie, więc nadal chcę je zadać.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zauważyłem, że proste
float: left
dla
LEGEND
wykona zadanie.
Przykładowy kod Codepen:

http://codepen.io/vkjgr/pen/oFdBa
http://codepen.io/vkjgr/pen/oFdBa
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wiem, że to stare pytanie, ale otrzymałem tę stronę, gdy wyszukałem w Google „pozycję legendy zestawu pól” i naprawdę nie mogłem znaleźć dobrej odpowiedzi.
Legenda po prostu się nie zachowa!, Więc najlepszym rozwiązaniem, jakie znalazłem, było ustawienie jej bezwzględnej i wypełnienie wierzchołka na zestawie pól. Przykład JSFildle:

http://jsfiddle.net/carlosmartinezt/gtNnT/356
http://jsfiddle.net/carlosmartinezt/gtNnT/356/
/
fieldset {
position:relative;
padding-top:50px;
}legend {
position:absolute;
top:20px;
left:18px;
}​
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

OP prawie odpowiedział na jego własne pytanie: opakowanie załatwia sprawę, ale jest odwrotnie. Posługiwać się:
<span><legend>Foo</legend></span>
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Ustaw marginesy do pozycjonowania. Działa bezproblemowo.
legend {margin-left:50px;}/* 50px from Left of the Fieldset */
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz użyć margin-bottom „-50px” dla legendy i padding-top „50px” dla zestawu marginesów, aby się nie nakładały.
fieldset { 
padding-top:50px;
}fieldset legend {
margin-bottom:-50px;
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wydaje mi się to prostsze.
fieldset legend { 
position:relative;
left:20px;
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Znalazłem to najbardziej spójne, przetestowane w IE7, Firefox i Chrome
fieldset legend 
{
text-align:left;
}
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Skończyło się na użyciu tylko elementów div. Pod koniec dnia potrzebuję tylko obramowania i tekstu za granicą, to wszystko.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Myślę, że to zadziała
<legend><span>ur text</span></legend>

Dodaj obramowanie do etykiety legendy
legend {padding: 2px;border: 1px solid green;}

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się