澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站何以将页脚固定在页面底部

2019-10-30 作者:澳门新萄京赌场网址   |   浏览(180)

什么将页脚固定在页面尾部

2011/12/20 · CSS · 1 评论 · 来源: w3cplus     · CSS

来源:w3cplus

用作贰个Web的前端攻城师,在构建页面效果时一定有遇上上边这种气象:当一个HTML页面中带有很少的剧情时,Web页面包车型地铁“footer”部分随着飘上来,处在页面包车型客车半腰中间,给视觉效果带来庞大的熏陶,让您的页面看上去特不佳看,非常是以往宽屏愈来愈多,这种气象越来越常见。那么怎么着将Web页面包车型大巴“footer”部分永久永久在页面包车型大巴最底层呢?

在意了此地所说的是页脚footer长久永世在页面包车型地铁平底,并不是恒久长久在荧屏荧屏的尾巴部分,换句话说,就是当内容独有一丝丝时,Web页面显示在浏览器尾部,当内容中度抢先浏览器高度时,Web页面包车型客车footer部分在页面包车型大巴最底层,简单的讲Web页面包车型地铁footer部分恒久在页面包车型客车平底,换句说,Footer部分世代沉底。如下图所示:

澳门新萄京官方网站 1

这正是说后天任重先生而道远和我们协同上学怎么将页脚固定在页面包车型大巴最底层?

 

方法一:

第意气风发大家来看率先种方式,这种方法是来源于于Matthew James Taylor的《How to keep footers at the bottom of the page》。上面我们就一路来拜会Matthew James Taylor介绍的方法。

HTML Markup

XHTML

<div id="container"> <div id="header">Header Section</div> <div id="page" class="clearfix"> 页面容容部分 </div> <div id="footer">Footer Section</div> </div>

1
2
3
4
5
6
7
<div id="container">
<div id="header">Header Section</div>
<div id="page" class="clearfix">
页面容容部分
</div>
<div id="footer">Footer Section</div>
</div>

事实上大家能够在div#page扩大所需的内容结构,如下所示:

JavaScript

<div id="container"> <div id="header">Header Section</div> <div id="page" class="clearfix"> <div id="left">Left Sidebar</div> <div id="content">Main content</div> <div id="right">Right sidebar</div> </div> <div id="footer">Footer Section</div> </div>

1
2
3
4
5
6
7
8
9
<div id="container">
<div id="header">Header Section</div>
<div id="page" class="clearfix">
<div id="left">Left Sidebar</div>
<div id="content">Main content</div>
<div id="right">Right sidebar</div>
</div>
<div id="footer">Footer Section</div>
</div>

实在来讲,落成那页脚永世长久在页面包车型客车平底,大家只供给七个div,此中div#container是八个器皿,在这里个容器之中,我们包蕴了div#header(头部),div#page(页面主体部分,大家得以在这里个div中加进越来越多的div结构,如上边的代码所示),div#footer(页脚部分)

CSS Code

CSS

html,body { margin: 0; padding:0; height: 100%; } #container { min-height:100%; height: auto !important; height: 100%; /*IE6不识别min-height*/ position: relative; } #header { background: #ff0; padding: 10px; } #page { width: 960px; margin: 0 auto; padding-bottom: 60px;/*等于footer的高度*/ } #footer { position: absolute; bottom: 0; width: 100%; height: 60px;/*脚部的冲天*/ background: #6cf; clear:both; } /*=======主体内容部分=======*/ #left { width: 220px; float: left; margin-right: 20px; background: lime; } #content { background: orange; float: left; width: 480px; margin-right: 20px; } #right{ background: green; float: right; width: 220px; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
html,body {
margin: 0;
padding:0; height: 100%;
}
#container {
min-height:100%;
height: auto !important;
height: 100%; /*IE6不识别min-height*/
position: relative;
}
#header {
background: #ff0;
padding: 10px;
}
#page {
width: 960px;
margin: 0 auto;
padding-bottom: 60px;/*等于footer的高度*/
}
#footer {
position:
absolute;
bottom: 0;
width: 100%;
height: 60px;/*脚部的高度*/ background: #6cf;
clear:both;
}
/*=======主体内容部分=======*/
#left {
width: 220px;
float: left;
margin-right: 20px;
background: lime;
}
#content {
background: orange;
float: left;
width: 480px;
margin-right: 20px;
}
#right{
background: green;
float: right;
width: 220px;
}

