我在网站的几乎每个元素上都使用绝对定位。它工作正常,但是我遇到的唯一问题是,当我缩小页脚时,页脚仍然很好地居中,但页眉(#header
)和内容(#content
)向左侧移动。我正在使用 margin:auto ,甚至尝试使用 Jquery 将它们都居中,但问题仍然存在。所以任何人都可以给我一个解决方案。我将感激不尽。
问问题
275 次
4 回答
0
当我使用 firebug 检查您的网站时,它显示#logo
,和有一个像素集。#navigation
#righter
#aside
margin-left: ...px
这意味着即使您缩小或放大,它们也总是有设置像素数量的左边距。尝试使用百分比代替。IE:
#righter {
left: 40%;
}
于 2013-01-18T10:55:18.010 回答
0
通常我做什么,当有大量的乱码css和html混合时,我会用jquery强制它:
var w = $(window),
el = $('#elementIwantToCenter');
//when first viewing the site => center el horizontally
el.css({position: 'absolute', left: (w.width()-parseFloat(el.css('width')))/2});
//when resizing browser window => center el horizontally
w.resize(function() {
el.css({left: ($(this).width()-parseFloat(el.css('width')))/2});
});
w.trigger('resize');
示例:http: //jsfiddle.net/XSDM7/
于 2013-04-16T03:12:09.490 回答
0
您应该将具有 id “aside” 和 “righter” 的 div 放在包装器 div 中,并为包装器 div 提供自动边距。
<div style="margin-left:auto;margin-right:auto;width:1024px;" >
<div id="aside"> </div>
<div id="righter"> </div>
</div>
于 2013-01-18T10:42:59.893 回答
0
使用时position:absolute
,您基本上接管了对定位的完全控制,这使得布局成为一项大工作,因为您不会给浏览器留下任何东西。
- 使用
position:relative
而不是使用的position:absolute
地方。 - 使用
top:0px;' on both
#contentand
#footer`。 - 使用 % 作为 和 中顶部的左边距和宽度
#header
,#content
就像在#footer
.
示例#content
:
#aside
{
top: 30px;
float: left;
display: inline;
background-color: #F7B800;
min-height: 500px;
position: relative;
border-radius: 9px;
text-align: center;
margin-left: 15%;
left: 0;
width: 30%;
}
#righter {
vertical-align: baseline;
top: 0px;
float: right;
display: inline;
left: 0px;
position: relative;
min-height: 550px;
word-wrap: break-word;
margin-right: 5%;
width: 45%;
margin-left: 5%;
}
一件重要的事情是margin-left
,margin-right
和width
两个部分加起来为 100%。
于 2013-01-18T10:52:01.623 回答