发表于: 2016-10-26 23:34:50

2 665


  1. 今天完成的事情:

  2. 和王峰、胡思豪、冯馨雨、王碧洋讨论问题

  3. 明天计划的任务:

  4. 敲任务10的代码

  5. 遇到的问题:

  6.    我基于对margin设负值的情况,探讨了个人对盒模型的重新认识,下面是我的个人看法。或许有些不成熟,希望师兄能修正并补充。


  7.       margin设负值,可以有很神奇的应用。具体例子,详见这篇帖子。这是链接:http://www.w3cplus.com/css/the-definitive-guide-to-using-negative-margins.html。


  8.    今天小组讨论,胡思豪就谈了自己利用margin设置负值,使图片移到了上一行,但是文字部分不会因为图片挪上去了,而挤压它的空间。文字还是相对整行居中显示的。这个问题导致了我对盒子模型的重新思考。


  9.    以前我一直以为margin不是属于盒子的一部分,它的用法只是用来调整和其他元素的相对位置。现在我认为,margin是盒子的一部分,它属于盒子的外延部分。感觉自己的想法有些奇怪,于是上网查了资料。但是网上,大部分帖子只是谈负值的应用,没有从深刻的逻辑层面来真正理解margin设负值对盒子的意义。终于找到了一篇很不错的帖子。这是链接:http://www.planabc.net/2007/03/18/css_attribute_margin/。其中这篇帖子有个很有意思的公式:盒子的逻辑大小=box的物理大小+margin的正值个人觉得这个公式离正确的答案很接近了。我认为,去掉margin的正值,直接使用margin才是最合理。从逻辑上来说,margin是盒子的一部分不管是正的还是负的。但是,由于我们总是从视觉上去理解盒子,而忽略了盒子的真正含义,导致出现了篇差。


  10.     记得我刚开始做css任务的时候,使用一些指令的时候,达不到预期的效果,就以为这条指令无效。后来,对css认识越来越深,对F12使用也越来越熟练,这种想法就逐渐消失了。其实,这条指令可能是生效了。但是由于达不到我们预期的效果,我们的视觉把所见的报告给大脑,于是轻易产生了指令无效的错误想法。


  11.    这个问题同样如此。从胡思豪对margin负值使用的例子,我们可以发现文字所占用的宽度没有被图片所挤压,说明文字还是占一行。但是,文字部分的实际宽度到底是多少了(假设图片宽度为10%),是90%还是100%?个人认为要分两种情况讨论,因为图片挤上去可能是因为文字部分margin-right为-10%或者图片部分margin-left为-10%这两种原因造成的。如果是第一种情况,个人认为此时盒子宽度为90%,内容宽度为100%。因为图片部分在文字部分margin设负值的前后并没有什么宽度,因而它的盒子宽度为10%是不变的。但是它的位置在文字margin设负值后与文字同行显示,说明二者宽度之和为100%。因而文字部分的盒子宽度就为90%了。同理,可以知道第二种情况,盒子宽度为100%,内容宽度还是100%。

  12. 收获

  13. 感觉对盒子的理解更深了


返回列表 返回列表
评论

    分享到