下边大家协作来拜候这种方法的兑现原理:

1. <html>和<body>标签:html和body标签中务必将中度(height)设置为“百分百”,那样大家就能够在容器上设置比例莫斯科大学,同一时间需求将html,body的margin和padding都移除,也正是html,body的margin和padding都为0;

2. div#container容器:div#container容器必需设置一个细微中度(min-height)为100%;那首要使他在剧情非常少(或尚未内容)情状下,能维持100%的可观,不过在IE6是不援救min-height的,所认为了包容IE6,我们必要对min-height做料定的相配管理,具体能够看近期的代码,可能阅读Min-Height Fast Hack掌握怎么着减轻min-height在Ie6下的bug难题。此外我们还索要在div#container容器中安装一个”position:relative”以利于里面的要素进行相对定位后不会跑了div#container容器;

3. div#page容器:div#page那些容器有贰个超级重大的安装,供给在此个容器上安装三个padding-bottom值,并且以此值要等于(或略大于)页脚div#footer的冲天(height)值,当然你在div#page中得以动用border-bottom人水-width来代表padding-bottom,但有一点点亟需专一,此处你纯属不能选用margin-bottom来代替padding-bottom,不然会没办法兑现效果与利益

4. div#footer容器:div#footer容器必需安装叁个牢固中度,单位能够是px(或em)。div#footer还索要开展相对定位,何况安装bottom:0;让div#footer固定在容器div#container的最底层,那样就足以兑现我们日前所说的功力,当内容独有一点点时,div#footer固定在显示屏的尾部(因为div#container设置了两个min-height:百分之百),当内容中度超越显示屏的冲天,div#footer也一定在div#container尾巴部分,也正是原则性在页面包车型客车底层。您也足以给div#footer加设二个”width:百分之百”,让她在一切页面上赢得延伸;

5. 其他div:至于此外容器能够依据本身要求举行安装,举例说前面包车型大巴div#header,div#left,div#content,div#right等。

优点:

组织轻易清晰,不须要js和其余hack能贯彻各浏览器下的非凡,况且也适应iphone。

缺点:

白璧微瑕就是内需给div#footer容器设置三个恒久中度,这几个惊人能够依据你的需求实行安装,其单位能够是px也得以是em,何况还亟需将div#page容器的padding-bottom(或border-bottom-width)设置大小也便是(或略大于)div#footer的惊人,手艺平常运行。

上边便是Matthew James Taylor介绍的如何兑现页脚永恒长久在页面包车型大巴底部,假若大家感兴趣能够翻阅原文,也足以一贯点击这里查看Demo。

 

Web页面的“footer”部分随着飘上来,处在页面包车型大巴半腰中间,给视觉效果带来非常的大的震慑,令你的页面看上去很倒霉看,极度是前些天宽屏越多,这种气象越来越分布,本文将介绍三种缓和方案,须求掌握的相爱的人能够参见下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
html,body {
margin: 0;
padding:0;
height: 100%;
}
#container {
min-height:100%;
height: auto !important;
height: 100%; /*IE6不识别min-height*/
position: relative;
}
#header {
background: #ff0;
padding: 10px;
}

