- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我试图解决 StackOverflow 问题 yet another HTML/CSS layout challenge - full height sidebar with sticky footer我自己使用 jQuery。因为我的侧边栏可能比主要内容长,所以它与 comment 8128008 的情况相匹配。 .这使得侧边栏比主要内容长并且粘性页脚不可能在缩小浏览器窗口时不会出现问题。
我有一个带有 div
的 html 页面,它会自动拉伸(stretch)以填满屏幕。因此,如果元素下方有空白区域,我会将其向下拉伸(stretch):
但如果浏览器视口(viewport)小于 div
本身,则不会进行拉伸(stretch)但会显示滚动条:
我已将 jQuery 附加到窗口的调整大小事件以调整 div
的大小,如果浏览器窗口不是太小,则在其他情况下删除任何调整大小。这是通过检查视口(viewport)是否高于或小于 document
来完成的。如果视口(viewport)小于 document
,内容似乎大于浏览器窗口,为什么不调整大小;在另一种情况下,我们调整 div
的大小以填充页面。
if ($(document).height() > $(window).height()) {
// Scrolling needed, page content extends browser window
// --> No need to resize the div
// --> Custom height is removed
// [...]
} else {
// Window is larger than the page content
// --> Div is resized using jQuery:
$('#div').height($(window).height());
}
到目前为止,一切运行良好。但是如果我缩小浏览器窗口,在某些情况下,div
应该调整大小但 document
大于 window
的高度,为什么我的脚本假定不需要调整大小并且删除了 div
的调整大小。
实际上,如果我在 bug 出现后使用 Firebug 检查 document
的高度,高度就是应该有的值。所以我想,document
的高度设置有一点延迟。我尝试稍微延迟运行调整大小代码,但没有帮助。
我已经在 jsFiddle 上设置了演示.只需慢慢缩小浏览器窗口,您就会看到 div
“闪烁”。您还可以观察 console.log()
输出,您会注意到,在“闪烁”的情况下,document
的高度和 window
的高度不同而不是相等。
我在 Firefox 7、IE 9、Chrome 10 和 Safari 5.1 中注意到了这种行为。你能证实吗?
你知道有没有修复?还是方法完全错误?请帮助我。
最佳答案
好的——擦掉我的旧答案并替换...
这是你的问题:
您正在获取并比较窗口和文档高度,而没有首先考虑此处的事件顺序。
此时,之前设置的div高度是保持文档高度大于窗口高度,这个逻辑被误解了:“需要滚动,不需要扩展侧边栏”错误地触发
因此抽搐。
为了防止这种情况发生,只需在进行比较之前调整你的 div 和窗口的大小:
(function () {
var resizeContentWrapper = function () {
console.group('resizing');
var target = {
content: $('#resizeme')
};
//resize target content to window size, assuming that last time around it was set to document height, and might be pushing document height beyond window after resize
//TODO: for performance, insert flags to only do this if the window is shrinking, and the div has already been resized
target.content.css('height', $(window).height());
var height = {
document: $(document).height(),
window: $(window).height()
};
console.log('height: ', height);
if (height.document > height.window) {
// Scrolling needed, no need to externd the sidebar
target.content.css('height', '');
console.info('custom height removed');
} else {
// Set the new content height
height['content'] = height.window;
target.content.css('height', height['content']);
console.log('new height: ', height);
}
console.groupEnd();
}
resizeContentWrapper();
$(window).bind('resize orientationchange', resizeContentWrapper);
})(jQuery);
根据 pmvdb 的评论,我将您的 $$ 重命名为“target”
关于javascript - 使用 Javascript 将 div 的大小调整为屏幕高度会在缩小浏览器窗口时导致闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785691/
我有下面的图表,它填充了显示器的宽度和高度。高度始终只比屏幕大一点,因此会出现滚动条以显示底部 20 像素左右。 有没有办法让 Kendo UI 显示 100%,而不是 105% 的高度? 在线示例:
这个问题在这里已经有了答案: Why doesn't height: 100% work to expand divs to the screen height? (12 个答案) 关闭 9 年前
此页面 ( http://purcraft.com/madeinla/) 有问题,我正在尝试使用 iframe 元素显示此页面的内容:( http://purcraft.com/madeinla/ho
我在一个父 div 中有 2 个子 div。 Child1 是标题,Child2 是正文。我希望将 Child 2 的高度设置为 Parent - Child1 的高度。 Child2 有内容,所以它
我正在尝试用图像填充窗口。我正在使用 CSS 来尝试解决这个问题,但我想知道是否有一种方法可以最大化图像的宽度/高度,直到所有空白区域都被填满,但又不会破坏质量。 .rel-img-co
这个问题在这里已经有了答案: How to make a div 100% height of the browser window (41 个回答) 关闭 8 年前。
这可能是一个新手问题,但是是否可以将 Sprite 图标添加到带有文本的标签中? 例如: labeltext .icon { width: 30px height: 30px;
我有 3 个 div,分别是 header、content 和 footer。页眉和页脚具有固定的高度,并且它们被设计为 float 在顶部和底部。我想要使用 jquery 自动计算中间的 con
我有一个外部 div,其指定的宽度/高度(以毫米为单位)。 (mm只是赋值,不用于渲染)。 里面有另一个 div,其实际宽度/高度(以 px 为单位)。 两个 div 可以具有不同的比例。 我想要做的
我正在为一个非常简单的画廊 webapp 进行布局排序,但是当我使用 HTML5 文档类型声明时,我的一些 div(100%)的高度会立即缩小,我不能似乎使用 CSS 将它们丰满起来。 我的 HTML
我正在为一个非常简单的画廊 webapp 进行布局排序,但是当我使用 HTML5 文档类型声明时,我的一些 div(100%)的高度会立即缩小,我不能似乎使用 CSS 将它们丰满起来。 我的 HTML
我想更改 UISearchBar。文本字段的高度和宽度。我的问题是如何更改 iphone 中 UISearchBar 中的 UiSearchbar 高度、宽度、颜色 和 Uitextfield 高度?
我想要两个宽度和高度均为 100% 的 div。我知道子 div 不会工作,因为父 div 没有特定的高度,但有没有办法解决这个问题? HTML: CSS: body
我有几个带有“priceText”类的 div,我试图实现如果 div.priceText 高度小于 100px,则隐藏 this div 中的图像。 我无法让它工作。我已成功隐藏所有 .priceT
我正在尝试从 Image 列中列出的图像中获取实际图像尺寸,并将其显示在 Image Size 列中。 我遇到的问题是,我只能获取第一张图片的大小,该图片会添加到 Image Size 列的每个单元格
我正在使用一个插件,它要求我在加载图像后获取图像的宽度和高度,而不管图像的尺寸是如何确定的。
我有一个示例 pdf(已附),它包括一个文本对象和一个高度几乎相同的矩形对象。然后我使用 itextrup 检查了 pdf 的内容,如下所示: 1 1 1 RG 1 1 1 rg 0.12 0 0 0
我是 WPF 新手。我试图解决的一个问题是如何在运行时获得正确的高度。 在我的应用程序中,我将用户控件动态添加到代码隐藏中的 Stackpanel。 Usercontrol 包含一些 Texblock
在自定义 WPF 控件中,我想将控件的宽度设置为高度的函数。例如:Width = Height/3 * x; 实现此目的的最佳方法是什么,以便控件正确且流畅地调整大小(和初始大小)? 最佳答案 您可以
好吧,我本以为这是一个简单的问题,但显然它让我感到困惑。 当我尝试设置 RibbonComboBox 的高度时,它不会移动它的实际大小,而是移动它周围的框。 这是我的 XAML:
我是一名优秀的程序员,十分优秀!