css选择器太长失效了

html-css019

css选择器太长失效了,第1张

答:css失效的原因如下

一、div 标签未关闭

这是版面设计失效的最常见原因之一。当我们了解到这是多少精致的版块设计失效的罪魁祸首时,总会大吃一惊。开启的div标签是最普遍的版块设计失误之一,也是最难诊断的失误之一。验证程序有时会指向错误的开启div标签,诊断时就像大海捞针一样麻烦。

二、不当的DOCTYPE声明

不声明DOCTYPE,或者在文件开始错误声明DOCTYPE,也是一个常见错误。根据一般经验,Strict DOCTYPE是大家追求的最高级验证。Strict validation表明你的网页能够在所有浏览器上都得到最佳展示。

三、结尾斜线

如果你的网站不能验证,很有可能是在代码的某个地方漏写了结尾斜线。我们很容易忽略结尾斜线之类的东西,特别是在image标签等元素中。

在严格的DOCTYPE中这是无效的。要在img标签结尾处加上“/”以解决此问题。

四、JavaScript

如果已经声明Strict DOCTYPE,就需要在JavaScript中覆盖CDATA标签。验证程序的这一方面难倒了很多程序员,因为网站倾向于为广告和追踪脚本使用嵌入的 JavaScript。

五、不良嵌套

嵌套就是元素里又包括元素,我们容易混淆嵌套元素的顺序。例如在div标签前启动strong标签,但又先关闭div标签。这可能不会改变版块布局,但却会使你的版块设计失效。

如果仍无法发现,建议用“开发者模式”/“调试模式”(F12打开)查看对应元素继承了哪些属性,是不是其他的样式覆盖了自己设置的样式。

这种情况应该是css路径发生改变造成的。因为你使用wamp访问的时候,css的路径变成了类似:http://localhost/ ....aaa.css的样式,这样路径就变了,要保证整个站点文件的结构一致,才能正常访问。检查修改方法:

找到HTML页面的link标签,看css的路径:

可能是这样的:xxx/aaa.css 这种情况就建一个叫xxx的文件夹,然后把aaa.css放进去就好。

如果是 xxx/xxx/aaa.css 这种相应的创建xxx/xxx(两层目录)然后把aaa.css放进去就好。

注意路径前面是否有【./】或者【../】有的话要注意文件夹结构。./是同级目录,而../是上一级目录。

可能HTML里的css文件没有采用相对路径,而是绝对路径,即还保留那个网站的网址,比如:http://www.baidu.com/style/css/aaa.css  这样的话,在浏览器直接打开的时候,它的css还是从原站加载下来,而不是你下下来的css文件,但当你在wamp使用的时候,网址变了,自然不能加载了。

虽然直接修改HTML的css路径也能解决,但就怕你的页面太多,改不过来,所以修改css的文件夹结构是最简单的方式。

当然,碰到像上面第3点提到的情况,就只能一个一个HTML文件的进行替换了(替换成相对路径,即把域名去掉,改成像./css/aaa.css这样的)。