移除了css框架,世界干净了
在之前的webapp项目里,我使用了bootstrap作为三方的css库,只调取了其中一部分源码的less使用,大部分代码仍然是自己写的。
自己的代码也是参照bootstrap的目录结构和它的一些规范。
新的一个项目开始了,这次是PC端的项目,我把之前webapp里的所有less复制过来,进行了一些小修改,发现之前写的那一套,
还不错。
之前用的是流式布局,像素是定死了的,这次打算用rem,修改了一些混合针对rem,很平滑的过度了。
代码写了很久,突然发现,我这次只用了bootstrap的一个类,后来想了想,我移除了bootstrap。
之后又陷入了思考,当初用bootstrap的原因是什么。好像是为了加速开发,提高效率,但是仔细想想,做webapp项目时,
它几乎没有什么作用,反而让自己的html里面混合了它的类,虽然我用xx-float,这种前缀来代表哪些是自己写的类。
而且bootstrap定义的很多全局样式,会非常影响项目的开发,还必须得用css优先级去重定义一次,甚至有些就算重定义的也不一定合理。
最后我移除了bootstrap,感觉舒服多了。
想想还是应用场景的问题。构建工具、模块化工具、JS库、前端框架,这些都是一直以来比较关注的点,然而都是今天才发现,
在使用css库上,好像少思考了一些。对,bootstrap这种三方的库还是适合做一些对UI要求不高的页面,设计突出的界面完全就只有
重新写,才能实现,更何况目前公司的项目都是独立设计要求的。
所以,考虑到公司正进入平台化、多项目的这个阶段,还是决定自己维护一套css,更加组件化,最后达到能很快更新产品,加快程序开发和设计开发
的效率。要实现这一点,还是需要设计师那边先清理出一些规范,然后组件化设计,边设计边考虑重用、维护等,前端工程师同样也是这样。
我想bootstrap也是这样慢慢的一个过程最后才从产品里抽离出来的产物。
移除了css框架,世界干净了的更多相关文章
- min.css----全世界最快的CSS框架
有一个CSS框架,叫min.css,它号称是全世界最快的. 难怪,它的代码就这一点. 你看它的页面例子,像Bootstrap,但比后者轻多了,它只是一些CSS样式,没有JavaScript代码. ...
- 发现2017年最好的CSS框架
如今,无数的框架出现在定期而少数人喜欢自助,Foundation和angular.js主宰了整个世界的发展.CSS代表用于描述HTML(或XML)文档表示的样式表语言.一个框架被定义为一个包,它由一组 ...
- Material UI – Material Design CSS 框架
Material Design 是谷歌推出的全新的设计理念,采用大胆的色彩.流畅的动画播放,以及卡片式的简洁设计.Material Design 风格的设计拥有干净的排版和简单的布局,容易理解,内容才 ...
- 使用自己的CSS框架(转)
[经典推介]CSS框架选择向导 不少CSS框架已经存在了一段时间,但大多数Web开发人员避免使用它们. 相反最有经验的开发者希望创建自己的CSS框架,提供个性化解决方案的优势,并减少对第三方的解决方案 ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
jquery.ui.all.css 1.所有主题必须的文件都包含在这个文件中.它由ui.base.css和ui.them.css两个文件中拉入的@import执行构成. jquery.ui.base. ...
- 如何编写轻量级 CSS 框架
Github 地址: https://github.com/nzbin/snack Demo 演示: https://nzbin.github.io/snack/ 前言 这篇文章我已经酝酿了半年之久, ...
- 常用的CSS框架
常用的CSS框架 之前在写自己的个人网站的时候,由于自己Web前端不是特别好,于是就去找相关的CSS框架来搭建页面了. 找到以下这么一篇文章(列出了很多常用的CSS框架): http://w3scho ...
- 11款最轻量级的CSS框架
日子一去不复返了HTML用于造型的网页.今天,CSS规则,很难想象没有它的任何网页设计.CSS在最近非常先进,用于创建复杂的Web设计和风格.那么,我们为什么要使用CSS框架?答案很简单.CSS框架主 ...
- 【技术分享会】 @第三期 CSS框架 PRUE 实现自适应和响应式
Pure网址:https://purecss.cn/ 什么是响应式和自适应? .响应式:样式会随着屏幕大小改变,同一页面设备不同样式不同 .自适应:不管屏幕大小,页面的样式比例不变 响应式和自适应怎么 ...
随机推荐
- python None与Null
一.Python对象 要理解这个,首先要理解Python对象: python对象具有三个特性:身份.类型.值. 三特性在对象创建时被赋值.只有值可以改变,其他只读. 类型本身也是对象. 二.Null与 ...
- c#之第二课
输出语句: /////////////////////////////// public class Hello1 { public static void Main() { System.Conso ...
- webService----wsimport调用方式
一.工具 1.myEclipse 2.jdk1.7 二.创建服务端 1.创建web Service Project 命名为TheService 2.创建class类ServiceHello.java, ...
- 是时候放弃sublime了
今天下午在忍无可忍之下终于卸载了sublime,最为一个在gui下最顺手的编辑器,放弃是需要非常充足的理由的. 放弃sublime无非是因为以下几点原因: 收费.我用的是未注册版的sublime,保存 ...
- Rxlifecycle(三):坑
坑1 Observable.just("hello world!") .compose(this.<String>bindUntilEvent(ActivityEven ...
- 日常工作中的点滴总结from 2014-03
一 关于 写方案: 写某个产品的方案基本应包括以下几点: 1产品目前现状(国内外) 2产品意义.作用 3产品架构 4产品优势 5产品功能讲解 二 关于 处理下属工作方向不正确的事务 首先 先肯定 下 ...
- 网站CSS选择器性能讨论
CSS选择符由一些初始化参数组成,这些参数指明了要应用这个CSS规则的页面元素.作为一个网站的前端开发工程师,应该避免编写一些常见的开销很大的CSS选择符模式,尽量编写高效的CSS选择符,从而加快页面 ...
- string-->wstring-->string
std::string src("三毛三毛三毛三毛三三三三流浪记"); size_t size = mbstowcs(NULL,src.c_str(),0); std::wstri ...
- ora-01031:insufficient privileges解决方法 - 转
今天晚上要远程修改一个分公司的数据库参数,于是下午先远程过去做些准备工作.数据库是oracle 11g rac,操作系统是windows 2008 server,我还是第一次见过windows下的or ...
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
前文: hibernate带给我们的O/RMapping思想是很正确的,即从面相对象的角度来设计工程中的实体对象,建立pojo,然后在编写hbm.xml映射文件来生成数据表.但是在实际开发中,往往我们 ...