Sticky Footer (让页脚长久停靠在页面尾部,而不是基于相对地点),stickyfooter

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="Author" content="胡超">
<title>super胡</title>
<style>
* {
margin:0;
padding:0;
}
html,body, #wrap
{
height: 100%;
}
body > #wrap
{
height: auto;
min-height: 100%;
}
#main
{
padding-bottom: 150px;
} /* must be same height as the footer */
#footer {
position: relative;
margin-top: -150px; /* negative value of footer height */
height: 150px;
clear:both;
border-color:1px solid red;
background:red;
}
/* CLEAR FIX*/
.clearfix:after
{content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {display: inline-block;
}
/* Hides from IE-mac */
.clearfix { height: 1%;/*zoom:1*/
}

</style>
</head>
<body>
<div id="wrap">
<div id="main" class="clearfix">
</div>
</div>
<div id="footer"> sagsdhgdf
</div>
</body>
</html>
你会意识,页脚的可观在那地被重复使用了一回,那是首要的,并且多少个惊人必得运用同风度翩翩的值。wrap <div>的height属性把温馨拉伸至窗口全体中度的尺码,负的margin会把footer升高到main <div>的padding之处上去,因为main已经在wrap的里边,所以main的padding已是wrap 百分之百可观的风姿罗曼蒂克局地。 那样,footer就留在页面的底部了。

今昔还不算实现,我们还要求去clearfix main <div>。
.clearfix:after {content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;}
.clearfix {display: inline-block;}
/* Hides from IE-mac */
* html .clearfix { height: 1%;}

Footer (让页脚永恒停靠在页面尾巴部分,并不是依赖相对地点),stickyfooter !doctype html html head meta charset="UTF-8" meta name="Author" content="胡超" tit...

CSS完成尾巴部分固定,CSS完成牢固

  在制作页面有这么大器晚成种情状:当一个HTML页面中含有超级少的剧情时,Web页面包车型客车“footer”部分随着飘上来,处在页面包车型客车半腰中间,给视觉效果带来庞大的影响,让您的页面看上去很欠雅观,非常是当今宽屏愈来愈多,这种情况更是广大。

  那么什么样将Web页面包车型大巴“footer”部分永恒永远在页面包车型大巴尾部呢?注意了此间所说的是页脚footer恒久恒久在页面包车型地铁后面部分,实际不是永远永远在显示屏显示器的底层,

  换句话说,就是当内容唯有一小点时,Web页面显示在浏览器尾巴部分,当内容中度超过浏览器中度时,Web页面包车型大巴footer部分在页面包车型大巴平底,简单来讲Web页面包车型大巴footer部分长久在页面包车型大巴平底,换句说,Footer部分永远沉底

方法:

  1. HTML结构:

<div id="container">
    <div id="header">Header Section</div>
        <div id="page" class="clearfix">
        页面容容部分
        </div>
    <div id="footer">Footer Section</div>
</div>

  达成那页脚永久长久在页面的平底,大家只必要多少个div,在这之中div#container是三个器皿,在这里个容器之中,大家富含了 div#header(头部),div#page(页面主体部分),div#footer(页脚部分)

  2. CSS代码:

html,body {
  margin: 0;
  padding:0;
  height: 100%;
}
#container {
  min-height:100%;
  height: auto !important;
  height: 100%; /*IE6不识别min-height*/
  position: relative;
}
#header {
    background: #ff0;
    padding: 10px;
}

#page {
    width: 960px;
    margin: 0 auto;
    padding-bottom: 60px;/*等于footer的高度*/
}

#footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 60px;/*脚部的高度*/
    background: #6cf;
    clear:both;
}

原理:

 

方法二:

这种措施是运用footer的margin-top负值来落到实处footer永久恒久在页面的底部效果,上面大家实际看是怎么着实现的。

HTML Markup

XHTML

澳门新萄京官方网站何以将页脚固定在页面底部,footer标签css完成位于页面底部固定。<div id="container"> <div id="page">Main Content</div> </div> <div id="footer">footer</div>

1
2
3
4
<div id="container">
<div id="page">Main Content</div>
</div>
<div id="footer">footer</div>

地点的代码是最基本的HTML Code,同一时候你也发觉了div#footer和div#container是同辈关系,不像方法一,div#footer在div#container容器内部。当然你也能够依靠你的须求把内容扩大在div#container容器中,如:一个三列布局,並且还包蕴header部分,请看上面包车型大巴代码:

XHTML

<div id="container"> <div id="header">Header Section</div> <div id="page" class="clearfix"> <div id="left">Left sidebar</div> <div id="content">Main content</div> <div id="right">Right sidebar</div> </div> </div> <div id="footer">Footer section</div>

1
2
3
4
5
6
7
8
9
<div id="container">
<div id="header">Header Section</div>
<div id="page" class="clearfix">
<div id="left">Left sidebar</div>
<div id="content">Main content</div>
<div id="right">Right sidebar</div>
</div>
</div>
<div id="footer">Footer section</div>

CSS Code

CSS

