发表于: 2017-03-03 20:46:32

2 667


今日完成的事:
1、修改并提交任务五和六,修改了任务七的一大部分
2、学习了关于inline-block之间的空格以及如何消除
3、学到了新的flex属性,配合vw食用口感更佳
4、观看开学直播
明天计划的事:
1、重构并提交任务七,并学习一下display三种模式的区别
2、开始任务十的学习 
遇到的问题:
1、inline-block元素之间有空格,使用调试模式审查元素也没能找到那部分空格是什么
解决方案:查阅资料后发现 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距。

解决思路主要是去掉行间空格,目前发现有以下解决办法:

使用其他方法,诸如margin设为负值,letter-space设为负值,设置字体大小为0等方法比较麻烦,而且有可能影响布局,我个人不太喜欢。
收获:
1.学到了flex布局中的flex属性定义方法
flex 属性用于设置或检索弹性盒模型对象的子元素如何分配空间, flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写属性。这样就可以更方便的控制弹性盒子内部的项目大小。 注意:如果元素不是弹性盒模型对象的子元素,则 flex 属性不起作用。
flex: flex-grow flex-shrink flex-basis|auto|initial|inherit;

属性值

描述
flex-grow一个数字,规定项目将相对于其他灵活的项目进行扩展的量。
flex-shrink一个数字,规定项目将相对于其他灵活的项目进行收缩的量。
flex-basis项目的长度。合法值:"auto"、"inherit" 或一个后跟 "%"、"px"、"em" 或任何其他长度单位的数字。
auto与 1 1 auto 相同。
none与 0 0 auto 相同。
initial设置该属性为它的默认值,即为 0 1 auto。请参阅 initial
inherit从父元素继承该属性。请参阅 inherit
合理搭配em或者vw使用可以实现类似栅格布局的方法,但是相比栅格布局有弹性,响应式比较方便。
2.又去重新学习了一下em属性,发现了一个坑。
在CSS中,“em”实际上是一个垂直测量。一个em等于任何字体中的字母所需要的垂直空间,而和它所占据的水平空间没有任何的关系,因此:
如果字体大小是16px,那么1em=16px。
使用时,如果字体设置了特殊大小,使用方法会不一样
如果元素设置了字体大小,那么字体大小的转换依旧按第二条公式计算,也就是下面的:
1 ÷ 父元素的font-size × 需要转换的像素值 = em值
那么元素设置了字体大小,此元素的其他属性,如“border、width、height、padding、margin、line-height”计算就需要按照下面的公式来计算:
1 ÷ 元素自身的font-size × 需要转换的像素值 = em值
3.重构了任务五任务六的代码,而且重新弄了个网站首页,感觉666



返回列表 返回列表
评论

    分享到