- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的网页有居中的页眉、内容和页脚 div,每个 div 的宽度都是 900 像素。
(关于页眉、内容和页脚,我能提供的唯一其他可能相关的信息是页眉具有固定定位,内容是相对定位的,页脚是绝对定位的。但是,我不确定这些信息是否会与解决方案相关。)
我正在使用以下 CSS 媒体查询:
/* If screen width is less than or equal to 900px (e.g.: tablet, mobile) ... */
@media only screen and (max-width: 900px) {
/* Scale header, content and footer width */
#header, #content, #footer { width: 100%; }
}
当页面宽度小于它们的默认宽度时,开始按页面缩小这些 div。我希望缩小比例在所有浏览器中都是无缝的,但是,我遇到了一个问题,因为 webkit 浏览器计算页面宽度中的 y 和 x 滚动条宽度。这使得滚动条以特定宽度覆盖 div,并使缩小发生较晚。
我想要一个 JQuery 解决方案来分别从 webkit 浏览器中的 CSS 主体宽度和高度中计算和减去 y 滚动条宽度和 x 滚动条高度,以说明 webkit 浏览器如何在宽度和高度中包含滚动条页面,以便我的 CSS 媒体查询重新缩放页面主体以适合查看区域,在所有浏览器中都可以正常工作。
我对替代解决方案不感兴趣,例如让滚动条始终存在,以使缩小在 webkit 浏览器中始终以相同的方式工作。
最佳答案
我建议使用 JavaScript 来检测您的 HTML 正文是否在水平和垂直方向上都大于窗口。如果它们超出窗口,则有一个滚动条。然后,您可以向主体添加填充以适应这一点。
我相信滚动条的宽度大约为 15 像素,但这应该很容易找到。
// Check if body height is higher than window height :)
if ($("body").height() > $(window).height()) {
alert("Vertical Scrollbar! D:");
}
// Check if body width is higher than window width :)
if ($("body").width() > $(window).width()) {
alert("Horizontal Scrollbar! D:<");
}
您可以使用上面的代码来检测这两个值。将这些放在监听器中以调整窗口大小将确保在必要时重新评估所有参数。
更新:
$(window).resize(function(){
// Check if body height is higher than window height :)
if ($("body").height() > $(window).height()) {
$('body').css('padding-bottom', '15px');
} else {
$('body').css('padding-bottom', '0');
}
// Check if body width is higher than window width :)
if ($("body").width() > $(window).width()) {
$('body').css('padding-right', '15px');
} else {
$('body').css('padding-right', '0');
}
}
希望这有帮助:)
额外:
如果每个浏览器的滚动条尺寸不同,您可以简单地创建一个具有适合浏览器尺寸的 CSS 类并通过调用应用它:
$('body').addClass('<CLASSNAME>');
和
$('body').removeClass('<CLASSNAME>');
而不是设置和取消设置主体上的填充。
关于javascript - 在 webkit 浏览器中分别从 body 宽度和高度中减去 y-scrollbar 宽度和 x-scrollbar 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43258696/
如标题所述,我遇到了两个 using 指令之间引用不明确的问题。 一个是System.Windows.Forms: using System.Windows.Forms; 另一个来自自定义库,Arct
我遇到了 Internet Explorer 中显示滚动条的问题。 我有一个 div,它的内容可以比 div 本身更宽,所以会出现一个水平滚动条。水平滚动条很好,但如果显示水平滚动条,Internet
情况是这样的...... 我正在使用 jQuery/AJAX 将各种 HTML 序列调用到我的主控制面板/网页中。 一些请求返回一个很长的结果,并且需要在弹出框内显示一个滚动条。 当客户关闭最初的长结
我构建了一个控件,为 JavaFX 提供类似 Twitter Bootstrap 导航栏的行为。它基本上由一个 StackPane 和一个背面的 ScrollPane 组成,一个 BorderPane
发现一个奇怪的问题,做了一些谷歌搜索,但没有找到任何有类似问题的人。 简而言之。我在另一个位置固定的 div 中有一个位置固定的 div。在非视网膜上,一切都很好,但在 macbook 视网膜(web
我正在尝试查看 webkit 伪元素的默认 css 值(可能是源代码?),以便我可以创建与默认值非常相似但略有自定义的自定义 webkit 元素。 这些元素是不显示在 DOM 中的影子元素。您可以在
我有以下 CSS 规则: ::-webkit-scrollbar-thumb:vertical:hover { background-color: #666; } 我还想在悬停 webkit-
我的网页有居中的页眉、内容和页脚 div,每个 div 的宽度都是 900 像素。 (关于页眉、内容和页脚,我能提供的唯一其他可能相关的信息是页眉具有固定定位,内容是相对定位的,页脚是绝对定位的。但是
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 去年关闭。 Improve this questio
我的网站在 Chrome 和 Firefox 中都有一个双滚动条(这两种浏览器都是最新的)。我一直在研究网络和 stackoverflow,并尝试遵循 html 元素上的建议选项: html { 溢出
我想更改滚动条的样式,为此我在 css 下方使用,但我想将它用于页面上的特定 div,而不是整个页面。 我如何使用 div 类或 id 自定义它 ::-webkit-scrollbar { w
我正在使用 jScrollPane,只是因为它是 Google 上的第一件事,而且我很累。所以,我首先要说我不反对使用不同的东西。 我有一个 2 列的部分。右列使用 jScrollPane 插件并具有
我正在尝试向 JList(使用自定义数据模型)添加滚动条。添加 JScrollPane 实际上隐藏了 JList,而不是添加滚动条。当我使用滚动条运行代码时,JList 不可见,也看不到数据。 pla
请引用这里的表格。 http://www.funkkopfhoerer-test.com/vergleichstabelle-funkkopfhoerer/ 我正在使用表插件,并在其顶部创建了一个自定
是否可以在scintilla控件的滚动条中标记搜索结果/断点/书签?就像在 Google Chrome 或 JetBrains IDE 中所做的那样。 最佳答案 是的,这是可能的。 首先您必须知道要标
我正在尝试让 javascript 将页面滚动到目标位置,例如: scrollbarxpos += (targetscrollbarxpos - scrollbarxpos) / 100.0f; 基本
我有一个带有 Canvas 和 ScrollBar 的简单 JavaFX 应用程序。Canvas 充当虚拟 Canvas ,其内容可以使用 ScrollBar 滚动。 Canvas 的宽度为 500
我正在尝试实现类似于 Excel 的“无限”滚动能力的功能;因为用户可以滚动到文档的“底部”;但随后继续滚动(使用滚轮或滚动条上的向下箭头),并且为它们生成更多空行。我大部分时间都在工作(使用鼠标滚轮
我有一个奇怪的行为问题: 我在 ScrollView 中有一个 WebView。 WebView 声明如下: let webView = UIWebView(frame:CGRectMake(x,0,
我是一名优秀的程序员,十分优秀!