html, body { height: 100%; margin: 0; padding: 0; } #container { min-height: 100%; height: auto !important; height: 100%; } #page { padding-bottom: 60px;/*惊人等于footer的万丈*/ } #footer { position: relative; margin-top: -60px;/*等于footer的高度*/ height: 60px; clear:both; background: #c6f; } /*==========其他div==========*/ #header { padding: 10px; background: lime; } #left { width: 18%; float: left; margin-right: 2%; background: orange; } #content{ width: 60%; float: left; margin-right: 2%; background: green; } #right { width: 18%; float: left; background: yellow; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
html,
body {
height: 100%;
margin: 0;
padding: 0;
}  
 
#container {
min-height: 100%;
height: auto !important;
height: 100%;
}
#page {
padding-bottom: 60px;/*高度等于footer的高度*/
}
#footer {
position: relative;
margin-top: -60px;/*等于footer的高度*/
height: 60px;
clear:both;
background: #c6f;
}
/*==========其他div==========*/
#header {
padding: 10px;
background: lime;
}
#left {
width: 18%;
float: left;
margin-right: 2%;
background: orange;
}
#content{
width: 60%;
float: left;
margin-right: 2%;
background: green;
}
#right {
width: 18%;
float: left;
background: yellow;
}

主意生机勃勃和章程二有几点是完全相仿的,比如说方法一中的1-3三点,在艺术二中都完全一样,换句话说,方法二中也急需把html,body高度设置为百分百,仁同一视置margin,padding为0;其二div#container也须要安装min-height:百分百,并管理好IE6下的min-height宽容难题;其三也亟需在div#page容器上安装三个padding-bottom或border-bottom-width值等于div#footer中度值(或略大于)。那正是说二种办法区别之处是:

1. div#footer放在div#container容器外面,也正是说两个是同级关系,假如您有新因素须要停放在与div#container容器同级,那你须求将此因素进行相对定位,不然将会毁掉div#container容器的min-height值;

2. div#footer进行margin-top的负值设置,何况此值等于div#footer的万丈值,何况也要和div#page容器的padding-bottom(或border-bottom-width)值相等。

优点:

组织简单清晰,无需js和其他hack能贯彻各浏览器下的匹配。

缺点:

要给footer设置固定值,因而不可能让footer部分自适应中度。

大家只要对这种方法感兴趣,你也得以浏览一下《CSS Sticky Footer》和《Pure Css Sticky Footer》,也许直接点击Demo翻开其源代码。

 

 

#page {
width: 960px;
margin: 0 auto;
padding-bottom: 60px;/*等于footer的高度*/
}

css 怎设置尾部固定

display: block;
position: absolute;
bottom: 0;
height: 40px;
left: 0;
right: 0;  

方法三:

兑以往页脚恒久永远在页面底部的办法有那叁个,不过有这一个情势是急需接收一些hack或依据javaScrip来落到实处,那么接下去要说的方法三,仅仅使用了15行的样式代码和三个老妪能解的HTML结构完毕了效果与利益,何况包容性强,其他没多少说,先看代码。

HTML Code

XHTML

<div id="container"> <div id="page">Your Website content here.</div> <div class="push"><!-- not have any content --></div> </div> <div id="footer">Footer Section</div>

1
2
3
4
5
<div id="container">
<div id="page">Your Website content here.</div>
<div class="push"><!-- not have any content --></div>
</div>
<div id="footer">Footer Section</div>

地点是最基本的HTML 马克up,当然你也能够拉长新的剧情,然则有几许亟待小心若是您在div#container和div#footer容器外增添内容的话,新加进徕的要素须求开展相对定位。如如说你可以在div#container容器中丰硕你页面所需的因素

HTML Code

XHTML

<div id="container"> <div id="header">Header Section</div> <div id="page" class="clearfix"> <div id="left">Left sidebar</div> <div id="content">Main Content</div> <div id="right">Right Content</div> </div> <div class="push"><!-- not put anything here --> </div> </div> <div id="footer">Footer Section</div>

1
2
3
4
5
6
7
8
9
<div id="container">
<div id="header">Header Section</div>
<div id="page" class="clearfix">
<div id="left">Left sidebar</div>
<div id="content">Main Content</div>
<div id="right">Right Content</div>
</div> <div class="push"><!-- not put anything here -->
</div>
</div> <div id="footer">Footer Section</div>

CSS Code

CSS

