当我们的css样式中,如果同个元素有两个或以上冲突的css规则,浏览器有一些基本的规则来决定哪一个非常特殊而胜出,也就是常讲的css优先级。 一般情况下,你不必担心css样式冲突,但对于大型而且复杂的CSS样式文件,或有很多CSS文件组成的,就非常有可能产生冲突。下面我们通过2个简单的实例来了解一下:
选择器一样的情况下后面的会覆盖前面的属性。比如:
[CSS在线]-示例代码p { color: red; }
p { color: blue; }
p元素的元素将是蓝色,因为遵循后面的规则。
然而,你不可能经常用相同的选择器冲突达到目的,当你使用嵌套选择器,合理的冲突来了。比如:
[CSS在线]-示例代码div p { color: red; }
p { color: blue; }
也许你看起来p元素在div元素里面的颜色是蓝色,就像后面p元素的规则,但是第一个选择器的特性却是红色。基本上,一个选择器越多特性,样式冲突的时候将显示它的样式。
一组嵌套选择器的实际特性可以计算出来。基本的,使用ID选择器的值是100,使用class选择器的值是10,每个html选择器的值是1。它们加起来就可以计算出特性的值。
p的特性是1(一个html选择器)
div p的特性是2(两个html选择器)
.tree的特性是10(1个class选择器)
div p.tree的特性是1+1+10=12,(两个html选择器,一个class选择器)
#baobab的特性是100(1个ID选择器)
body #content .alternative p的特性是112(两个html选择器,一个ID选择器,一个类选择器)
按照上面的规则,div p.tree的特性比div p高,body #content .alternative p又比它们两个都高。
更详细的优先级计算相关内容可以参考:CSS中优先权计算规则详解
当我们对一些存在多处冲突的css手足无措时,不妨使用上面的优先级规则计算出真正显示的css样式,从而了解我们网页内容真正的显示方式。
通过实例了解CSS样式优先级
css样式设计时快速定位bug的几个好方法
在DIV+CSS模板设计中,检测查找CSS中的BUG无疑是一件痛苦的事情,下面一些经验或许可以帮助你更快的找出CSS中的BUG并进行修补!
1、检查是否清除浮动
其实有不少的 CSS BUG 问题是因为没有清除浮动造成的。养成良好的清除浮动的习惯是必要的,推荐使用 无额外 HTML 标签的清除浮动的方法(尽量避免使用 overflow:hidden;zoom:1 的类似方法来清除浮动,会有太多的限制性)。
2、检查 IE 下是否触发 haslayout
很多的 IE 下复杂 CSS BUG 都与 IE 特有的 haslayout 息息相关。熟悉和理解 haslayout 对于处理复杂的 CSS BUG 会事半功倍。推荐阅读 old9 翻译的 《On having layout》(如果无法翻越穿越伟大的 GFW,可阅读 蓝色上的转帖 )
快捷提示:如果触发了 haslayout,IE 的调试工具 IE Developer Toolbar 中的属性中将会显示 haslayout 值为 -1。
3、边框背景调试法
故名思议就是给元素设置显眼的边框或者背景(一般黑色或红色),进行调试。此方法是最常用的调试 CSS BUG 的方法之一,对于复杂 BUG 依旧适用。经济实惠还环保.
4、检查页面的标签是否闭合
不要小看这条,也许折腾了你两天都没有解决的 CSS BUG 问题,却仅仅源于这里。毕竟页面的模板一般都是由开发来嵌套的,而他们很容易犯此类问题。
快捷提示:可以用 Dreamweaver 打开文件检查,一般没有闭合的标签,会黄色背景高亮。
5、样式排除法
有些复杂的页面也许加载了 N 个外链 CSS 文件,那么逐个删除 CSS 文件,找到 BUG 触发的具体 CSS 文件,缩小锁定的范围。
对于刚才锁定的问题 CSS 样式文件,逐行删除具体的样式定义,定位到具体的触发样式定义,甚至是具体的触发样式属性。
6、模块确认法
有时候我们也可以从页面的 HTML 元素出发。删除页面中不同的 HTML 模块,寻找到触发问题的 HTML 模块。
希望上面的一些办法能够在div+css设计中帮助到你!
浅谈css文件在百度网站优化当中的作用
百度百科是这样为css定义的"CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。"
现在几乎所有的人都知道css+div才是一个可靠的网站模型,因此css的重要性也是不言而喻的,但是css在网站优化当中担当着什么样的作用呢?搜索引擎能不能正确的识别到css文件呢?下面就让青岛seo给大家简要的分析一下吧。
首先最明显的就要数雅虎了,通过网站日志我们可以发现雅虎每次来的时候都会顺便去访问一下那个页面对应的css文件,连着css文件和html页面一起取走,想必在雅虎看来css文件本身就属于网站的一部分,既然取走了那么分析肯定是不可避免的,因此我们可以肯定的说雅虎是很重视css文件的,那么百度和谷歌呢?青岛seo在分析网站日志的时候很少看到他们取走css的时候(事实上一次都没有),有可能是青岛seo看的不仔细吧,但是这却是一个事实,但是你不能说百度和谷歌就不关心css文件,因为我的主页上有几个使用css,做的隐藏域,因为这些隐藏域是因为用户体验而设置的而不是作弊,所以没什么可担心的,不论是谷歌还是百度都能正确的识别到,但是现在显示上就不同了,在谷歌的快照当中那部分隐藏的内容被隐藏了起来,虽然在用户交互过程中可以显示出来,但是明显谷歌不吃那一套,百度也是一样的情况,同样是把css设置隐藏的部分隐藏了起来,这样的话青岛seo的总结就是相对于js文件,css还是比较受到搜索引擎重视的。
虽然css默认的功能应该是很难出现关键字的,但是关键字使用注释的形式出现在css文件当中还是可以的,虽然目前还不清楚这样做对网站优化有多大的作用但是使用这种技术总是没什么坏处的,当然在这里同样不能过度使用,一旦被认定为堆砌的话那么就得不偿失了。
CSS+DIV浏览器兼容问题解决方法及对网页设计的理解
以前在岚海网络学习CSS+DIV的时候也是一头雾水,在一个小小的结构问题上可以花了大半天的功夫,现在接触得多了,其实发现当时只是卡在几个非常细节的问题上:
第一种情况:火狐下是正常的,IE6下间距错乱,这种情况,通常应该检查边距MARGIN,可以试着到边距MARGIN换成填充PADDING,这样通常都可以解决问题,也就是说,我们尽量多的在需要使用边距MARGIN的用填充PADDING去代替。
第二种情况:FLOAT造成的页面错乱,FLOAT是CSS当中最常用到的一个代码,当一个大框架当中有好几个小框架FLOAT的时候会倒致大框架失去它的高度,这个时候我们就应该在所以小框架的最后面,加上一个clear:both来清除浮动。
关于网站建设的几点经验:
1、素材的收集,平时多浏览一些做得好的欧美网站,现在很多人都喜欢去考参一些韩国的酷站,个人觉得欧美网站的用户体验远远好于韩国酷站,也更符合国情。见到好的素材及时收集起来。网页设计是经验的积累,同时也是素材的一个积累。
2、颜色的处理,对颜色有了一定的理解之后,用不超过三种的主色调加浅的过渡色彩(比如很淡的灰色)。这样的网站,不一定美观,但一定不难看。
3、留白的处理,初学者和有经验的设计师最基本的区别就是间距的处理,好的用户体验网站,就是一个对留白处理得非常好的例子。
4、网页的统一性,色彩和框架的统一,大的方面来说,就是整个网站的标题,描述文字、边框颜色,背景,框架的形状。小的细节方面就是一个图标的颜色,一个需要强调的符号都有效果的统一起来。
5、在脑海里画效果图,这是一种设计思维,当你可以在效果图上把首页,或者是大致的元素都确定之后,就可以尝试基脑海中想象中其它页面的效果图的样子。这样便可以节省大量的去把你脑海中的东西画出来的时间。
网站中CSS的垃圾行为
SEO优化时,我们考虑的多是网站的标题、标签之类的优化,关键词描述、关键词密度的喜欢,而对CSS来说,相信很多人应该没有在意,CSS也有垃圾行为,那是当然了,只是这些行为有时候是无意而做的,而有时却是刻意加上去的。
CSS垃圾行为与其他垃圾技术一样,可以让网站在短期内获得明显的收益,但是,也同其它垃圾技术一样,CSS垃圾行为会使网站运行在巨大的风险之下。
1、隐藏文本中的CSS代码,这是个很老套的SEO黑帽方法了,在页面中利用CSS代码,让某些关键词隐藏起来,访客看不到,只让搜索引擎看到,借此来增加关键词的密度,提升排名,这种方法已经过时了,搜索引擎已经很容易判断出来了。
2、利用CSS某种样式,添加隐藏文字,设定某个格式元素的“display”属性为“none”,或者将其显示位置超出屏幕范围,然后在此格式元素下添加大量蕴含丰富关键词,借此提高网站排名。
3、CSS没有外置,网站页面中出现大量的CSS代码,大量的CSS代码集中在网页中,而网页中的CSS代码更是困扰着搜索引擎的耐性,不厌其烦的搜索你网站中的正文,这种方法对网站排名的影响,可想而知。
黑帽方法下的CSS利用,虽然,这些元素在浏览器下不可见,访客可能不会觉察到网页中字句的存在,而对搜索引擎来说这些不可见的CSS元素与页面的正常组成部分没有区别,所以,不要以为刻意的利用CSS做这些黑帽的行为。
而对于无意而为之的CSS垃圾行为,那就需要稍加注意了,不要让代码大量出现在网页中,让蜘蛛更快的访问到网站正文,抓取到页面,实现长期有效的网站优化效果,前提是确保优化中避免使用各类spam技术,即使无意中使用了类似的技术,网站迟早要被搜索引擎惩罚甚至被封,所以,对于一切的垃圾优化行为都不要去做。
网址不带超链接的外链对网站排名有什么影响?
在以前看过一篇“网址不带超链接算外链吗”的文章,这篇文章引起了很多seo人员的争议,文章主要的内容是证明了网址不带超链接是算外链的,我也做了种种的实验,证明了是算外链的,那么这样既然算外链,对排名有多大的用处呢?能带来哪些好处呢?以下就是我的证明:
我为了证明“网址不带超链接是排名有用”的,我首先同时做了两个站,而且域名和空间都是同一时间注册的,空间都是一个服务器上面的,网站的模板和内容都是不一样的,不过大致都是差得多的,都是用div+css布局的,而且我特地选了一个不热门的词做的,那么就拿这两个站称为A战和B站吧!我做好了两个站并都是没有当天就提交给百度,而是我先在两个站里面写了2篇原创的文章,而且也发了几个外链,A站发的是带超链接的外链,B站发的是不带超链接的外链,到了第2天我发现A站已经被百度收录了,B站没有收录,这时我才把A站和B 站提交给了百度,就这样我做了3天的链接,还是一样A站发带超链接的外链,B站发不带超链接的外链,同时两个站上的外链都是差不多的,有分类信息的,论坛的,收藏夹的等等。过了3天B站也被百度收录了,而且同时2个站百度都只收录了首页,结果我费了很大的功夫,在新站初期我每天坚持发4-6个外链。而且两个站里面都是每天一篇文章,每天要么都发原创的,要么都发伪原创的,毕竟时间不是很多,果然过了10几天百度大更新了一次,两个站都放出来了10几篇文章,明显A站比B站多了3篇收录,这并不能说明什么!同时2次更新后我查了一下排名,A站比B站的排名好些,A站(带超链接的外链)的排名在第3页,B站(不带超链接的外链)的排名在第5页,相差的不是很大,毕竟做的关键词不是很热门的,经过一个半月的观察,还是每天做那些事情:外链和内容。百度已经大更新3次了,A站明显的比B站排名好,并且A占上了第1页前5位了,B站还在第2页。我为了继续的证明,因为新站有考察期,百度会给予新站排名展示的机会,又过了半个月,百度又次大更新了,两个站的排名下降了,这是正常情况。经过3个月的证明,A站和B站都上到了首页,只是排名相差5-6位,同时我还证明了一件事情,A站明显的排名不稳定,因为发的都是带超链接的外链,有些带超链接的网址被论坛版主删了之类的,但是B站的外链都还在,因为B站发的都是不带超链接的外链,论坛版主一般是不会删的。同时B站的流量并不比A站低很多。
经过以上我个人辛辛苦苦做了3个月的实验,网址不带超链接的外链是对排名有一定用处的,只是没有带超链接的效果好,同时不带超链接的还可以带来曝光率。举个例子:你发表了一个帖子:内容是:你想要看到世界上顶级的美女吗?就来……。那么一些人看到肯定就以为假的,不过还是有人会去看的,那么不带网址超链接,想看的人就会打开浏览器直接输入网址,这就向百度证明了你网站的知名度。如果上面那个例子你的网址带了超链接,如果被版主看到很可能被删帖,如果别人想看的话就会点进去,虽然流量多一点,但是没有上面打开浏览器输入网址的效果好。事实是一个企业站,只是想做外链,而且百度还会有可能判断你的站属于欺骗行为。上面不带超链接的百度没有办法爬取进去所以就不会判断欺骗行为。这技术不带超链接的好处。而且还对排名有一定的用处。希望大家不要忽略不带超链接的外链。
网页设计采用DIV+CSS和TABLE的优劣
几年前DIV+CSS开始逐渐成为网页设计的首选方式,目前来看,DIV+CSS已成为网页设计的标准,国内非常多的网站在这几年已完成了从TABLE到DIV+CSS的重构。笔者也是一名偏爱这种方式的网页设计师,工作3年来一直采用div+css方式为客户提供设计。那么相比TABLE,它具有哪些优势呢?下面谈谈个人几点体会和认识,希望对同行和有关人员有所帮助。
网页设计采用DIV+CSS,最大的优势是实现网页代码的标准化,摒弃过时的表格布局方式,实现了内容、表现和行为这3者间的分离,html代码结构性更好,阅读和维护更容易,同时网页文件大小也更小。比如最近给一个客户的网站重构后,网页文件大小不到原来的一半,因此占用更少的网站空间,网站打开速度也更快。
DIV+CSS与TABLE方式在设计时差别很大,网页开始设计前需要仔细规划,比如对组成网页的各部分元素命名,方便在css中进行样式定义,公共属性部分最好用类名定义。整个网站通用的样式可以放到单独的一个css文件中,常有的公共属性有:网页宽度、背景颜色、背景图片、字体默认大小、颜色、链接样式等,每个网页不同的样式在css文件中最好集中一块,并在块前说明是哪个网页或哪个网页部分,这样既精简css文件大小,又避免出现混乱,对维护也更方便。值得一提的是,网页代码中不要嵌入样式,彻底实现内容和样式的分离。
做好DIV+CSS的网页设计,个人决得有三点需要重点理解。
1、float属性:DIV(层)默认是占据一整行,对于常见的两列或多列布局的设计,需要能够正确设置float及width属性实现效果。多列布局结束后如果跟了一个占据通栏的层,此时需要设置clear属性清除层浮动。
2、盒模式:层具有宽度width、高度height、边框border、内间距padding和外间距margin等属性,而层实际占据的空间是上述属性值相加的大小,合理运用这些属性能实现紧凑而又美观的网页布局。
3、层嵌套:有经验的网页设计师都知道层不宜嵌套过多,一般不超过3层,嵌套过多的会导致代码复杂冗余、维护困难及运行慢的问题。另外,在多列布局时完全可以用层浮动实现,不需要整体设置一个ie层来嵌入。
单独提下浏览器兼容的话题。DIV+CSS相比TABLE布局,更容易出现多种浏览器不兼容的问题,主要原因是不同的浏览器对web标准默认值不同。国内主流是ie,firefox及chrome用的较少,在兼容性测试方面,首先需要保证在ie多版本不出现问题,这里设计到一些方法和技巧,可以针对具体问题在网站查找解决办法。
总结:DIV+CSS相比TABLE有根多的优势,网页设计师应该及早摒弃TABLE方式,这样更有利于督促自己深入学习DIV+CSS知识。学习并使用DIV+CSS的网页设计方式并不难,只要了解一些基础知识,然后多做几个案例就能逐渐理解掌握。
浅谈CSS对SEO的影响
“CSS对于SEO的影响到底有多大”有一天在群里和大家讨论的时候,我提出这个问题,我原来的打算是他们在我不是很完善的思路上给予补充,可是却 惊讶的发现很多人的观点是:CSS对于SEO有什么影响?没有啊。。我觉的影响SEO的HTML代码才对,甚至有人直接否认这个论点。以下我说说我对CSS影响SEO的解释,大家可以继续探讨此论坛:
一、使用CSS可以更大程度上的简化HTML代码,减少重构的难度。
众所周知,SEO的最基本最核心的地方有两点,一是:让搜索引擎工作简单化,二是:高度的用户体验。而大家也都知道HTML是最影响SEO的部分, 这个观点是毋庸置疑的,但是仅仅通过HTML去给搜索引擎提供有用的信息还是不够的,要使用最精简的HTML就必须使用CSS辅助页面,以达到代码简 约,UI体验,使用CSS来控制HTML使代码更加简化,更加有意义,其次,网站重构,字面理解网站重构,是在不改变事物外部表现的情况下,对其内部结构 进行合理的优化;如果你在HTML代码中使用了大量的class、ID,那么这样,网站在不改变HTML结构的情况下通过去改变CSS去重构,势必会是一 件很费力气的事情。这是我的论点之一,即使用CSS可以更大程度上的简化HTML代码,减少重构的难度。
二、使用精简的CSS来提高网站的用户体验
用户体验也是SEO中很重要的一个因素,一个用户体验及内容都做的很优秀的网站,势必会有很高的粘度,间接的已经影响到了网站的搜索引擎优化,通过 精简的CSS代码,使用CSS sprites等优化技术减少网站的请求项,间接的减少网站的加载时间,通过影响用户体验来影响SEO;
三、在SEO方面的考虑
众所周知,几年前国内的SEO作弊的手段中有一种黑帽办法是讲关键词设置成和背景颜色相同的颜色,以欺骗用户,欺骗搜索引擎。当然我们的搜索引擎已 经不那么傻瓜了,他们有他们的技术可以识别CSS,CSS也已经在他们的考虑范围之内。我们不难猜测,CSS也在间接的影响着网站的搜索引擎优化。
以上,我想大家已经在实际的代码编写中已经体会到这些方面了,只是因人而异,要想做一名优秀的前端工作者,这些细节的地方是应该很注重的,细节决定成败!希望大家都能加入到我们的技术讨论中,相互学习,关于我们的技术讨论群号,我们公布在网站的首页。
一个优秀的车工其工资是一个普通车工的好几倍,但是一个优秀程序员写出来的代码比一个普通程序员要值钱一万倍。——比尔盖茨”
用CSS制作网站导航菜单的好处
导航结构在网站设计中是起到决定性作用的,导航菜单/栏常常通过颜色、排版、形状和一些图片来帮助网站创造更好的视觉和感受,它是网页设计的关键元素。
虽然网站导航菜单的外观是网页设计中关系到整个设计成败与否的关键,策龙重构但视觉效果也不能影响到网站可用性。最理想的设计是网站的导航既能比其他网站的导航外观更吸引人,又不会夺走网站内容的焦点。
不幸的是,目前还有很多网站在使用过时的导航菜单方式,这样使网站可用性大打折扣。如果导航菜单过分的依赖图片那会失去一定的用户,比如那些网速慢或浏览器设置关闭读取网页图片功能。但是,策龙重构并不意味着导航一定要朴素简单才能提高访问性及网站可用性。
现在网页教学网归纳一下CSS导航菜单的好处:
1.减少代码量
结合CSS和XHTML来制作导航菜单会比使用Javascript或图片来实现同样效果更加节省代码(CSS可以结合一些图片来制作导航而且代码量很小,而完全使用图片的导航代码量也要多很多)。策龙重构代码量晓得网站会更有益于搜索引擎的索引排名,而且读取速度会快很多。
2.亲和力
基于CSS的导航菜单对用户来说不但更有可用性,而且更有亲和力。如果用户关闭读取图片和(或)CSS的功能,网站仍然可以以简洁的方式浏览,策龙重构内容结构及网站可用性不会受到影响。有极少数用户使用的旧浏览器虽然不支持CSS,但网站导航菜单却仍然能够访问。
3.无限的设计方案
使用CSS来设计导航菜单并不会限制你的设计。事实上,策龙重构CSS会提供更加灵活的导航设计方案,当用CSS来设置背景图时也能实现各种视觉效果。
4.大量的脚本资源
如果你不想自己从头开始设计基于CSS的导航菜单,策龙重构那么有大量的免费脚本资源可以拿来使用。但暴风彬彬并不提倡使用这些脚本资源,因为这样的话你会和其它成百上千的网站使用同样的导航菜单。不过有一些菜单可以自定义样式(颜色、字体、尺寸及背景图)来符合你自己的网站风格。
网站DIV+CSS布局的优缺点
越来越多的seoer更加趋向于div+css的布局,很多朋友都只知道div+css有利于搜索引擎优化,那么div+css到底对seo有什么好处?今天小姚就来详细的给朋友们说一下div+css的优点及缺点。
首先,我们来说下div+css布局的优点:
第一、利于搜索引擎蜘蛛爬行
根据总结和经验,div+css布局有利于蜘蛛的爬行,拿html的table布局和div+css布局的网页来做对比,很显然table的字节大于div+css的,字节小就有益于搜索引擎蜘蛛下载页面所用的时间,而且也有益于蜘蛛爬行到网站深处。
第二、易于修改
在一般情况下,div+css布局的网站,都是将html页面和css文件分开的,div+css的特点就是能将网页的内容和表现形式分离,所以,假如你要修改网站整站布局的话,一般只需要修改css文件里的的个别属性即可,而这种特点是table不具备的。
第三、减少网页加载时间
前面就提到过,div+css是将css文件和html文件分开的,当用户点击网站时,是在同时下载css文件和html文件,所以可以提高打开网页的速度,而table是必须以标签开始到结束才能显示网页内容,另外,div的html文件则是变加载边显示,这样是不是提高了用户体验?Google已经将网页加载速度列入了排名的因素,尽管这个因素只能影响排名的一小部分,甚至可以忽略,但是有利于seo的办法,我们为什么不用?
说完了优点那么现在就来说说缺点:
第一、开发技术高 众所周知,div+css要兼容各种浏览器,这样增加了div+css开发的难度。
第二、开发时间长 div+css布局相对于table布局来说,div+css的耗费时间要比table布局的时间长很多,另外考虑到浏览器兼容的问题,各种浏览器间的测试也是一个费时的事情。
第三、开发成本高 就上两点所说,高技术和长时间决定了他的成本。