分类存档: CSS学习

seo角度谈css布局设计-禅意花园学习笔记

几个月没有接触css了,现在有点需要又开始了css的学习之路。主要还是研究禅意花园,每次看禅意花园网站都有不小的收获,禅意花园的强大让我不得不佩服。学习seo之后不知不觉间就会把网站优化,制作与seo联系在一起,css也不列外。

1、正确合理的使用html语义标记。

表现样式和正确的语义编码原理上说有一定的差别的。可能为了实现一种效果可以有很多的方法,但是从seo和css布局设计方便性的角度而言,我们应该采用正确的形式来编写。不合理的如下:

<b><font size=”2″>css Zen Garden</font></b>
<br /><br />
<font size=”1″>A demonstration of what can be accomplished visually through <acronym title=”Cascading Style Sheets”>CSS</acronym>-based design. Select any style sheet from the list to load it into this page</font>

下面这是正确的语义编写:

<div id=”garden”>
<h3>css Zen Garden</h3>
<p>A demonstration of what can be accomplished visually through <acronym title=”Cascading Style Sheets”>CSS</acronym>-based design. Select any style sheet from the list to load it into this page</p>
</div>

2、避免过度使用div和span。

css布局div必不可少,行内元素span也需要,虽然他们很好用,但是我们经常会犯的错误就是过度使用div和span。这样可能会导致html文档结构的不清晰,少量合理的使用div和span,很多时候应该多考虑应用html元素是否有更好的选择。因为把内容隐藏在深深的div容器之下不利于搜索引擎的抓取,影响网页的信噪比。正确的使用他们可以使html文档仅仅有条,搜索引擎索引更加的简单,蜘蛛爬行更容易。

3、利用css布局网站内容。

利用css可以使网站内容到导航有左上角到右下角的形式显示。利用css设计符合seo的网页,避免了搜索引擎每次首先爬行的都是一层不变的导航,栏目。搜索引擎可以第一时间抓取新的内容。

4、做适当的css优化

css代码优化减肥和采用链接形式使用css,可以更好的较少网页的大小,最有利于seo的网页大小在30k一下,如果很合理的使用css布局和设计页面,页面文件大小可以得到很好的减肥,同时服务器负担也将大大减小,网页打开速度也可以得到一定的提高。 无论是用户体验还是seo都是非常有好处的。

禅意花园最让我敬佩的就是html结构不变的情况下,可以设计出各式各样精美充满艺术气息的网页。如果你的网站也是这样的,那么你在怎么该版,对网站seo也没有什么影响。这个实在是让人不得不佩服!

浅析绝对定位(absolute)的定位问题

绝对定位这个对于学习css的人来说是绝对要知道的一个知识点,主要谈谈绝对定位(absolute)这一概念的理解:

当层设置了position:absolute并产生偏移(设置了top,left等值)时,该层将完全从文本流中脱离,进而以该层所在的最近的有设置定位的父容器的坐标原点为参考点进行偏移,可以这理解,该层已经和同级容器中的其它元素脱离了关系,也不会对其它元素产生人和影响(当它不存在!)。