html, body{ height: 100%; margin:0; padding:0; } #container { min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -60px;/*margin-bottom的负值等于footer中度*/ } .push, #footer { height: 60px; clear:both; } /*==========其他div效果==========*/ #header { padding: 10px; background: lime; } #left { width: 18%; float: left; margin-right: 2%; background: orange; } #content{ width: 60%; float: left; margin-right: 2%; background: green; } #right { width: 18%; float: left; background: yellow; } #footer { background: #f6c; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
html,
body{
height: 100%;
margin:0;
padding:0;
}
#container {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -60px;/*margin-bottom的负值等于footer高度*/
} .push,
#footer {
height: 60px;
clear:both;
}
/*==========其他div效果==========*/
#header {
padding: 10px;
background: lime;
}
#left {
width: 18%;
float: left;
margin-right: 2%;
background: orange;
}
#content{
width: 60%;
float: left;
margin-right: 2%;
background: green;
}
#right {
width: 18%;
float: left;
background: yellow;
}
#footer {
background: #f6c;
}

面前边二种艺术相对比,方法三更相通于艺术二,他们都将div#footer放在div#container容器之外,何况那些办法在div#container容器中还扩充了四个div.push用来把div#footer推下去,上边大家就协同看看这种办法是怎么贯彻页脚恒久长久在页面头部的。

1. <html>和<body>标签:html,body标签和前三种办法相符,须要安装“height:百分百”同仁一视置“margin”和“padding”为0;

2. div#container:措施三重视部分就在于div#container的设置,首先须要安装其最小高度(min-height)为100%,为了能合作好IE6,须要对min-height进行包容处理(具体管理方法看日前或代码)此外这里还会有贰个关键点在div#container容器上急需设置一个margin-bottom,况兼给其取负值,并且值的朗朗上口相等div#footer和div.push的高度,如果div#footer和div.push设置了padding和border值,那么div#container的margin-bottom负值供给加上div#footer和div.push的padding和border值。也正是说“div#container{margin-bottom:-[div#澳门新萄京官方网站,footer的height padding border]或者-[div.push的height padding border]}”。简单的说:div#container的margin-bottom负值要求和div#footer以至div.push的高度一致(倘使有padding或border时,中度值供给丰硕他们)

3. div.push:在div.push中我们不应当放置任何内容,何况那几个div必得放置在div#container容器中,何况是最尾部,並且必要安装此中度值等于div#footer的值,最棒拉长clear:both来灭绝浮动。div.push容器在这里处所起的效果就是将footer往下推。

4. div#footer容器:div#footer容器和艺术二风姿浪漫律,无法放手div#container内部,而和div#container容器同级,假若要求安装成分和footer之间的间距,最佳使用padding来代替margin值。

优点:

简单明了,易于通晓,宽容全部浏览器。

缺点:

同期比较前边的二种方法,多选拔了一个div.push容器,相符此办法限定了footer部分中度,无法达到规定的规范自适应中度效果。

譬喻大家对艺术三想询问越来越多能够点击这里也许直接从DEMO中下载代码自个儿探究一下。

 

作为一个页面仔你势必蒙受过:当一个HTML页面中带有比较少的内容时,Web页面包车型客车“footer”部分随着飘上来,处在页面的半腰中间,给视觉效果带来超级大的震慑,令你的页面看上去很倒霉看,极度是以后宽屏更多,这种情景更为常见。那么哪些将Web页面包车型地铁“footer”部分恒久永远在页面包车型地铁平底呢?先来看下上面包车型客车代码吧
那是第黄金年代种方案,前边还应该有二种
HTML代码

#footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px;/*脚部的中度*/
background: #6cf;
clear:both;
}

html中用css固定到最尾部css怎写?

<div style="width:200px;height:100px;border:1px solid #000;bottom:0;position:absolute">定位到底层了</div>
把那一个代码放在<body></body>里面试下  

在创造页面有像这种类型风流倜傥种情状:当四个HTML页面中隐含很少的从头到尾的经过时,Web页面包车型客车footer部分随着飘上来,处在页面...

方法四:

前方二种艺术大家都不必要别的javaScript或jQuery的佑助,让大家贯彻了页脚恒久长久在页面尾巴部分的效率,前边两种方法即使从未应用jQuery等援助,但大家都非常扩展了HTML标签来得以实现效果与利益。假若您省略了那几个HTML标签,再要促成效益就相比较困难了,那么那时候使用jQuery或javaScript方法来扶助达成是意气风发种很好的法子,上面我们就联合来看第各样格局,通过jQuery来得以完结页脚永恒恒久在页面底部的效力。

