ElementUI组件系列解读之<栅格布局>

321 阅读1分钟

El-row

这里使用的是render来进行渲染  

render函数中 h函数有三个参数:1.element 2.属性 3.childrens 图片1.png

El-row主要就是通过flex弹性布局来控制样式和子组件排版的

注意

1.gutter的用法,gutter表示col之间的间距,这里用左右margin取负数是为了让

最左边和最右边的col好处理,col取padding正值 一正一负就可以抵消

2.row默认子组件是使用float浮动来布局  需要手动设置为flex才会是弹性布局

图片2.png

关键api

This.$slots.default

 

El-col

图片3.png

图片4.png

关键api

parent.options.componentName/this.options.componentName/this.parent

  col之间的间距计算

图片5.png

注意 这里取一半的原因是  左右一半相加就是gutter

其他栅格样式的控制

图片6.png

样式方面:

图片7.png

element的样式写在了这个目录并且作为了一个单独的模块来处理

图片8.png

Element用的scss来做css的预编译

同时大量运用了BEM 模式来书写

图片9.png

@at-root的作用就是用来平铺嵌套的

图片10.png

图片11.png

图片12.png

在scss中 使用@include来调用mixin  例外在括号中字符串不需要加引号!这个跟js调用不同,@content是占位符 类似slot插槽

图片13.png

图片14.png

图片15.png  

1. 用例

图片16.png

渲染成

图片17.png

总结:col的自适应原理就是 浮动或弹性+栅格数+宽度百分比+媒体查询