注意:如果父容器没有设置position属性或position值为static时,将以body的坐标原点为参考(或者说是最初的包含块:可能是画布或 HTML 元素)。

 body{
padding:0 0; margin:0 auto;}
.r{width:200px; height:200px; border:#CC0000 1px solid;margin:0 auto; }
.a1{position:absolute; top:40px; left:100px; border:#333333 1px solid; width:200px; height:100px;}
-->
绝对定位父容器未定义定位方式
子元素层,绝对定位层

效果如图:

绝对定位的父容器未定义定位方式

绝对定位的父容器未定义定位方式

如图,子元素层,设置的绝对定位是以body作为参考对象的。

 body{
padding:0 0; margin:0 auto;}
.r{width:200px; height:200px; border:#CC0000 1px solid;margin:0 auto; position:relative;}
.a1{position:absolute; top:40px; left:100px; border:#333333 1px solid; width:200px; height:100px;}
-->
绝对定位父容器定义定位方式为relative
子元素层,绝对定位层

修改父元素的定位方式后,效果如图:

修改父容器定位方式为relative后效果图

修改父容器定位方式为relative后效果图

此时的子层绝对定位就是以离他最近的定位的父层的作为参考的。

再次强调的就是“该层所在的最近的有设置定位的父容器的坐标原点为参考点进行偏移”。

css优化方法总结

随着网络的普及,网站竞争也是如火如荼,要在网络中能够比其他网站更加的获得青睐,更有竞争力方法很多,在网站建设中时刻要用的css的优化也就非常的有必要。特别是大型网站的css代码优化。

当然要说说css优化的意义:
1、减少占用网页字节。在同等条件下缩短浏览器下载css代码时间,相当于加快网页打开速度
2、便于维护。简化和标准化css代码让css代码减少,便于日后维护
3、让自己写的css代码更加专业。

在这里总结下css优化方法

1、css样式尽量合并成一个外部文件,采用link方式导入到网页中来,可以减少不少内嵌在网页中的css代码。

2、多用全局样式,比如网页中只有一个h1标签,那么直接在css文件中定义h1的样式,如h1{……},而不要给h1标签加class或者id来定义样式,这样一来就可以省略class=”"或id=”",整个网页精简下来就可以简洁不少代码。

3、多采用父级继承样式控制,在div中尽量使用不同标签来控制网页表现形式,比如一个div中需要有3个不同颜色的文字,这样做同样可以减少不少的class和id。
<div>
<p>
<span>文字</span>
段落内容
</p>
</div>
css样式可以这样写:
div { color: #000}
div p { color: #0f0}
div span { color: #f00}

4、使用css缩写形式,促进CSS代码精简、优化(有背景,边框,list,font等属性的缩写这里就不详述,网站列子很多)

5、很多人在设置css样式时,很多时候都是一个属性设置就是一行,这样将占css文件很多的空格和回车位空间(虽然看上去会比较整齐,但是为了增加速度和减少占用空间)这样将节约空格和回车位,及css文件行数,从而节约代码文件字节(特别是大站)

6、对于同属性的id或者同属性的选择器,可以将其进行提取。如:
.gongyong{font-size:12px;border:1px solid #000000;padding:5px;}
.ys1{ width:25px;}
.ys2{width:50px;}
引入样式时就可以这样写:
<div>div css样式</div>
<div class=”gongyong ys2″>div css样式2</div>

id属性值相同时:可以合并一起写如:
#id1,#id2{color:#ccc, width:100px;}

7、对css代码条理化排列:
比如:可以将导航,内容,底部的css代码分类,用注释进行分隔,而共用部分也可以单独列出来。
这一点,其实也是主要根据个人习惯,笔者本人就是比较习惯 这样写。

css任意选择器的使用

所谓任意选择器就是通用选择器,它可以用来对所有的元素设置某种属性,虽然这种情况并不多见,但是在某些情况下它是相当好用的。它还可以和子选择器组合使用来对祖先元素计数。例如:
*{cursor:auto}
这个规则将鼠标指针的形状重置为浏览器的默认形状。此规则可以迅速的取消对鼠标指针的所有改动。
另外一般情况下,在ff等浏览器下,元素的外边距默认情况下一般是不为零的,这时就可以利用任意选择器来设置默认值比如:
任意选择其例子图片

如同右侧的图为在默认情况下,div的外边距是不为零的,则与浏览器就有一定的距离。左侧的则为利用的*{margin:0px;}规则,那么div就会紧贴浏览器。当然这并不是唯一方法,还有其他的很多方法都可以做到。

可以方便使用“任意选择器”的另一个地方是在这样一类选择器中,它们必须尽在文档中的某个深度进行匹配。例如,为了选择出body元素中的所有段落的设置,可以采用如下规则:
body*p{font:medium “gill sans”,serif}

虽然通用选择器的使用并不广泛,但是在某些场合是可以适当的运用,这里举的例子只是简单的介绍其使用方法。

由psd到xhtml教程

在我css学习模块中前面已经有提到psd到html的编写思路这个也只是总体上的思路!真正要动起手来还是会遇到很多困难,新手可能还是会无从下手的!在这里推荐一些由psd到xhtml的教程:

1、按部就帮,一步一步教你编写一个网页

2、从零开始学习css布局

3、几个简单教程教你由psd到html

4、高手教你由psd源文件转换成html(视频教程)

5、经典css模板教程

6、为你网页效果图写css+xhtml编码

7、ps切片与编写css+html编码教程

以上这些教程是本人收集的较为经典的教程。虽然是英文的,但是相信大部分都是可以看得懂的,有图文说明,相信是可以很好理解的。

浮动自适应高度解决

最近在编写博客页面时候,遇到一个浮动自适应高度问题:显示的最外层并不能和内层的div高度自动适应。






如下图:

总结下三点解决办法:
一、使用after对象:


效果如下图:

二、使用overflow


三、使用空标签clear清除属性:




其中空标签可以为div 、 p等,我个人认用p会比较好。

css精灵(css sprites)分析

现在网页浏览的速度不管是seo优化还是网站的点击率来说越来越重要,提高网页显示速度最有效的一个方法是减少页面的HTTP请求次数,为了减少HTTP请求次数,最直接有效的方法是使用精灵图片(CSS sprites),精灵图片是把许多图片放到一张大图片里面,通过CSS来显示图片的一部分。
CSS Sprites原理
CSS Sprites其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background-repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。

CSS Sprites优点
1.利用CSS Sprites能很好地减少了网页的http请求,从而大大的提高了页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
2.个人认为能CSS Sprites能减少图片的字节,我曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。
3、一般在一些导航,列表图标都可以利用css 精灵技术来实现,相对可以减小图片大小,增加图像加载速度,避免图像的延迟。

CSS Sprites缺点
诚然CSS Sprites是如此的强大,但是也存在一些不可忽视的缺点
1.在图片合并的时候,你要把多张图片有序的合理的合并成一张图片,还要留好只够的空间,防止板块内不会出现不必要的背景;这些还好,做痛苦的是在宽屏,高分辨率的屏幕下的自适应页面,你的图片如果不够宽,很容易出现背景断裂;
2.CSS Sprites在开发的时候比较麻烦,你要通过photoshop或其他工具测量计算每一个背景单元的精确位置,这是针线活,没什么难度,但是很繁琐;幸好腾讯的鬼哥用RIA开发了一个CSS Sprites 样式生成工具,虽然还有一些使用上的不灵活,但是已经比photoshop测量来的方便多了,而且样式直接生成,复制,拷贝就OK!
3.CSS Sprites在维护的时候比较麻烦,如果页面背景有少许改动,一般就要改这张合并的图片,无序改的地方最好不要动,这样避免改动更多的css,如果在原来的地方放不下,有只能(最好)往下加图片,这样图片的字节就增加了,还要改的css。
CSS Sprites非常值得学习和应用,特别是页面有一堆ico(图标)。总之很多时候大家要权衡一下利弊,在决定是不是应用CSS Sprites。

个简单的CSS Sprites的demo

代码

<div style=“float:left; width:120px; padding-left:20px; background:url(ico.png) left top no-repeat”>这里显示红叉</div>  
<div style=“float:left; width:120px; padding-left:20px; background:url(ico.png) left -32px no-repeat”>这里显示绿勾</div>  
<div style=“float:left; width:120px; padding-left:20px; background-image:url(ico.png); background-position:left top; background-repeat:no-repeat”>这里显示红叉</div>  
<div style=“float:left; width:120px; padding-left:20px;  background-image:url(ico.png); background-position:0 -32px; background-repeat:no-repeat”>这里显示绿勾</div>  
看看页面中的显示!

最好的由PSD到html思路

根据网上高手的经验,再加上自己的习惯整理的psd到html思路,感觉非常的适合自己。
1.拿到psd后,先不要做别的,分析这个页面,先在脑袋中或者草稿纸上描绘大概的结构。
2、根据设计稿的的情况,分析背景图的分布、ICO图的分布,再直接在文本编辑器中将网页的框架写出来,不要假设这块将来css要去怎么渲染,完全自然化的标签,不加任何的css。
3、切割相应的图片,导出、合并图片
4、编写CSS样式中的整体以及模块代码,在几个主流浏览器下测试,确保大体定位都没有问题
5、编写细节的CSS样式,进行细节调整。还是要浏览器测试。
另外:
为自己的代码添加注释,在css,html中都要合适的为自己的代码添加注释。
图片的合并,减少请求量
结构的合理性,语义化
样式的简洁,便于后期维护
多为后期的维护以及程序开发着想,如何简单实现效果

禅意花园学习笔记1–行内元素span

自从不久前接触禅意花园以来,深深的被禅意花园的设计所震撼了!于是我想根据禅意花园中的作品来学习css。虽然现在没看过禅意花园这本书,不管我想这又有什么关系呢,我可以先试着通过试着研究学习其中作品源代码,来体验禅意花园的设计思想。

这次认真的看了第一个作品,并且也跟着自己做了一遍,收获最大的我想就是感受到了行内元素span的作用。

在看第一部作品的结构代码时,作者在很多标题,链接上都使用了span元素,还很纳闷为什么要用这么多的span元素,不用好像效果也已经可以实现了。当我看到其css文件代码时,这种纳闷终于逐渐的烟消云散。原来其中作品的标题是用背景图片的,而将文字放在span元素中,则可以通过ID下的span元素设置样式来隐藏标题的文字。这样不管是从内容还是结构上都非常的合理。

另外在一些导航上也常用到行内元素span,其实道理也是一样的:可以更好的进行修饰,实现一些其他的功能,或者功能的拓展等等。

在编写样式ID的过程中,区分大小写非常的重要,我因为在这次学习源代码的编写过程中就因为不小心没有注意大小写,检查了好久。在这里再次的警醒自己一定要认真。呵呵

当然行内元素span还有其他很多作用,而这是我在第一次学习禅意花园作品的一点体会,在这里分享下。

成为顶尖CSS设计师的8大原则

CSS是一个非常强大的网站设计标记语言。

  虽然你可能会认为,任何人都可以转去写CSS代码,但是为了确保您在正确的轨道上,这里有如下8项CSS原则,每个网页设计师应该遵循。

  1、W3C验证

  如果你是1个正在写CSS编码的人员,那么建议您每次对您所创建的CSS代码进行验证。 但是,有很多设计师却在这个重要的一步跳过。验证您的代码清理反馈的任何问题,确保它的工作对访问者友好。除了验证你的CSS文件,你也应该验证您的 HTML或XHTML文件。验证这些文件之前,请确保您已经声明了正确的HTML或XHTML的doctype。声明您的doctype似乎是一个简单的 细节,但很多设计师经过很多次验证不通过以后才发现原来是因为他没有声明doctype。

  2、文件

  无论你的项目是一个人单干还是团队协作,很重要的是文件创建工作。如果您是在团队中单人项目,总有机会,你的单人项目将最终演变成一个团队项目,如 果发生这种情况,手头上有文件会变得很多,创建好文件归类与名称,写好注释,协作更方便。即使在如果你是个人单干的项目,当您在创意或使用上突然想用到某 些文件,您却不知道放在哪去了?当您想找到某段代码,却发现因为没有注释变得非常难?

  涉及到创建CSS代码的注释文件,大多数设计师的自然将它放入把它直接关系到他们的代码/ *和* /中。技术上来说这种做法没有什么不正确的。然而,注释直接加入到您的CSS代码会增加该文件大小,从而增加加载时间,减缓一个网站的整体性能的大小。如 果你想成为顶尖的CSS代码编写员,你应该将注释写在一个单独的文件里。

  虽然我知道这做法很有效,但是还是有很多人不同意这种做法。如果你拒绝将注释写在一个单独的文件中,退而求其次,您可以使用CSS压缩机(事实上,即使您将注释写在一个单独的文件中,你仍然可以使用这个CSS压缩机)。当然您也可以从谷歌搜索更好的CSS压缩机。

  3、对Hacks说不

  Hacks是为了让CSS编码在不同浏览器与平台中维持网站正常显示的做法。尽管在社会上Hacks已经成为一个可以接受的做法,这并不意味着 “CSS hacking”是你应该遵守的原则。这种设计方法的问题是,它意味着你为了解决问题而将标准的CSS变得更复杂。虽然你可能认为一个或两个Hacks不 会伤害任何人,但是这种思维可以对您的整体设计思想产生负面影响。

  4、不滥用的div

  由于div的提供了高度的灵活性,很容易让新人过度使用他们。为了避免过度使用DIV标签,你应该在写HTML代码的时候总是问自己是否有一个实际的HTML标记。例如,你为什么不使用HTML标题标记,例如H1和H2?

  一旦你开始考虑到了div的问题,你很快就会使用适当的HTML标记,而不是自动创建一个新DIV。它不仅可以减少代码量,而且还会给你的代码更合理的加载时间。

  5、Class类的命名

  如果你问一个新的设计师,他们决定如何命名Class,他们可能会说,这并不重要。虽然从技术上来说,CSS类的命名没有什么严格的要求,但我们必须纠正那些错误的做法。

  假设您要创建一个类来控制网页上的某部分。比如1个盒子将位于页面底部,它包含读者的评论和黑色的填充背景,很多设计师也许会随便命名,或是叫“黑 色底部”之类的。那么,我们会建议命名为“评论”。因为如果您一但决定更改背景颜色为蓝色或是不把他放在页面底部,那么“黑色底部”这个名称就再不适用 了。

  6、使用简写

  一旦你习惯简写方式,它也是您成为一个好的设计师最有效的做法之一。

  使用多种简写方法,尽量减少了您的文件,同时也减小了网站的加载时间。此外,它不仅可以更容易地组织你的代码,而且对于未来修改代码提供了方便。

  7、不要忘记打印机作为一个优秀的设计师,你应该更倾向于热爱技术,因为你是少数的一部分,生活和呼吸在技术中。不过,由于人们仍然需要打印出来自互联网的信息,那么 您要考虑使CSS内容对打印机友好。您的同行欣赏您所创建的网站,也许他们有兴趣想了解您的布局,也许他们打算将您的CSS打印出来参考,所以作为好的设 计师请不要忽视打印机。

  8、永不停止学习

  你可能认为这最后的原则听起来陈词滥调,但也可说是8条中最重要。 如果你致力于成为最好的设计师,您需要确保您一直致力于扩大你的CSS知识。幸运的是,如果你愿意,这很容易做到,并继续你的CSS教育。只需键入 “CSS”到谷歌,你会看到有48300.0万结果供您浏览。

  除了来自网络上的学习,你也可以和同事,朋友,书籍上学,直到您成为CSS专家,成为顶尖的设计师。

    本篇文章来自就爱免费网 欢迎转载 转载请注明出处,就爱免费网 www.9aifree.com  免费东东一箩筐

设计符合seo的网页结构

在编写网页的过程中,网页结构不是给人看的,而是给机器读得,因此结构要讨好的是SEO.

很多初学者都有这样的习惯:根据网页内容的顺序来编排网页结构的顺序,根据网页内容的显示位置来决定网页结构的嵌套层次。

按照习惯一般就是按网页内容的显示顺序,网页结构的编排顺序:页眉区域 导航栏 主题内容 其他栏目 页脚区域 。但是搜索引擎的蜘蛛爬行时,是按着页面的代码顺序自上而下来搜索的,如果也面内容很多时候,蜘蛛很难最快的爬到核心内容区域,于是会在没有爬行到核心内容的所在区域返回,这样会导致搜索抓取的内容都是一些功能性的内容。由于这些内容在其他页面中都反复出现,搜索引擎就会认为他们是相似的页面。

为了避免这样的情况发生,我们不妨吧核心的内容放在前面,这样就有利于搜索引擎的的发现和收录。因此我们可以这样编排网页的结构:页眉区域 主题内容区域 导航栏 其他栏目 页脚区域。

然后我们就可以利用css来调整网页结构的显示顺序即可。

对网站重构的理解

将内容与样式的分离,网站重构的目的是使内容结构标准化,更加符合web标准

样式与内容结构的分离,更利于管理和网站的改版等!”禅意花园“即为很好的例子!非常值得研究和学习,在我以后的css学习中我将以它作为重要的研究对象!

我非常的赞同林小志的看法,在理解网站重构之前,是应该“思维重构”

就要懂开博的尝试

空间更换之前:使用免费空间      
  很早就一直酝酿着做一个个人博客,但是由于能力上的不足所以直到今天才得以实现。在一年来不断的探索学习,终于基本上了解css ,seo优化等知识。

        但是目前还处于尝试阶段,所以就用国外的免费空间,可能速度上有所欠缺,不过相信在未来很短的时间里一定会有所改善的。

       人生就是在不断的学习中成长,不断的懂得新的知识,新的技术,生活将更加精彩,更加绚丽!

空间更好之后:

 至于博客名称就要懂的取名就是因为我认为人生是一个不断学习的过程。对自己有兴趣的东西就要懂,不断学习,不断奋斗!

对css和seo充满激情,于是主要专注于学习seo学习css。虽然在空间更换的一段时间里,出现不正常,导致谷歌排名没了,但是我想象既然能有一次做到第一,就有第二次。虽然也许会比前面的难,但是我有信心!奋斗ing…….

无觅相关文章插件,快速提升流量