css - 调整浏览器大小时上移固定位置的 div

标签 css html css-position

我有一个顶部位置固定的 div。它几乎从屏幕中间开始,所以如果浏览器窗口太小,由于滚动条被禁用,部分 div 会消失。

我需要使用“top”属性而不是“bottom”,因为 div 必须与上边距对齐,并且根据其内容可能具有不同的高度。我想我需要类似“最小底部”属性的东西。

有办法吗?

最佳答案

这就是我的做法 - 抱歉,我只知道 jQuery 的方式。但我相信您可以为每个步骤查找非 jquery 方式并实现它。

  1. 绑定(bind)浏览器的resize事件
  2. 调整大小时获取窗口的高度
  3. 如果 div 不在屏幕上,则调整顶部的 css 属性

未经测试的代码

$(window).resize( function() {
    var mydiv = $('#mydiv');
    var bottomOfMyDiv = $(mydiv).offset().top + $(mydiv).height();
    var bottomOfWindow = $(window).height();
    if (bottomOfMyDiv > bottomOfWindow) {
        //adjust top css property
        $(mydiv).css('top', topvalue);
    }
});

关于css - 调整浏览器大小时上移固定位置的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302929/

相关文章:

html - 处理以 % 和 px 为单位的大小以实现完美对齐

html - 使用绝对定位时无法使 max-width 工作

css - 混淆 css z-index

html - CSS 定位图像在 Internet Explorer/IE 中不可见 z-index 未修复

html - 如何在CSS中使用 Sprite 图像?

jquery - Fullcalendar - 需要为特定日期设置背景颜色

html - Wiki - 来自外部来源的表格内容

javascript - 如何制作即使在 iPhone Safari 中也能正常工作的完全响应式背景图片?

html - 我可以在我的 tumblr 博客上使用早期访问 Google 字体吗?

html - 文本链接不会有样式并且并不总是可点击的