У меня есть блок <div>
Я хочу определить с точными координатами пикселей через position: absolute
, но я хочу разместить заголовок над его родителем <div>
. Если размер шрифта изменяется (или пользователь расширяет текст), то блок <div>
должен находиться в одном месте, но заголовок может перемещаться вверх/вниз для размещения большего/меньшего текста.Позиционирование заголовка относительно (выше) абсолютного div
Вот пример кода, который, честно говоря, не близок, но может помочь проиллюстрировать проблему. Это всего лишь один из вариантов я пытался:
<!doctype html>
<html>
<head>
<title>Positioning Test</title>
<style>
#box1 { border: red 1px solid; }
#box1 h4 { margin: 0; color: blue }
.inner_box {
background: #aaf;
width: 400px;
height: 50px;
}
.target_pos {
position: absolute;
top: 50px;
left: 100px;
}
#marker {
width: 10px;
height: 10px;
background: red;
}
</style>
</head>
<body>
<div id="box1">
<h4>Heading</h4>
<div class="inner_box target_pos">
This is the <strong>inner_box</strong>.
</div>
</div>
<!-- Marks where the inner_box should begin -->
<div id="marker" class="target_pos"></div>
</body>
</html>
Идея заключается в синий inner_box
должен быть расположен точно в (что это), но Heading
текст должен быть прямо над ним, а красный 1px границы должен охватывать все.
Вот как это выглядит в Firefox:
А вот как бы мне хотелось, чтобы это выглядело вместо:
Поскольку я несколько из этих окон для работы с, и их позиции могут меняться в зависимости от размера видового экрана, а шрифт/текст заголовка будет меняться, здесь мне нужно динамическое решение. Я бы предпочел чистый CSS3, но если JS требуется, я мог бы жить с этим.
Да, вы помогли. На самом деле, ваша скрипка отлично работает! Большое спасибо за быстрый и элегантный ответ. –