谷歌铬问题与固定位置和利润顶部
google chrome issue with fixed position and margin-top
Chrome中的有趣问题:
我的rails应用程序布局中有以下社交图标div
:
<div class="social_media_icons">
<ul>
<li ><a href="http://www.youtube.com/" target="_blank"><img src="/images/yt.jpg" /></a></li>
<li ><a href="http://www.facebook.com/" target="_blank"><img src="/images/fb.jpg" /></a></li>
<li ><a href="https://twitter.com" target="_blank"><img src="/images/tw.jpg" /></a></li>
</ul>
</div>
和相关的css:
.social_media_icons{
float: left;
position: fixed;
margin-top: -69%;
}
我用@media
查询在屏幕上移动。现在@media
的宽度很好,但高度不太好。因此,当内容发生变化,页面高度变大或变小时,我有一个javascript函数,可以更改div
:的页边空白顶部
$(document).ready(function(){
if(document.documentElement.clientWidth >= 1101){
if($(".container").height() > 600 && $(".container").height() < 1299){
$(".social_media_icons").css("margin-top", "-115%"); //problem right here
} else if($(".container").height() > 1300){
$(".social_media_icons").css("margin-top", "-273%"); //problem right here
} else if($(".container").height() <= 500){
$(".social_media_icons").css("margin-top", "-45%");
} else{
$(".social_media_icons").css("margin-top", "-68%");
}
}
});
正如您所看到的,在注释行中的margin-top
的值(分别为-115%
和-273%
)有点混乱!当然,这些值在FF或IE中根本不起作用。
问题:当页面上的内容变得比600px
大时,为什么Chrome要求margin-top
的%值如此荒谬?
事实上,为什么我必须更改margin-top
的%?它不应该相对于fixed
元素上的视图窗口吗?这意味着,设置margin-top
的值一次,无论内容如何,都应该将其定位在完全相同的位置,因为view-port
的高度永远不会改变。
尝试类似的东西
.social_media_icons{
float: left;
position: fixed;
top:0;
left:0;
}
http://www.w3.org/TR/CSS2/visuren.html#propdef-位置
相关文章:
- 使用jQuery更改元素的顶部位置
- 页面滚动在粘性页脚布局中保持滚动顶部位置
- 点击更改顶部位置不会有任何作用
- 打开对话框正在更改我的滚动顶部位置
- 获取文档的当前顶部位置
- 单击时通过动画更改元素的顶部位置
- jQuery在某些动画更改其位置后获取元素的最新顶部位置
- 单击时使用旧的jQuery滚动顶部位置
- 防止 iframe 中的恶意 Flash 广告将用户重定向到顶部位置
- 更改borderBottom在顶部位置地址的颜色
- Jquery点击事件只在页面到达顶部位置时起作用
- Jquery注意,右顶部位置,显示新消息更高(又名后进先出)
- 变换(缩放)与简单的宽度/高度和左/顶部位置
- 如何获得文本本身的顶部位置,而不是文本元素,在jQuery/javascript
- 设置顶部位置为父元素与子元素之差的1/2
- Chart.js,每次更新后,避免滚动到顶部位置
- 如何找到窗口顶部位置和我的iframe开始位置之间的距离
- jQuery -拖放-获取左侧和顶部位置
- 基于顶部位置更新Div的类名
- 设置顶部位置并打开新选项卡