在使用dreamweaver或者frontpage来制作html网页时,我们有可能会遇到这样的问题:在软件中好好的网页一旦放到浏览器中,就会在网页的下方莫名其妙的多出来或多或少的空白。那么这种空白又要怎么去消除呢?
起先我以为只要在网页的代码中加一个css来约束一下网页的高度就行了,事实证明这样是行不通的。
原因:
首先我们要知道,用软件来写网页的话,大多数都是通过图形化的界面来“堆”网页,这样堆网页的话,在创建层或者表格的时候,软件给层或者表格定义的高度往往会超出我们所想要的高度,但是在软件上是看不出来的;然而,当我们在浏览器中打开网页的时候,我们就会发现,软件中不存在的空白就会在浏览器中显示出来。
而不能仅仅通过添加一个html{height:xxpx;}来约束网页的高度,是因为在网页中,嵌套在元素内部的其他元素的特性会具有更高的优先级。例如:你如果在同一个网页中有如下代码:body{font-size:10px;}p{font-size:9px;}那么该网页
元素中字体大小就应该是9px而不是10px了。由于这个规则的存在,网页中层的总高度大于html{height:xxpx;}中xx的值时,html{height:xxpx;}也就自然没有作用了。
解决方式:
像这种用软件写的网页代码,通过去寻找css中关于层或者表格高度的定义,然后修改高度的值,就能去掉网页中不必要的空白了。
代码如下:
body
{
margin:0px;
padding:0px;
margin-top:60px;
margin-bottom:60px;
}
#div_nav_zone_right
{
position:absolute;
float:right;
z-index:3;
width:120px;
height:100px;
right:0px;
top:332px;
background-color:#999;
}
#div_nav_zone_right_bottom
{
position:absolute;
float:right;
z-index:3;
width:120px;
height:100px;
right:0px;
top:532px;
background-color:#ccc;
}
#div_ul
{
position:fixed;
height:50px;
}
ul,li
{
margin:0px;
}
li
{
list-style:none;
}
$(function()
{
movediv();//页面初始化执行
$(window).scroll(function(){
movediv();
moverightbottomdiv();
});
});
//右侧居中
functionmovediv()
{
varscrolltop=$(document).scrolltop();//滚动条上端隐藏的高度
varclientheight=$(window).height();//网页内容区高度
//设置位置为
varhei=$(#div_nav_zone_right).css(height);
hei=hei.replace(px,);
varnewposy=scrolltop+(clientheight-hei)/2;
$(#div_nav_zone_right).css(top,newposy+px);
}
//右侧居下100像素
functionmoverightbottomdiv()
{
varscrolltop=$(document).scrolltop();//滚动条上端隐藏的高度
varclientheight=$(window).height();//网页内容区高度
//设置位置为
varhei=$(#div_nav_zone_right_bottom).css(height);
hei=hei.replace(px,);
varnewposy=clientheight+scrolltop-hei-100;
$(#div_nav_zone_right_bottom).css(top,newposy+px);
}
1
2
3
4
5
6
7
8
9
10
sd
f
ads
f
ads
ad
sfas
d
as
d
sa
d
ads
f
ads
sad
sa
d
a
d
a
d
a