如何用JS让DIV固定在一个位置

JavaScript034

如何用JS让DIV固定在一个位置,第1张

<body>

<div id="div1" style="width:100px height:100px background:#ccc"></div>

</body>

<script>

var oDiv = document.getElementById('div1')

oDiv.style.position = 'fixed'

oDiv.style.top = '20px'

oDiv.style.left = '20px'

</script>

主要思想就是,在js中修改div的位置。所有的赋值,都可以计算后再传值,这样就不想CSS中只能写一个值了。

方法一:

思路:利用text-align属性将图片保持在底部,然后设置padding-top的值使其保持在底部。

结构如下:

<div>

<img src="images/tt.gif" width="150" height="100" />

</div>

CSS样式如下:

div {width:300pxheight:150pxbackground-color:#CCCborder:#000 1px solidtext-align:centerpadding-top:50px}

运行结果如下:

释义:

图片的尺寸为150x100px,DIV的大小为300x200px;

background-color:#CCCborder:#000 1px solid为DIV加个边框和背景色,便于观察效果。

text-align:center,实现图片的保持在底部;padding-top:50px,50px这个数值是经过计算得到的,padding-top的值具体算法如下:(DIV的高度 – 图片的高度)/2,但这里要注意,根据盒模型原理,我们还要将DIV原来的高度200减去padding-top的值,这样显示的才是正确的,否则DIV会变高。

方法二:

思路:只用padding属性,通过计算求得保持在底部

结构代码同上;

CSS样式如下:

div {width:225pxheight:150pxbackground-color:#eeeborder:#000 1px solidpadding-top:50pxpadding-left:75px}

备注:这里DIV的宽高计算都遵循盒模型原理,计算方法同上。

方法三:

思路:

利用图片的margin属性将图片保持在底部,利用DIV的padding属性将图片保持在底部。

结构代码同上;

CSS代码如下:

div {width:300pxheight:150pxbackground-color:#eeepadding-top:50pxborder:#000 1px solid}

img {display:blockmargin:0 auto}

备注:

Img是内联元素,要设置其margin属性使其保持在底部,就要将其转换为块元素display:block然后利用margin:0 auto实现图片的水平保持在底部;(有的设计师为图片再加个div标签,然后通过div标签的margin实现保持在底部

万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改(这是一项推荐标准、外语原文:W3C Recommendation、见本处参考资料原文内容:)。

2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,该标准规范终于制定完成。

HTML5草案的前身名为 Web Applications 1.0,于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的 HTML 工作团队。

HTML 5 的第一份正式草案已于2008年1月22日公布。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。

2012年12月17日,万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规范已经正式定稿。根据W3C的发言稿称:“HTML5是开放的Web网络平台的奠基石。”

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>无标题文档</title>

<style>

*{margin:0pxpadding:0px}

body{font-size:12pxline-height:1.5emcolor:#333font-family:Arial, Helvetica, sans-serif}

.content{height:3500px}

.bottomDiv{position:fixedheight:24pxline-height:24pxtext-align:centerbackground-color:#efefefborder-top:1px solid #CCCleft:0pxbottom:0px_position:absolute}

</style>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script><!--jquery引用地址-->

<script>

$(document).ready(function(){

var screenWidth = $(window).width()//获取屏幕可视区域的宽度。

$(".bottomDiv").width(screenWidth)//将宽度赋值给bottomDiv使其可以贯穿整个屏幕。

var screenHeight = $(window).height()//获取屏幕可视区域的高度。

var divHeight = $(".bottomDiv").height() + 1//bottomDiv的高度再加上它一像素的边框。

$(window).scroll(function(){

var scrollHeight = $(document).scrollTop()//获取滚动条滚动的高度。

if(!window.XMLHttpRequest){

$(".bottomDiv").css("top",screenHeight + scrollHeight - divHeight)

}//判断是否为IE6,如果是,执行大括号中内容

})

})

</script>

</head>

<body>

<div class="content"></div>

<div class="bottomDiv">我始终在最底下</div>

</body>

</html>

我自己做的,仅供参考~