Ошибка в верстке при написании простой формы. Кнопки и чекбокс вылетают за пределы формы
Есть простая форма
<!DOCTYPE html>
<html>
<head>
<title>Форма обратной связи</title>
<style>
body {line-height:30px; }
form {width:300px; border:2px solid red; }
#imya {float:right;}
#familiya {float:right; }
#select {float:right; }
#thief {float:right; }
#submit {float:right; clear:right} /* вот здесь когда див сабмита делаю выровнять по правому краю браузер выбрасывает за пределы формы */
</style>
</head>
<body>
<h1>Давайте познакомимся</h1>
<!-- Начало формы -->
<form>
Ваше имя: <input type="text" id="imya" name="imya"/><br><!-- Текстовое поле -->
Ваша фамилия: <input type="text" id="familiya" name="imya"/><br><!-- Текстовое поле -->
Кто вы? <input type="radio" id ="sex_male" name="sex" checked="checked" value="0"/> <!-- Радио кнопки -->
<span>мужчина</span> <!-- не надо оборачивать в label -->
<input type="radio" id="sex_female" name="sex" value="1"/>
<span>женщина</span><br> <!-- не надо оборачивать в label -->
Чем занимаетесь? <select id="select" name="profession" size="1"> <!-- Выпадающий список -->
<option value="1">школьник</option>
<option value="2">студент</option>
<option value="3">безработный</option>
<option value="4">рабочий класс</option>
<option value="5">офисный планктон</option>
<option value="6">креативный класс</option>
<option value="7">интеллигент</option>
<option value="8">олигарх</option>
</select><br>
<textarea name="text" cols="34" rows="10">Напишите коротко о себе:
</textarea><br><!-- Текст -->
<div id ="thief">
<span>Я не буду воровать записи курсов</span>
<input type="checkbox" id="checkbox" value="yes" name="agree"><br>
</div>
<!-- Флажок -->
<div id="submit">
<input type="submit" value="Послать отзыв"> <!-- Кнопка для отправки формы -->
<input type="reset" value="Очистить форму">
</div>
</form>
<!-- Кнопка для очистки формы -->
<!-- Конец формы -->
</body>
</html>
Ответы (1 шт):
Автор решения: BlackStar1991
→ Ссылка
Интересная задача. Верстка конечно не по стандарту мягко говоря, но вопрос - почему если задать последнему элементу float: right; все ломаеться и рамка не оборачиваеться вокруг тега form интересно. Всё, дошло - это особенность float когда элементи випадают из потока. Лечиться это так.
body {
line-height: 30px;
}
form {
width: 300px;
border: 2px solid red;
}
#sub {
float: right;
}
form:after {
content: "";
display: block;
clear: both;
}
<h1>Давайте познакомимся</h1>
<!-- Начало формы -->
<form>
Ваше имя: <input type="text" id="imya" name="imya" />
<div id="sub">
<input type="submit" value="Послать отзыв"> <!-- Кнопка для отправки формы -->
<input type="reset" value="Очистить форму">
</div>
</form>
Хотя почему, именно на последнем элементе все ломаеться, так и не понял...