jQuery动态定位

关于页面布局这个问题,一直很纠结,之前一直不知道如何footer定位,后来想了想用jQuery就可以实现这些功能于是自己花了点时间弄了一个页面,可以动态设置根据#header的高度动态设置#main和#footer的位置。

css

body,html{
    margin: 0;
    padding: 0;
    border: 0;
    height: 100%;
}
#container{
    min-width: 100%;
    min-height: 100%;
    position: relative;
    margin: 0;
}
#header{
    width: 100%;
    height: 150px;
    background: #f0f;
    position: absolute;
    margin: 0;
}
#main{
    width: 100%;
    height: 700px;
    background: #f00;
    position: absolute;
    margin-top: 150px;
}
#footer{
    width: 100%;
    height: 50px;
    background: #0f0;
    position: absolute;
}

思路:一、设置一个#container包裹#header、#main、#footer

二、首先要给 htmlbody 元素设置高度(height属性)为100%,这样先保证根元素的高度撑满整个浏览器窗口,然后下面才能使 #container 的高度撑满整个浏览器窗口。至于为什么用同时设置 html body 元素,是因为 FirefoxIE 认为的根元素不一样,因此这里都给他们设置上

三、设置#container为相对定位,

将 #container 设置为相对定位(第9行),目的是使他成为它里面的 #footer 的定位基准,也就是所谓的“最近的定位过的祖先元素”。然后把 #foooter 设置为绝对定位并使之贴在 #container 的最下端。设置min-height为100%。min-height 属性的作用就是使 #container 的高度“至少”为浏览器窗口的高度,而当如果它里面的内容增加了,他的高度会也跟随着增加,这才是我们需要的效果。

四、设置#header的值,然后根据#headerheight值设置#mainmargin-top的值。这样可以设置两个div的距离为0然后用jQuery动态获取#header的值和#main的值然后将#footer的margin-top值设置为#main和#header的高度的和

这样就可以将footer定位在最下方了。

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>头部</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="resource/css/bootstrap.css">
    <link rel="stylesheet" type="text/css" href="resource/css/common.css">
    <script src="resource/js/jquery-2.1.1.js"></script>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script src="resource/js/bootstrap.js"></script>
    <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
</head>
<body>
    <div id="container">
        <div id="header">header</div>
        <div id="main">content</div>
        <div id="footer">footer</div>
    </div>
    <script type="text/javascript">
    $(function(){
        var a=$("#main").height()+$("#header").height();
        var marginTop=a+‘px‘;
        $("#footer").css("margin-top",marginTop);
    });
    </script>
</body>
</html>
时间: 2025-01-02 18:34:14

jQuery动态定位的相关文章

jquery and js

一.window对象表示浏览器中打开的窗口二.window对象可以省略 一.document对象是window对象的一部分二.浏览器的HTML文档成为Document对象 window.location和document.locationwindow对象的location属性引用的是Location对象表示该窗口中当前显示文档的URL.document的对象的location属性也是引用了Location对象window.location===document.location //true j

由 preventDefault()方法 复习jQuery 事件方法

今天看到了 preventDefault() 方法,就复习了一下jQuery 事件方法,记下随记 jQuery 参考手册 - 事件 事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件. 触发实例: $("button#demo").click() 上面的例子将触发 id="demo" 的 button 元素的 click 事件. 绑定实例: $("button#demo").click(function(){$("img

jQuery事件相关

一, 事件的概念 HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件.页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件. 1, 事件流 事件流描述的是从页面中接收事件的顺序 1.DOM事件流 "DOM2级事件"规定的事件流包括三个阶段: ① 事件捕获阶段: ② 处于目标阶段: ③ 事件冒泡阶段 js中还有另外一种绑定事件的方式: 1.addEventListener addEventListener 是DOM2 级事件新增

基于jquery开发的UI框架整理分析

根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据jQuery研发出来的产品,现在也很常见了. 国产jQuery UI框架 (jUI) DWZ DWZ富客户端框架(jQuery RIA framework), 是中国人自己开发的基于jQuery实现的Ajax RIA开源框架.设计目标是简单实用,快速开发,降低ajax开发成本. jQuery 部件布局

微信生成二维码 只需一个网址即刻 还有jquery生成二维码

<div class="orderDetails-info"> <img src="http://qr.topscan.com/api.php?text=http://123.net/index.php?s=/Home/Index/yanzheng/mai/{$dange.id}" style="width: 5rem; margin-bottom: 1rem;" > </div> http://qr.tops

Jquery基础总结

jquery获取元素索引值index()方法: jquery的index()方法 搜索匹配的元素,并返回相应元素的索引值,从0开始计数. 如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置. 如果参数是一组DOM元素或者jQuery对象,那么返回值就是传递的元素相对于原先集合的位置. 如果参数是一个选择器,那么返回值就是原先元素相对于选择器匹配元素中的位置.如果找不到匹配的元素,则返回-1. <ul> <li id=&quo

初识jQuery

jQuery简介 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多的事情.它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作.事件处理.动画设计和Ajax交互. jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口:

zepto与jquery冲突的解决

问题出现的背景: 在light7框架下搭建的触屏版项目中,要拓展一个投票系统,其中投票系统有一个比较完善的上传组件,但是此组件是依赖zepto的,而原来的项目是依赖jQuery的,所以就会遇到冲突的问题: 解决方法1: jquery有一个方法叫noConflict() ,可以把jquery的$改掉. var jq=$.noConflict(); 这个时候用jq来代替jquery的$吧. 解决方法2: zepto的符号改掉 window.zp=window.Zepto = Zepto 在zepto

jQuery父级以及同级元素查找的实例

父级以及同级元素的查找在使用过程中还是蛮频繁的,下面为大家介绍下jQuery是如何实现的,感兴趣的朋友可以参考下 jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class") jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素 jQuery.children(