2012-05-04 26 views
1

我對元素#inner設置.outerHeight(真),但目前它返回的高度值控制檯在ie,ff和chrome中爲同一元素返回不同的高度?

即:304個 FF:317 鉻:289

誰能解釋一下,我可能會去這個錯誤?

JS

var wH = $(window).height(), 
    wrapper = $('#wrapper'), 
    inner = $('#inner'), 
    innerH = inner.outerHeight(true), 
    more = inner.find('.more'), 
    close = inner.find('.close'), 
    titleH = $('#title').outerHeight(true), 
    excerpt = $('.excerpt'), 
    excerptH = excerpt.outerHeight(true), 
    lowerH = $('.lower').outerHeight(true), 
    upper = inner.find('.upper'), 
    footerH = $('#footer').height() 
    body = $('body'); 

// Set #wrapper off page 
wrapper.css('bottom', -innerH); 

// Store tier1 calculation as data attribute 
wrapper.data('tier1', -innerH+titleH+footerH); 
console.log(innerH); 
//console.log(-innerH+titleH+footerH); 
// Animate #wrapper above #footer 
wrapper.delay(500).animate({ bottom: wrapper.data('tier1') }, 400); 

CSS

body{font-family:Arial,Helvetica,sans-serif;overflow: hidden;} 
h1{text-align:center;width:600px;margin:0 auto;padding:20px 0 45px;font-size:28px;font-weight:bold;line-height:26px;} 
p{margin-bottom:20px;} 


#tiers{background:#f2f2f2;height:100%;} 
#wrapper{width:100%;position:absolute;bottom:0;left:0;background:#dedede;} 
#inner{width:840px;margin:0 auto;} 
.upper{display:none;} 
.upper p{margin-bottom:0;} 
.col{width:410px;} 
.btn{background: #000000;color: #FFFFFF;display: block;font-size: 20px;font-weight: bold;width:30px;height:30px;text-align:center;line-height:30px;position: absolute;text-decoration: none;} 
.more{top:20px;right:20px;} 
.close{display:none;top:60px;right:20px;} 
.excerpt{display: block;} 

HTML

<body class="tier1"> 

    <div id="tiers"> 
     <div id="wrapper"> 
     <div id="inner" class="clearfix"> 
      <a href="#" class="close btn">-</a> 
      <a href="#" class="more btn">+</a> 
      <div class="lower"> 
      <h1 id="title">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</h1> 
      <p class="excerpt">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
       tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
       quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 
       consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse 
       cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 
       proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
       tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
       quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 
       consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse 
       cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 
       proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> 
      </div> 
      <div class="upper"> 
      <div class="col left"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
      tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
      quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 
      consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse 
      cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 
      proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p></div> 
      <div class="col right"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
      tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, 
      quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo 
      consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse 
      cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non 
      proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p></div> 
      </div> 
     </div> 
    </div> 
    </div> 
    <div id="footer"></div> 




</body> 

頁面鏈接:http://bit.ly/IA65Mb

凱爾

回答

0

有一些分歧,我能夠發現:

  • p有一個20像素的margin-bottom傳播到#inner鉻。我不記得這個功能的細節,但我想我曾經聽說過它實際上是正確的行爲。我認爲只有鉻有它。請參閱example
  • 出於某種原因#excerpt在ff和chrome中具有不同的高度 - 可能在文本呈現方面存在細微差異?

我認爲修復第一個問題可以解決您遇到的問題。獲得完全相同的結果跨瀏覽器是一個矯枉過正。

相關問題