将元素从图像顶部定位 50%
Position Span Elements 50% from Top of Image
我正在用 JavaScript 创建一个幻灯片,并希望相对于图像定位控件(下一个和上一个按钮),使其距离图像顶部 50%。
这是我的 HTML:
<div id="slideshow">
<figure>
<img src="https://c4.staticflickr.com/8/7495/16322256485_08ee0ee36f_z.jpg" />
<figcaption>This is an example of a really long caption. Here I go. Do I wrap to a second line? Wrap wrap wrap wrap. Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap</figcaption>
</figure>
<figure>
<img src="https://c1.staticflickr.com/9/8584/16136057529_e7b64928d0_z.jpg" />
<figcaption>Insert caption</figcaption>
</figure>
<figure>
<img src="https://c2.staticflickr.com/8/7474/16120961661_8dc12962dd_z.jpg" />
<figcaption>Insert caption</figcaption>
</figure>
</div><!-- end slideshow -->
我定位的跨度是用 JavaScript 插入幻灯片的结束div 上方的。
最初的计划是相对于幻灯片div 定位按钮。但是,如果标题跨越多行,则幻灯片的高度会增加,按钮也会移动。
我希望按钮的位置相对于图像的高度是恒定的。因此,我希望它相对于图像定位自己,而不是相对于整个幻灯片div(包括标题)定位跨度,而不管标题的高度如何。
我无法使用像素定位,因为幻灯片必须具有响应性。
这是我的JS小提琴:
https://jsfiddle.net/amykirst/vtsru170/
我的一个想法是通过将图像和跨度包装在div 中来更改 HTML,如下所示:
<figure>
<div class="img-contain">
<img src="https://c1.staticflickr.com/9/8584/16136057529_e7b64928d0_z.jpg" />
</div>
<figcaption>This is an example of a really long caption. Here I go. Do I wrap to a second line? Wrap wrap wrap wrap. Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap Wrap</figcaption>
</figure>
然后让 JavaScript 将跨度插入 "img-contain"div 中,并将其相对于该div 定位。JavaScript 需要找到当前正在显示的图像,并在每次按下"下一个"或"上一个"按钮时添加跨度。
现在,它会在页面加载时添加按钮。
我认为我的新解决方案可能会使事情变得过于复杂,所以我想看看是否有更好的答案。
你来了:
https://jsfiddle.net/vtsru170/4/
诀窍是向下一个/上一个跨度添加一个padding-bottom
以匹配图像的高度(根据纵横比)。我在标签内使用了 p 标签作为按钮样式。
相关文章:
- 当打开绝对定位下拉菜单时,页面将滚动到顶部
- 如何在页面顶部放置一个绝对定位的img
- CSS z-index不起作用(使用相对定位,使用顶部和左侧)
- 如何在 jQuery 中将可点击的图像定位到浏览器顶部
- (IE9)删除浮动或绝对定位的元素将导致同级元素的滚动条滚动回顶部
- 谷歌地图商店定位器 点击跳转到页面顶部
- 如何相对于窗口顶部定位弹出窗口
- 如何在控件容器中定位SAPUI5控件并将其显示在顶部
- 如何将组件定位在我所有QML视图的顶部
- 如何从儿童弹出窗口中定位原始顶部窗口中的iframe
- 如何定位文本和Div在彼此的顶部,并在中心对齐
- 定位画布在滚动条的顶部
- 位于另一个元素顶部的颜色盒定位
- 定位顶部父元素的底部元素
- 如何定位Twitter关注按钮在图像的顶部
- 为什么元素的相对定位有时会返回窗口(0,0)的顶部,而在其他地方会正确返回
- 集群顶部的定位标记;z指数不工作
- 当页脚出现时,重新定位滚动到顶部按钮
- jQuery平滑滚动到顶部并按ID定位(带偏移)
- 在背景图像顶部定位按钮