### 笔记
> class跟id不一样,class本来就是设计用来可以重复利用的,而id才是设计唯一的(如果遵循BEM,class几乎也都是唯一的了)。
这个重用分为:**当前页面多处使用**,和 **多个页面可以使用**,比如 #container 是属于后者,当然了也有两种情况都有的。
不过我们也不必要纠结这么细,不要总感觉如果写了一个样式,只能在一个地方用一次(指上面两种情况都不满足)的话,就很吃亏了,很浪费,总抱有这种想法是不对的(**玻璃心,处女座,强迫症,偏执狂,完美主义者的人真的活得好累啊**),计算机没你想的那么矫情和脆弱的,你别担心它,你还是多担心自己吧,能重用固然是很好,可总有些特殊的东西啊,真正的完美就是能够包容不完美,当你能够接纳自己的不完美的时候,很多东西就会有细微的变化,一切都会向好的方向去发展的。
[是什么阻碍了代码的重用?问题是否应该只解决一次即可? - 知乎](https://www.zhihu.com/question/21011591)
>[danger] 因为复用并非无代价,而且代价往往还很高。
* * * * *
> 四、让规则越具体越好
>不要试图编写像 ol li a 这样的长选择符,最好是创建一个像.list-anchor一样的类,并把它添加到适当的元素上。
具体是语义明确,清晰,而不是照搬DOM结构才叫具体,以前犯了好多错误啊。
无论多复杂的东西,也能分门别类,如果不能,那只能说明类别太多了。(世上万物都有其位置,都有其定律)
不过我们也不要纠结于这么细,不要总感觉,如果写一个样式,只在一个地方用一次(上面两种情况都不满足)那就很吃亏了,能重用固然是很好,可总有些特殊的东西啊,真正的完美就是能够包容不完美。
* * * * *
class用于标识某一个类型的对象,命名必须言简意赅。
命名分为:面向属性的命名(原子性,比如颜色),面向“语义”的命名(业务逻辑的语义)
这一切都是为了css命名语义化
* * * * *
### CSS的属性有:
位置类:定位,宽高,边框,内外边距,位置等
外观类:文字大小,颜色,背景颜色,CSS3颜色等,边框颜色、圆角等等
* * * * *
### 元素在面向业务是反而属性有:
位置类:在页面中位置,顶部,尾部,侧边,是否居中,宽高,等等
外观类:状态,选中,当前,危险,提示等等
* * * * *
### 命名是抽象的
或者说是抽象与具体结合的,但其实,具体也是抽象的,世间万物都是抽象的。
我们来看人名,比如说,马蓉这个名字:
马为姓名,表示她姓马,从而可知他爸爸姓马,可能还能知道是什么笔派的。
蓉为名,一岁一枯荣,蓉是花的意思,一般只有女孩的名字才会出现这个字。父母给她起这个是希望她健康,像花儿一样成长,成长环境,家庭的熏陶决定了孩子的性格,所以根据这个名字基本可以猜测这个女孩的性格了。
名字是抽象的,你可以说它有意义,也可以说她没意义,在于你怎么理解。
根据上下文关系,情景,我们把一些词归为,动词,名词,形容词,主谓宾,其实这些概念就是人们创造出来的,创造出来的那么它的本质就是抽象的,世间万物本是不存在的,世间万物其实都是抽象的,**为什么要抽象,因为要具体**,人们希望对事物更加了解,具体,所以才抽象出来很多东西,形成共识,这就是我们掌握知识的基础。
命名时首先列出这个事物的几个关键对象,比如侧边,关联,容器,记录,关联操作等等,先找出这些关键对象,在对它进行抽象。
* * * * *
### 掌握知识技巧
学习任何东西都是应该抱有目的性的,就像当初学html一样,学到用的时候才知道怎么学,顺其自然的就会用css了,就知道class的好处了,会用class摆脱将样式写在元素上的痛苦了,这一切就是那么自然。
当你学习后,亲身做过,在这个过程中,你自然就掌握知识了。
* * * * *
### 什么是完美?
* * * * *
[内存锁与内存事务 - 刘小兵2014](https://my.oschina.net/digerl/blog/34001#tt_daymode=1)
> 如果世界已经是完美的,为什么我们还需要工作呢?
* * * * *
[关于纠结](https://www.kancloud.cn/xiak/product/344394)
> 人生苦短,要做更有意义的事
[程序员为什么要一直改BUG,为什么不能一次性把代码写好? · php笔记 · 看云](https://www.kancloud.cn/xiak/php-node/574447)
> 比如网络通信协议,同样不完美,但我们不能等到完美那一天才上网。
* * * * *
[Java 老矣,尚能饭否?](https://mp.weixin.qq.com/s/HTleF2EVow3q6BMe_Cm4YA)
>[info] 1998 年 12 月,Java 第一个里程碑式的版本,即 Java 1.2 发布了。这个版本使用了 JIT(Just in time)编译器技术,**使得语言的可迁移性和执行效率达到最优的平衡**,同时 Collections 集合类设计优良,在企业应用开发中迅速得到了广泛使用。
>[danger] 没有东西是完美的,只能在某个点上达到一个平衡,趋于完美。至于平衡向那边倾斜,这取决于你的当下的具体情况,任何事物都是相对的,没有绝对的,站在这个点是最好的,站在另外一个点就是完全不同了,所以永远记住,任何事都是相对的。
* * * * *
[css行高line-height的一些深入理解及应用 « 张鑫旭-鑫空间-鑫生活](https://www.zhangxinxu.com/wordpress/2009/11/css%E8%A1%8C%E9%AB%98line-height%E7%9A%84%E4%B8%80%E4%BA%9B%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E5%8F%8A%E5%BA%94%E7%94%A8/)
> 文字 px 高?并不是。
[去除inline-block元素间间距的N种方法 « 张鑫旭-鑫空间-鑫生活](https://www.zhangxinxu.com/wordpress/2012/04/inline-block-space-remove-%E5%8E%BB%E9%99%A4%E9%97%B4%E8%B7%9D/)
> 无法要求我们源代码中去除空格和换行,对精度细节有要求的话,只能设置font-size:0了。
[使用 box-shadow 进行画图](https://mp.weixin.qq.com/s/q_c5r-fVJ3AvpDcJCUQUxA)
*****
[你所不知道的 CSS 阴影技巧与细节](https://mp.weixin.qq.com/s/6hSW1A1uMY7CwvkPgQxSEw)
[Vue: scoped 样式与 CSS Module 对比](https://mp.weixin.qq.com/s/FoDei2gy0Mtqy608FOxGwQ)
[你未必知道的CSS故事:揭开leading的面纱](https://mp.weixin.qq.com/s/CsETZ7Ad3vkDpIo6zDufFg)
[什么是关键 CSS]([https://mp.weixin.qq.com/s?\_\_biz=MzA5NzkwNDk3MQ==&mid=2650585406&idx=1&sn=862751889d949b987bf8c238b6053a18&source=41#wechat\_redirect](https://mp.weixin.qq.com/s?__biz=MzA5NzkwNDk3MQ==&mid=2650585406&idx=1&sn=862751889d949b987bf8c238b6053a18&source=41#wechat_redirect))
[生成精灵图 工具网站推荐](https://www.toptal.com/developers/css/sprite-generator/)
[精灵图自动检测工具网站推荐](http://www.spritecow.com/)
[这33个超级好用的 CSS 选择器,你可能见都没见过](https://mp.weixin.qq.com/s/o1ECWAYh_Atuk8iVmCibjw)
* * * * *
update time:2017-8-24 01:18:14
- 开始
- 微信小程序
- 获取用户信息
- 记录
- HTML
- HTML5
- 文档根节点
- 你真的了解script标签吗?
- 文档结构
- 已经落后的技术
- form表单
- html实体
- CSS
- css优先级 & 设计模式
- 如何编写高效的 CSS 选择符
- 笔记
- 小计
- flex布局
- 细节体验
- Flex
- Grid
- tailwindcss
- JavaScript
- javascript物语
- js函数定义
- js中的数组对象
- js的json解析
- js中数组的操作
- js事件冒泡
- js中的判断
- js语句声明会提前
- cookie操作
- 关于javascript你要知道的
- 关于innerHTML的试验
- js引擎与GUI引擎是互斥的
- 如何安全的修改对象
- 当渲染引擎遇上强迫症
- 不要使用连相等
- 修改数组-对象
- 算法-函数
- 事件探析
- 事件循环
- js事件循环中的上下文和作用域的经典问题
- Promise
- 最佳实践
- 页面遮罩加载效果
- 网站静态文件之思考
- 图片加载问题
- 路由及转场解决方案
- web app
- 写一个页面路由转场的管理工具
- 谈编程
- 技术/思想的斗争
- 前端技术选型分析
- 我想放点html模板代码
- 开发自适应网页
- 后台前端项目的开发
- 网站PC版和移动版的模板方案
- 前后端分离
- 淘宝前后端分离
- 前后端分离的思考与实践(一)
- 前后端分离的思考与实践(二)
- 前后端分离的思考与实践(三)
- 前后端分离的思考与实践(四)
- 前后端分离的思考与实践(五)
- 前后端分离的思考与实践(六)
- 动画
- 开发小技巧
- Axios
- 屏幕适配
- 理论基础
- 思考
- flexible.js原理
- 实验
- rem的坑,为什么要设置成百分比,为什么又是62.5%
- 为什么以一个标准适配的,其它宽度也能同等适配
- 自适应、响应式、弹性布局、屏幕适配
- 适配:都用百分比?
- 番外篇
- 给你看看0.5px长什么样?
- 用事实证明viewport scale缩放不会改变rem元素的大小
- 为什么PC端页面缩放不会影响rem元素
- 究竟以哪个为设备独立像素
- PC到移动端初试
- 深入理解px
- 响应式之栅格系统
- 深入理解px(二)
- 一篇搞定移动端适配
- flex版栅格布局
- 其他
- 浏览器加载初探
- 警惕你的开发工具
- JS模块化
- webpack
- 打包原理
- 异步加载
- gulp
- 命名规范
- 接口开发
- sea.js学习
- require.js学习
- react学习
- react笔记
- vue学习
- vue3
- 工具、技巧
- 临时笔记
- 怎么维护好开源项目
- 待办
- 对前端MVV*C框架的思考
- jquery问题
- 临时
- 好文
- 节流防抖