HTML Markup

CSS

<div id="header">Header Section</div> <div id="page" class="clearfix"> <div id="left">Left sidebar</div> <div id="content">Main Content</div> <div id="right">Right Content</div> </div> <div id="footer">Footer Section</div>

1
2
3
4
5
6
7
<div id="header">Header Section</div>
<div id="page" class="clearfix">
<div id="left">Left sidebar</div>
<div id="content">Main Content</div>
<div id="right">Right Content</div>
</div>
<div id="footer">Footer Section</div>

此处大家尚无扩充没用的HTML标签,那个时候您也能够每30日在body中追加内容,只要确保div#footer是在body最后面

XHTML

. . . <div id="footer">Footer Section</div>

1
2
3
4
.
.
.
<div id="footer">Footer Section</div>

CSS Code

CSS

*{margin: 0;padding:0;} .clearfix:before, .clearfix:after { content:""; display:table; } .clearfix:after { clear:both; } .clearfix { zoom:1; /* IE <8 */ } #footer{ height: 60px; background: #fc6; width: 100%; } /*==========其他div==========*/ #header { padding: 10px; background: lime; } #left { width: 18%; float: left; margin-right: 2%; background: orange; } #content{ width: 60%; float: left; margin-right: 2%; background: green; } #right { width: 18%; float: left; background: yellow; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
*{margin: 0;padding:0;}
.clearfix:before,
.clearfix:after {
content:"";
display:table;
}
.clearfix:after {
clear:both;
}
.clearfix {
zoom:1; /* IE <8 */
}  
 
#footer{
height: 60px;
background: #fc6;
width: 100%;
}
/*==========其他div==========*/
#header {
padding: 10px;
background: lime;
}
#left {
width: 18%;
float: left;
margin-right: 2%;
background: orange;
}
#content{
width: 60%;
float: left;
margin-right: 2%;
background: green;
}
#right {
width: 18%;
float: left;
background: yellow;
}

这些主意不像前边三种办法靠CSS来兑现效果与利益,这里只须求按常规的体制需要写样式,可是有几许要求极其注意在html,body中不可能安装中度height为百分百,不然此办法不大概平常运转,借让你在div#footer中设置了八个冲天并把宽度设置为百分百将尤其贯虱穿杨了。

jQuery Code

JavaScript

<script type="text/javascript"> // Window load event used just in case window height is dependant upon images $(window).bind("load", function() { var footerHeight = 0, footerTop = 0, $footer = $("#footer"); positionFooter(); //定义position Footer function function positionFooter() { //取到div#footer高度 footerHeight = $footer.height(); //div#footer离显示器顶上部分的偏离 footerTop = ( $(window).scrollTop() $(window).height()-footerHeight) "px"; /* DEBUGGING STUFF console.log("Document height: ", $(document.body).height()); console.log("Window height: ", $(window).height()); console.log("Window scroll: ", $(window).scrollTop()); console.log("Footer height: ", footerHeight); console.log("Footer top: ", footerTop); console.log("-----------") */ //假使页面内容惊人小于显示屏中度,div#footer将相对定位到显示器底边,不然div#footer保留它的健康静态定位 if ( ($(document.body).height() footerHeight) < $(window).height()) { $footer.css({ position: "absolute" }).stop().animate({ top: footerTop }); } else { $footer.css({ position: "static" }); } } $(window).scroll(positionFooter).resize(positionFooter); }); </script>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<script type="text/javascript">
// Window load event used just in case window height is dependant upon images
$(window).bind("load", function() {
var footerHeight = 0,
footerTop = 0,
$footer = $("#footer");
positionFooter();
//定义position Footer function
function positionFooter() {
//取到div#footer高度
footerHeight = $footer.height();
//div#footer离屏幕顶部的距离
footerTop = ( $(window).scrollTop() $(window).height()-footerHeight) "px";
/* DEBUGGING STUFF
console.log("Document height: ", $(document.body).height());
console.log("Window height: ", $(window).height());
console.log("Window scroll: ", $(window).scrollTop());
console.log("Footer height: ", footerHeight);
console.log("Footer top: ", footerTop); console.log("-----------")
*/
//如果页面内容高度小于屏幕高度,div#footer将绝对定位到屏幕底部,否则div#footer保留它的正常静态定位
if ( ($(document.body).height() footerHeight) < $(window).height()) {
$footer.css({
position: "absolute"
}).stop().animate({
top: footerTop
});
} else {
$footer.css({
position: "static"
});
}
}
$(window).scroll(positionFooter).resize(positionFooter);
});
</script>

