+ -
当前位置:首页 → 问答吧 → 为什么样式表中某个样式,直接在页面上定义有效,而写在外部链接的样式表中就无效呢

为什么样式表中某个样式,直接在页面上定义有效,而写在外部链接的样式表中就无效呢

时间:2008-02-03

来源:互联网

各位大大,小弟也是初学CSS布局不久。最近有个问题烦死我了。我在页面上定义了一个div,然后给这个div定义了样式如下:
#rollnews{
MARGIN:0px auto;
HEIGHT:23px;
WIDTH:778px;
BACKGROUND:url(images/blue/top02.gif);
}
奇怪的是我把这条样式直接写在HTM页面中,就可以生效,而把它写到外部链接的一个CSS文件中,就死活没有效果了。一模一样的语句,这倒底是为何啊?已经困惑了我好几天了,救各位大大指点一下,感激……

(PS:不是图片的路径问题,我试过了,连定义的height和width都不生效)

作者: bangdollxxc   发布时间: 2008-02-03

css路径不对

作者: by0001   发布时间: 2008-02-03

引用:
原帖由 by0001 于 2008-2-3 19:08 发表
css路径不对
不是路径的问题啊,因为CSS文件中其它的一些样式是有效的,只有几条无效,何解啊

作者: bangdollxxc   发布时间: 2008-02-03

把你问的问题描述清楚,不然谁知道你哪儿有问题啊!

作者: by0001   发布时间: 2008-02-03

引用:
原帖由 by0001 于 2008-2-3 21:55 发表
把你问的问题描述清楚,不然谁知道你哪儿有问题啊!
我把代码整理了一下:
<!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" lang="gb2312"> <head> <title>cscsscs</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta http-equiv="Content-Language" content="gb2312" /> <meta content="all" name="robots" /> <meta name="author" content="cscs" /> <meta name="Copyright" content="cscs" /> <meta name="description" content="cscs" /> <meta content=cscs" name="keywords" /> <style> * { margin: 0px; padding: 0px; } body { MARGIN: 0px auto; PADDING: 0px; WIDTH:778px; HEIGHT:auto; border: 0px solid #006633; COLOR: #000000; FONT-SIZE:12px; position:relative; } /*页面头*/ #header{ margin:0px 0px 0px 0px; HEIGHT:110px; WIDTH:778px; background:red; } /*滚动新闻*/ #rollnews{ MARGIN:0px auto; HEIGHT:23px; WIDTH:778px; background:green; } </style> </head> <body> <div id="header"></div><!--顶图--> <div id="rollnews"><span>为什么看不到我啊</span></div><!--滚动新闻--> <div id="mainmenu"><!--导航栏菜单--> <!--导航栏菜单--> </div> <div id="mainbox"><!--主区域--> <div id="leftmenu"><!--左侧登录菜单--></div> <div id="content"><!--中间信息显示区域-->fdasf</div> <div id="rightbar"><!--右侧区域-->fdaf</div> </div> <div id="footer"><!--底部版权信息--> </div> </body> </html>
 提示:您可以先修改部分代码再运行
上面这段代码是正常的,可以看到绿色底色的rollnews层<div id="rollnews">。
可我把<style></style>中间的这段样式写到单独的一个css文件中,再用外部链接CSS的方式来调用:

<style>
* {
margin: 0px;
padding: 0px;
}
body {
MARGIN: 0px auto;
PADDING: 0px;
WIDTH:778px;
HEIGHT:auto;
border: 0px solid #006633;
COLOR: #000000;
FONT-SIZE:12px;
position:relative;
}
/*页面头*/
#header{
margin:0px 0px 0px 0px;
HEIGHT:110px;
WIDTH:778px;
background:red;
}
/*滚动新闻*/
#rollnews{
MARGIN:0px auto;
HEIGHT:23px;
WIDTH:778px;
background:green;
}
</style>

就发现中间:

/*滚动新闻*/
#rollnews{
MARGIN:0px auto;
HEIGHT:23px;
WIDTH:778px;
background:green;
}

这段对<div id="rollnews">的样式定义不起作用了,其它的几个样式定义是正常的,大家可以试一下。。。是不是样式的写法有问题啊?

[ 本帖最后由 bangdollxxc 于 2008-2-3 22:15 编辑 ]

作者: bangdollxxc   发布时间: 2008-02-03

我将你代码复制下来,并运用了外部CSS链接,完全正常啊.

可能有一个原因,你的CSS文档的保存格式不对,将CSS用记事本打开,选择保存文件,并选择保存格式试试.

作者: by0001   发布时间: 2008-02-03

引用:
原帖由 by0001 于 2008-2-3 22:27 发表
我将你代码复制下来,并运用了外部CSS链接,完全正常啊.

可能有一个原因,你的CSS文档的保存格式不对,将CSS用记事本打开,选择保存文件,并选择保存格式试试.
我刚按你的方法试了一下,果然是保存格式的问题,现在正常啦,实在太感谢你啦
以前真没想过这个问题,两个CSS文件明明内容是一模一样的

作者: bangdollxxc   发布时间: 2008-02-03

编码格式的问题?页面和CSS一个是UTF8一个是GB2312?

作者: skylookout   发布时间: 2008-02-04

提醒:最后回贴距现在 981 天,请不要无意义回复[quote]原帖由 bangdollxxc 于 2008-2-3 22:31 发表

我也是遇到这个问题,按这个方法做了没用
我的编码都是utf-8的,怎么回事啊?

作者: myyxuser   发布时间: 2010-10-12