jquery - 调整大小时填充被删除

标签 jquery html css padding

我有一个网站,但前两页出现问题。 http://www.readysetpixel.net/about.htmlhttp://www.readysetpixel.net/faq.html

内容的填充设置为 20px,当我将其设置为当浏览器调整为 800px 时,内容的最大高度切换为 490px,如下所示。

<script type="text/javascript">
$(document).ready(function() {
   $(window).on('resize', function(){
     if ($(this).height() <= 800){
      $('.content').css('max-height', '490px'); //sets max-height
     } else{
  $('.content').css('max-height', ''); //deletes max-height
   }
 }).resize()
})
</script>

所有这些在 google chrome 中都可以正常工作,但在 firefox 和 IE 中,它们出于某种原因忽略了底部的填充。我尝试添加

  $('.pad').css('padding-bottom', '20px'); //sets padding

然后删除的方式与最大高度相同,这会起作用,但它会在调整大小时为谷歌提供额外的 20px 的填充。

如有任何帮助,我们将不胜感激。

更新:

sayhello 和竞赛页面在做同样的事情。出于某种原因,当我将填充与表单一起使用时,它可以在 firefox、IE 和 chrome 中正确读取它。这很奇怪,因为如果我对前两个页面做同样的事情,它会给 chrome 额外 20px 的填充。

最佳答案

我相信这是一个渲染错误,因为底部边距没有被添加到高度计算中(FF & IE Render Bug Article)。跨浏览器修复症状应该不会太难;您可以将高度计算向下移动一层(滚动层之外)。

<div class="scroll">
    <div class="content">
        <h1>...</h1>
        <div>...</div>
    </div>
</div>

.scroll 负责height & overflow;而 .content 将负责 widthpadding。不是最优雅的解决方案,但它会解决您的跨浏览器问题。

如果你想让我设置一个 fiddler ,请告诉我。

不相关的旁注:检查 CSS 后,您的站点可能会受益于某些 OOCSS 方法(如果您担心此类事情,肯定会减少 css 文件的大小)。

关于jquery - 调整大小时填充被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021774/

相关文章:

javascript - polymer 中可调整大小的元素

html - 无法保持特定于一个类/id 的超链接样式

javascript - 样式表的 Angular 路由提供者

javascript - JQuery Click 通过另一次点击的代码

javascript - Highcharts - 柱形图重绘动画

css - 两个div,一个固定宽度,另一个,其余

jquery - 引导轮播的进度条

css - 使用 fabric.js 和 canvas 在 Line 上设置固定高度

javascript - Jquery 模糊文本并在焦点上为空

jquery - 备用表行颜色更改