知识分享

css应用归纳

发表日期:2016/2/21 13:09:05 文章编辑: 浏览次数:2282

1、css整理之前的一些话

如果说html是前端的“核心”,那css是当之无愧的“灵魂”(可以先猜测下js我会把它当做什么)
相对于后台程序来说,前端工作人员最庆幸的时候应该就是业务需求改动的时候,而不是在修改的时候抱怨,因为一个良好的结构外加一套简洁合理的样式表,工作量真的可以说是“洒洒水”(当然生活在一些逗比产品经理阴影下得除外)。

那一套简洁、合理的样式表我们应该注意哪些:
*  css盒子模型;
*  浮动;
*  block和inline;
*  层叠;
*  样式优先级;
当然知识都是死的,活学活用才是硬道理,但是上面这几个点真的是基础中的基础,如果都理解不了的话,真的不敢多要哪怕一点工资。
2、基础知识浅析
*  在html整理的时候曾经提到过,相比较div布局,我更倾向于“块元素”布局,而块元素除了自身就是块元素的标签以外,还有css进行设定的块元素,举个简单的例子,或许我可以将一个链接块化,就不用在一个div外面再套一个链接那么啰嗦了。
至于行元素,它同样有着明显的弊端,它是无法控制长宽的(原谅我经常忘记),而inline-block则还要面对着兼容的问题,这是要时刻警惕的。
*  我们都知道所谓的网页,就是一个html文档,然后很自然就有“文档流”的名词会在脑海中浮现。
“文档流”的出现,也就意味着我们需要考虑到“层叠”和“浮动”,这种让内容脱离文档的存在。当然,脱离文档不是目的,让合适的内容显示在合适的地方才是宗旨。
“浮动”的时候,最需要注意的地方有两点:内层浮动,外层容器没有高度了一种情况,另一种情况就是没有及时清理浮动,影响了后面内容的展示。
而“层叠”和“透明”的搭配,则让整个界面的展示更立体和丰满起来,可操作的空间更多更大,需要考虑的问题同样是,脱离文档流的元素是不占位置的,跟正常文档流的排版不要混起来。另外,relative,absolute和fixed的问题,面试还是会经常碰到的。
*  “盒子模型”听起来很简单,但是具体到应用,或者说多个“盒子”嵌套起来,或者“盒子”里有了太多元素的时候,往往就有太多问题的出现,另外,说起来容易,但是真的找到那个对的“盒子”并进行分析并不是那么容易的,总之,“盒子”的概念还是理解的再透彻点好。
当然,“兼容性”在这个地方的出现也最为频繁,谁让它操控着整个“文档流”呢。



*  样式的优先级,只是理论上的说法,而在实际应用中,为了方便后期的网站维护,更多的是看你如何合理的添加样式:
一方面做到结构和表现分离,我们尽可能不要写内联样式,而为了代码的复用和美观,我们尽可能的把它放在外部样式表上;
另一方面,复用是为了更好的开发,但是往往在修改的时候容易出现问题,这个时候尽量精确就非常有必要了,我的宗旨一般都是“不见兔子不撒鹰”。举个简单的例子,设置一个初始字体为10px,外层如果加了字体的百分比,内部元素再进行设置百分比,则得到的实际字体是不正确的,而将有字的区域都单独成一个独立的模块,再进行设置,结果就不一样了。
说了那么多,总之就是“方便复用”和“模块化”的合理搭配就是了。
3、css编写的个人习惯
正所谓“万法归一”,条条道路通罗马,能够大体知道意思之后,总能拼凑出想要的结果,而前端工作的“门槛低”就是如此来的。
但也正因为如此,前端工作真是纯粹的良心活,将心比心,一样的工作干好干差一样钱也别想总能留住人。我应该是有轻微的代码洁癖,见不得缩进不对,空格和没空格的交叉,甚至没有良好的注释都不太喜欢,但很庆幸同事们都很配合。
reset.css在网上搜的话,应该有很多,个人建议是参考网上的代码,然后真正读明白各自的意思,然后在分析需求,思考界面之后,再进行编写,太多东西可能我们真的不需要;
我习惯有一个contain.css,是接手项目的所有通用的样式,并且在上面标明哪些用到了。(个人感觉还是有些必要的,可能在修改的时候我能很快的定位到这个地方,但是往往不敢下手去改,因为项目上线后,实在不敢轻易改通用代码,就是不知道还有哪些用到了)

再然后就是每个页面我习惯单独建一个css文件,然后名称与相应的html相同,也方便定位,代码也简单,目前感觉还不错。
当然具体到实际项目时,可能出现各种情况,这里也不列举了。

3、关于css发展的一些思考

随着时代的发展,单纯的css开始被看做很基础,但是很low的东西了,每当面试的时候,都是有没有用过less,sass,scss等等预处理框架,仿佛逼格要高一点。

我只用过less,还是只用了一部分功能。

不得不说,less自有其可取之处。在css编写的时候,每当碰到圆角,透明等等问题的时候,总在想每次都要写这么多,不能简单点么,有了需求,对less的应用也就提上了日程,而且在学习过程中,发现它的嵌套,混合,变量等等,比自己想的更多,更全面,也是一时感慨不已。

但是,如果css学不好,真的能打包票用的好less么,而less只不过用编程的思想去编写css,而其本源还是css,思想才是最重要的。
当然,这只是我的浅见,我还没用过sass和scss,只是听过,就不多说了。
我始终相信,思想和态度才是解决问题的关键,积跬步,聚小流,终能到达那远方,加油2016....

欢迎专注北京网站建设公司 莹晨设计

将文章分享到..
相关新闻
全新新闻
随机新闻
最新网站设计案例
Hi,我来帮您!