【发布时间】:2020-03-01 12:36:34
【问题描述】:
我试图在页面上放置一个元素,以便它始终与页面上的其他控制元素隔开。我希望这个元素位于页面上的任何位置,具体取决于页面上的其他控制元素、用户采取的操作等。这些是八个有效位置:
TOP_CENTER
TOP_LEFT
TOP_RIGHT
LEFT_CENTER
RIGHT_CENTER
BOTTOM_CENTER
BOTTOM_LEFT
BOTTOM_RIGHT
到目前为止,我有 3 个组件元素:1) DIV 容器,2) 应始终位于 DIV 容器顶部的图像,3) 应始终位于 DIV 容器底部的一些文本.我的 CSS 如下所示:
#floatingElement {
left: 60px;
top: 11%;
width: 25%;
height: 25%;
position: absolute;
pointer-events: none;
z-index: 1;
}
#floatingElement img {
display: block;
margin: auto;
max-width: 95%;
max-height: 100%;
}
#floatingElement div {
text-align: center;
background: rgba(255,255,255,0.5);
border-radius: 5%;
box-shadow: 3px 3px 2px #888888;
font-size: 2vmax;
}
只要元素位于“TOP”或“CENTER”,上述操作就可以完美运行。但是,“BOTTOM”定位会引起问题,我认为是因为容器 DIV 不知何故没有根据第三个(文本 DIV)元素中的文本量考虑其高度。
我怎样才能使元素在选择“BOTTOM”位置时始终与页面底部对齐,以便容器 DIV 包含文本 DIV 的高度(可能会因数量而异该 DIV 中的文本),类似于此图像:
黑色边框是我的窗口,红色框是我的图像,绿色框是文本 DIV。红色和绿色框都在我的容器 DIV 中。
【问题讨论】:
-
您想将
#floatingElement定位在底部,以便该元素与页面的实际底部之间有空间? -
嗨 Coldark,是的,我希望 #floatingElement 的底部与页面底部有一定的距离(比如 60 像素)。