Re: [问题] div输入文字后会位移

楼主: hit1205 (帮你把勇气装满)   2014-05-03 16:52:44
根据标准,DIV 一旦设定了 inline-block,
它的 baseline 就会变成内部文字 "最后一行" 的 baseline
因此该行会对齐前后文字流的 baseline
至于这个状况我的理解是这样,不确定是不是完全正确,
如果有错还请各位前辈不吝指正:
第一个 DIV 内的 <p> 有浏览器的默认 margin,
所以它里头的文字会往下跑,
后面的 DIV 的 baseline 就因此跟着往下跑了。
然后,根据标准,这个行为在设定了 overflow 后就会解除。
只要不是 overflow: visible (这是默认值),
DIV 的 baseline 就会改成该 DIV 本身 margin-bottom 的最外缘
http://www.w3.org/TR/CSS2/images/boxdim.png
也就是这张图里 "BM" 最底下的虚线
所以你的定位就恢复正常了 ( ̄▽ ̄a)﹏﹏
PS. 关于后面这件事,webkit 引擎是显示错误的,
overflow 设定后,仍然会把 baseline 维持在最后一行...
之前遇到这个问题害我困扰好久 囧>
刚刚实测才发现 Chrome 把它修掉了...
但 webkit 本身似乎没有修?
https://bugs.webkit.org/show_bug.cgi?id=36084
作者: harry1123 (海贼王)   2014-05-03 19:16:00
感谢大大,之前想超久的....看来我CSS还很需要加强QQ
作者: elsa0116 (Fly*晴子)   2014-05-03 20:45:00
感谢您的解惑!!!昨天老师也被我这题困住了XDDDD

Links booklink

Contact Us: admin [ a t ] ucptt.com