#html #css
#HTML #css
Вопрос:
Смотрите мой код в действии по адресу: http://losthobbit.net/temp/radiogroup.html
Вот код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Radio Group Test</title>
</head>
<body>
<div id="Radiogroup" style="position: absolute; top: 9px; left: 12px; width: 234px; height: 177px; background-color:Aqua">
<fieldset style="height: 100%">
<legend>Radiogroup</legend>
</fieldset>
</div>
</body>
</html>
Почему набор полей превышает высоту div?
Заранее спасибо
Комментарии:
1. браузеры обрабатывают поля и отступы по-разному; посмотрите на
"reset.css"
2. спасибо за подсказку, pixelbobby
3. Я надеюсь, ты найдешь свой путь, Хоббит…
Ответ №1:
Браузеры добавляют некоторые дополнения к наборам полей по умолчанию. Поскольку обычно это соответствует оригинальной модели W3C box, заполнение увеличивает высоту, а не является ее частью, отсюда и то, что вы видите. Вы можете легко устранить это, установив нулевое заполнение в вашем наборе полей.
Вы также должны учитывать высоту легенды, которая выступает из верхней части набора полей. Однако это немного сложнее отрицать; возможно, вам придется поиграть со стилями расположения, полями и так далее, Чтобы сохранить это на месте, но не позволить этому повлиять на ваш набор полей.
Комментарии:
1. Вы слишком торопитесь с ответом. Спасибо за объяснение о том, что заполнение добавляется к высоте, а не является частью набора полей. Не знал об этом, фактически никогда не замечал этого.
Ответ №2:
Это вызвано таблицей стилей браузера. Например, в Chrome добавляется некоторое заполнение:
fieldset {
display: block;
-webkit-margin-start: 2px;
-webkit-margin-end: 2px;
-webkit-padding-before: 0.35em;
-webkit-padding-start: 0.75em;
-webkit-padding-end: 0.75em;
-webkit-padding-after: 0.625em;
Попробуйте использовать reset.css или просто set padding: 0
в вашем наборе полей.