使用方面包车型大巴jQuery代码,能够轻易的帮大家兑现页脚长久永远在页面尾部,使用这种办法有多少个地方供给专心

1. 担保经常引入了jQuery版本库,并符合规律调入了地方这段jQuery代码;

2. 确保<div id=”footer”>是在body中最后;

3. 保障在html,body中从不安装中度为百分百。

优点:

布局简单,没有须求附加无用标签,包容全数浏览器,不用其余写极度样式。页脚能够不稳定中度。

缺点:

在不扶助js的浏览器中不大概符合规律展现,此外每一趟更改浏览器大小会闪动一下。

后天重大和豪门一齐切磋和学习了三种艺术,用来实现Web页面脚厅长久永世在页面包车型客车底,这里在着得说知道一下,是页脚恒久长久在页面包车型地铁底层,并非永久永久在浏览器窗口的平底,换句话说,就说当页面主内容并未有显示荧屏高时,页脚固定在显示器荧屏的底层,但当页面内容超越显示器屏幕低度时,页脚又会跟随情节往下沉,但页脚都恒久永世在页的平底。前边二种都以纯CSS达成,最终大器晚成种接收的是jQuery方法达成,各类方法各自有各自的利弊,我们使用时方可依靠自身的必要来决定,希望那篇小说能给大家带来一定的扶植。假设大家有更加好的方法,希望能和自家一块儿分享,倘让你愿意,能够一贯给自己留言,作者会直接和你在一块,一齐上学和研究那地点的文化。

赞 7 收藏 1 评论

澳门新萄京官方网站 2

复制代码

</style>
</head>
<body>
<div id="container">
<div id="header">Header Section</div>
<div id="page" class="clearfix">

代码如下:

</div>
<div id="footer">Footer Section</div>
</div>
</body>
</html>

<div class="container">
<div class="header">那是底部</div>
<div class="page clearfix">
<div class="left">left sidebar</div>
<div class="content">main content</div>
<div class="right">right sudebar</div>
</div>
<div class="footer">footer section</div>
</div>

  

CSS代码

复制代码

代码如下:

