读书人

把style写在lt;stylegt;和标签后面的区别,

发布时间: 2012-03-19 22:03:05 作者: rapoo

把style写在<style>和标签后面的区别
一个简单的程序 按键,显示DIV的位置。
写出主要代码就是了。

<script>
function Info(){
var s = document.getElementById( "Mydiv ");
alert(s.style.top);
}
</script>

方法一:把div的样式写在标签后面

<body>
<div id= "Mydiv " style= " "position:absolute; top:100px; left:100px;> Hello,world! </div>
<input type=button value= "Press " onclick= "Info() ">
</body>

显示100px

方法二:把div的样式写在 <style> 里面
<style>
#Mydiv{
position:absolute; top:100px; left:100px;
}
</style>

<body>
<div id= "Mydiv "> Hello,world! </div>
<input type=button value= "Press " onclick= "Info() ">
</body>

这个时候显示一片空白

请问,为什么会出现这种情况,CSS是怎样一个运行机制?

[解决办法]
alert(s.offsetTop);
[解决办法]
因为后者没有style属性。用alert(s.currentStyle.top);
[解决办法]
<div id= "Mydiv "> Hello,world! </div>
---------------------------------------------
楼主应该搞清楚ID和CLASS的区别和联系啊!!你把第二种方法的ID换作CLASS试试
[解决办法]
应该说是js的动作机制的问题
你试一下以下代码,看看区别就明白了:
<html>
<script>
alert(document.body.innerHTML);
</script>

<body>

haha
</body>
<head> <title> abcdefg </title> </head>
<script>
alert(document.title);
</script>
</html>
//会提示没有对象
<html>

<body>
<script>
alert(document.body.innerHTML);
</script>
haha

</body>
<head> <title> abcdefg </title> </head>
<script>
alert(document.title);
</script>
</html>
//显示 <script> alert(document.body.innerHTML); </script> ,没有haha
<html>

<body>

haha
<script>
alert(document.body.innerHTML);
</script>
</body>
<head> <title> abcdefg </title> </head>
<script>
alert(document.title);
</script>
</html> //这样才有haha
最后一种:
<html>

<body>
<script>
alert(document.title);
</script>
haha

</body>
<head> <title> abcdefg </title> </head>

</html>
//显示空白

读书人网 >CSS

热点推荐