CSS Master, Sitepoint 2015读书笔记(印象比较深的几点:CSS优先级3元组表示法,多列及flex,Transforms)
2015-11-08 21:00
513 查看
CSS Master
[attr~=val] 空格分隔的属性
|= hyphenated,前缀
子串:^= *= $=
伪元素:::before ::after ::selection ...
::first-letter问题 Chrome[42,44)下,父元素inline/table时无效?
::spelling-error 这是不是规范滥用?
*用:target高亮fragment(id属性指向的元素子树)
:not( ... )
:first-child, :last-child, :only-child, :nth-child
注意这里:nth-child(3n)与:nth-child(3n+5)的区别
:empty
* :first-of-type
:enabled/disabled, :required/optional, :checked
* :in-range/out-of-range 脑残么?
不用chain class,难以override?(这里的3元组表示CSS规则的优先级比较正规,0,2,0)
BEM(块元素修改)?<--> Atomic CSS?
调试:Ctrl + Shift + I(进入Inspector?)
font: 16px/1.5 'Helvetica Neue',arial; 这里1.5代表行高
Node.js > CSSO插件
代码质量:CSS Lint, analyze-css, UnCSS
自动化:Grunt, Gulp(后起之秀)
选择一个盒子模型:box-sizing: content-box / border-box;
管理layers:position / z-index
创建新stacking context:opacity(当<1)
多列布局
column-width, column-gap(normal=1em), column-rule(用于指定列的border)
columns: 10em 3; //先后顺序不重要(这对parser是个考验)
column-span: all/none;
flexbox
display: flex; (直接子元素变为flex项)
flex-wrap: wrap; (超出容器则移到下一行)
.grid > * { flex: 0 0 25%; }
justify-content: space-between / space-around / center(用于footer中的多列?);
flex = flex-grow + flex-shrink + flex-basis(如何填充可用空间)
order: 0 / 1
垂直对齐项:align-items : center;
align-content?
属性动画
transition: 1s; (这里0.5s怎么解析为500ms?)
transition-duration + transition-property(all) + transition-timing-function(ease) + transition-delay
timing函数:steps(5), cubic-bezier(0, 1.08, .98, -0.58)
*transitionend事件?每个属性都会触发一次,event.propertyName
animation: <keyframe-rule-name> 500ms;
animation-direction: normal | reverse | alternate | ...
animation-fill-mode: 结束时停留到那个状态
Chrome <43:Vendor Prefixing
CSS Transforms
变换如何影响布局:1 变成containing block(CB), 2 建立新的stacking context(SC),3 局部坐标系in元素的包围盒
处理overlapping问题:pointer-events: none;
变换不影响layout属性,但改变元素的:getClientRects() .getBoundingClientRect()
变换原点:默认为 50% 50% = center;
scale(-2)
rotateX(45deg) + perspective:200px(Foreshortening);
VS perspective属性(作用于containing元素)
*perspective-origin
*transform-style: flat | preserve-3d;
backface-visibility
条件的CSS
@media only screen and (min-resolution: 1.5dppx) { ... }
@import:阻塞请求
不要用device-width?High DPI上问题
matchMedia("(min-width: 45em)")
@supports(display:flex) 老实说CSS特性查询太丑陋了
SVG:不adhered to盒子模型,不能被定位(要改变位置就必须在SVG DOM树中移动节点)
怎么这书里老是提及UC?
预处理:Less SASS
Scroll snap?Blend modes & Filters(略)
相关文章推荐
- Android Manifest 用法
- Android学习笔记(二九):嵌入浏览器
- 超过 77% 的桌面计算机运行基于 Chromium 的浏览器
- 微软发布令牌漏洞公告:可绕过 Chromium 沙盒执行任意代码
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- CSS3属性教程与案例分享
- Web布局连载——两栏固定布局(五)
- [div+css]晒晒最新制作专题推广页模板
- W3C api 抓取
- 小白观察:微软释放出其基于 Chromium 的 Edge 浏览器
- 设计更快的网页(三):字体和 CSS 调整
- 纯CSS制作的新闻网站中的文章列表
- 10条影响CSS渲染速度的写法与使用建议第1/3页
- BS项目中的CSS架构_仅加载自己需要的CSS
- 很不错的 CSS Hack 又学了一招
- 发一个css比较清爽的写法
- CSS expression控制图片自动缩放效果代码[兼容 IE,Firefox]
- css布局网页水平居中常用方法
- CSS经典技巧十则第1/2页