Когда я занимаю абсолютное положение элемента внутри относительного элемента, координаты вычисляются по краям контейнера без учета границ (что было бы эквивалентно расположению с внутренней стороны границы .)Абсолютное позиционирование с внешней стороны границы
Есть ли способ позиционирования элемента, но с внешней стороны границы?
Например: если у меня есть красный квадрат (например, первый) без рамки, текст прикрепляется к верхнему левому краю контейнера, потому что он имеет top:0; left:0
. Но текст во втором квадрате все еще имеет top:0;left:0
, но граница толкает текст внутри квадрата:
.box {
position:relative;
width:150px;
height:150px;
background:red;
box-sizing:border-box;
margin:10px;
float:left;
}
.box-bordered {
border:25px solid rgba(0,0,0,0.1);
}
.text {
position:absolute;
top:0;
left:0;
color:white;
}
<div class="box">
<div class="text">Text</div>
</div>
<div class="box box-bordered">
<div class="text">Text</div>
</div>
Что я хотел бы, чтобы это текст, чтобы держать прилипание к началу левый угол цветной области. Это возможно? Как это можно сделать?
Примечание: это скорее вопрос теории из любопытства; Я знаю, что есть альтернативы, которые будут работать (по крайней мере визуально), как с помощью отрицательных полей, отрицательные значения позиционирования или врезка
box-shadow
:.box { position:relative; width:150px; height:150px; background:red; box-sizing:border-box; margin:10px; float:left; } .box-shadow { box-shadow:inset 0 0 0 25px rgba(0,0,0,0.1); } .text { position:absolute; top:0; left:0; color:white; }
<div class="box box-shadow"> <div class="text">Text</div> </div>
но то, что я хотел бы знать, если это возможно делая при этом сохранение границ.
Имейте в виду, что границы могут зайти внутрь, только если окно определения размера: внешних пунктов пропуска коробка; свойство установлено. –
В обоих случаях он имеет размер коробки: border-box. –
Если изменение HTML-кода вам не мешает, вы можете посмотреть этот https://jsfiddle.net/87hurwnu/ или даже лучше, не меняя html https://jsfiddle.net/87hurwnu/1/ – Lidaranis