html,body{margin:0;padding:0;height:100%}
.container{min-height:100%;height:auto !important;height:100%;/*ie6不识别min-height,如上述管理*/position:relative;}
.header{background:#ff0;padding:10px;}
.page{width:960px;margin:0 auto;padding-bottom:60px;/*padding等于footer的高度*/}
.footer{position:absolute;bottom:0;width:100%;height:60px;/*footer的高度*/background:#6cf;clear:both;}
.left{width:220px;height:800px;float:left;margin-right:20px;background:lime;}
.content{background:orange;width:480px;float:left;margin-right:20px;}
.right{width:220px;float:right;background:green;}
.clearfix:after,
.clearfix:before{content:"";display:table}
.clearfix:after{clear:both;overflow:hidden}
.clearfix{zoom:1;}

落到实处那页脚永世长久在页面包车型客车底层,大家只须求四个div,此中div#container是多少个容器,在此个容器之中,大家包涵了div#header(头部),div#page(页面主体部分,我们能够在此个div中加进更加的多的div结构,如上边的代码所示),div#footer(页脚部分)
上边大家协同来寻访这种措施的完成原理:
<html>和<body>标签:html和body标签中必得将中度(height)设置为“百分百”,那样大家就足以在容器上安装比例中度,同期要求将html,body的margin和padding都移除,也等于html,body的margin和padding都为0;

div#container容器:div#container容器必需安装一个微小中度(min-height)为100%;这关键使他在剧情比很少(或尚未内容)景况下,能保持100%的可观,可是在IE6是不扶持min-height的,所感到了宽容IE6,大家须要对min-height做肯定的十一分处理,具体能够看近年来的代码,其它大家还要求在div#container容器中设置一个”position:relative”以有益里面包车型地铁因素举行相对定位后不会跑了div#container容器;
div#page容器:div#page那么些容器有三个很首要的设置,供给在这里个容器上安装一个padding-bottom值,况兼那些值要等于(或略大于)页脚div#footer的冲天(height)值,当然你在div#page中得以利用border-bottom人水-width来替代padding-bottom,但有点亟需专心,此处你一定不能够接纳margin-bottom来代表padding-bottom,不然会无法兑现效果与利益;

div#footer容器:div#footer容器必需安装一个原则性高度,单位能够是px(或em)。div#footer还必要举行相对定位,况兼安装bottom:0;让div#footer固定在容器div#container的最底层,那样就能够达成大家眼下所说的效用,当内容只有好曾几何时,div#footer固定在荧屏的最底层(因为div#container设置了贰个min-height:百分百),当内容中度超越显示屏的惊人,div#footer也一向在div#container底部,也正是定位在页面包车型客车底部。你也足以给div#footer加设一个”width:百分百”,让他在全路页面上获得延伸;
其他div:至于别的容器能够依据自个儿须要实行安装,譬如说后面包车型地铁div#header,div#left,div#content,div#right等。
优点
组织轻易清晰,没有须求js和别的hack能完毕各浏览器下的拾分,何况也适应iphone。
缺点
美中不足正是须求给div#footer容器设置一个一定高度,那些惊人能够依赖你的供给举办安装,其单位能够是px也足以是em,况且还亟需将div#page容器的padding-bottom(或border-bottom-width)设置大小也便是(或略大于)div#footer的中度,技术平常运营。
方法二
这种办法是应用footer的margin-top负值来兑现footer永恒永久在页面的底层效果,上边大家切实看是如何落到实处的。
HTML代码

复制代码

代码如下:

<div id="header">header</div>

<div id="container">
<div id="page" class="clearfix">
<div id="left">left sidebar</div>
<div id="content">main content</div>
<div id="right">right sidebar</div>
</div>
</div>
<div id="footer">footer</div>

CSS代码

复制代码

代码如下:

html,body{height:100%;margin:0;padding:0;}
#container{min-height:100%;height:auto !important;height:100%;}
#page{padding-bottom:60px;/*也就是照旧当先footer的可观*//*border-bottom-width:60px;边框宽度也能够*/}
#header{padding:10px;background:lime;}
#footer{position:relative;margin-top:-60px;/*等于footer的高度*/height:60px;clear:both;background:#c6f;}
#left{width:18%;float:left;margin-right:2%;background:orange;}
#content{width:60%;float:left;margin-right:2%;background:yellow;}
#right{width:18%;float:right;background:green;}
.clearfix:after{visibility:hidden;height:0;font-size:0;display:block;content:" ";clear:both;}
* html .clearfix{zoom:1;}/* ie6 */
*:first-child html .clearfix{zoom:1;} /* ie7 */

上边包车型地铁代码是最中央的HTML Code,同一时候您也发觉了div#footer和div#container是同辈关系,不像方法黄金时代,div#footer在div#container容器内部。当然你也能够依照你的急需把内容增加在div#container容器中,如:三个三列布局,而且还带有header部分。

方法生龙活虎和办法二有几点是完全肖似的,比方说方法第一中学的1-3三点,在点子二中都相仿,换句话说,方法二中也供给把html,body中度设置为百分百,同等对待置margin,padding为0;其二div#container也急需安装min-height:百分百,并处理好IE6下的min-height包容难点;其三也亟需在div#page容器上安装二个padding-bottom或border-bottom-width值等于div#footer中度值(或略大于)。那么二种方法不相同之处是:
div#footer放在div#container容器外面,也正是说两个是同级关系,若是你有新因素须求停放在与div#container容器同级,那您要求将此因素实行相对定位,否则将会破坏div#container容器的min-height值;
div#footer进行margin-top的负值设置,并且此值等于div#footer的高度值,况兼也要和div#page容器的padding-bottom(或border-bottom-width)值相等。
优点
结构轻便清晰,无需js和其他hack能落到实处各浏览器下的同盟。
缺点
要给footer设置固定值,由此不恐怕让footer部分自适应中度。 

本文由澳门新萄京官方网站发布于澳门新萄京赌场网址,转载请注明出处:澳门新萄京官方网站何以将页脚固定在页面底部

关键词: