今天学习文本溢出,又遇到了一些小问题,先上图:

关于文本溢出推荐:http://www.cnblogs.com/yzg1/p/5089534.html

从里面学习到单行文本和多行文本溢出, overflow:hidden;text-overflow: ellipsis是基本。然后在控制多行文本溢出的时候需要用到弹性伸缩盒子-webkit-box ,包括设置盒子的伸缩方向和显示的行数。

用div内嵌div做一个小测试:发现对子元素,margin-left有效但是margin-top是无效的,问题的根本原因呢,还是对margin的特性没有了解清楚。w3school(http://www.w3school.com.cn/css/css_margin_collapsing.asp)外边距合并这一章讲的很清晰,实际上就是父元素和子元素在垂直方向上的外边距进行了合并,所以只显示出20px,而水平方向上不会,故显示40px。注释当中还有一句重要的话:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。此注释就为解决这个问题提供了思路。(http://www.nowamagic.net/librarys/veda/detail/1608)也有助于清晰的了解margin的一些特性,作者还分析了IE浏览器下关于margin可能出现的bug。

效果如下:

问题的解决:(http://blog.sina.com.cn/s/blog_6bec36f9010110w9.html)给出了几种方法,其中最简单的就是在父元素中设置:overflow:hidden,果然问题就解决了,但是我并不明白问什么,作者给出原因:盒子没有获得 haslayout  造成 margin-top无效。再继续学习的过程中接触到了一个新的名词BFC(Block Formatting Content),BFC决定了元素如何对内容进行定位,集中触发方式:

1.float不为none;2.overflow不为visible;

3.display:(table-cell\table-caption\inline-block);4、position:(任何值除了static\relative)

BFC和hasLayout的作用:浮动元素和常规元素的重叠问题;解决相邻元素margin边距重叠问题(http://www.cnblogs.com/ILYljhl/p/3169419.html)

所以margin的外边距合并清除的问题就这样解决啦,至于BFC和hasLayout还要继续学习~

文本溢出、垂直外边距合并、BFC、hasLayout的更多相关文章

  1. CSS 垂直外边距合并:规范、延伸、原理、解决办法

    <CSS 权威指南>第七章基本视觉格式化.p192,提到了 垂直外边距合并 的情况,解释总体算清晰,但是感觉不全且没有归纳成一条一条的,参考 CSS框模型中外边距(margin)折叠图文详 ...

  2. CSS min-height不能解决垂直外边距合并问题

    垂直外边距合并有一种情况是嵌套元素的垂直外边距合并,当父级元素没有设定外边距时,在顶部或者底部边缘的子元素的垂直外边距就会和父级的合并,导致父级也有了“隐形”的垂直外边距. 当父级元素的min-hei ...

  3. css盒子模型、垂直外边距合并

    css盒子模型由四部分组成:内容(content).填充(padding).边框(border).边距(margin),其中css样式中定义的width属性是定义内容区域的宽度,正常情况下,设置了内容 ...

  4. Margin的垂直外边距问题

    做练习的时候遇到一个margin的问题,代码结构如下,给父元素body中的子元素div设置了margin:50px auto;本来我是想让子元素div距离父元素上边拉开50个像素,结果却是子元素div ...

  5. 关于CSS inline-block、BFC以及外边距合并的几个小问题

    CSS inline-block和BCF对于初学者来说,总是弄不太明白,下面记录下我在学习这块知识的过程中遇到的几个问题,供大家参考,有不足的地方,欢迎大家批评指正. 一.在什么场景下会出现外边距合并 ...

  6. 由外边距合并到BFC

    置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<JavaScript实现Ajax小结> 作者主页:myvin 博主QQ:851399101(点击QQ和 ...

  7. BFC 以及 外边距合并问题

    BFC定义: BFC(Block formatting context)直译为"块级格式化上下文". 它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部 ...

  8. 【css基础】垂直外边距的合并

    近期在重温<CSS权威指南>,还是想把基础再打坚固点,如今对垂直外边距的合并问题进行简单总结. 1. 两个块级元素的外边距都大于0时,取那个最大值作为两个块级元素的垂直边距 请看以下一个小 ...

  9. css外边距合并和z-index的问题

    参考这篇文章, 将外边距的 折叠 参考这篇文章, 将bfc的生成, bfc的应用 参考这篇文章 position: absolute的元素, 仍然具有内填充padding和border边框属性样式, ...

随机推荐

  1. javascript在一个字符串中每隔多少字符插入某个字符串

    function insertStr(str,tar,n,m){ var x='' var str=str.split('') if(str.length==0) return for(var i=n ...

  2. java jdbc 连接mysql 数据库

    JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com. ...

  3. 关于System.out.println()与System.out.print("\n")的区别

    这是在写junit测试的时候发现的. import java.io.ByteArrayOutputStream; import java.io.PrintStream; public class Te ...

  4. javasript生成 uuid的几种算法分享

    方式一 function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i &l ...

  5. 随机数(random)

    在测试你的程序是否超时时,可以随机生成一组大数据,进行一下测试. 当然如果你考场上一道题直接读不懂不会做的时候,可以random一下,拼一下RP嘛.2333. #include<cstdio&g ...

  6. xcode5 自定义模板

    经过一番周折,终于在xcode5上实现了一个简单的自定义模板,在项目中集成NSLogger库(增强NSLog的功能,https://github.com/fpillet/NSLogger)——新建项目 ...

  7. iOS的REST服务-备

    REST式的服务最重要的三个特征就是**无状态性**(statelessness).**统一资源定位**(uniform resource identification)和**可缓存性**(cache ...

  8. SAR-303 xml validator验证框架

    // 配置文件详解 <mvc:annotation-driven validator="validator" /> <bean id="validato ...

  9. Substrings

    hdu1238:http://acm.hdu.edu.cn/showproblem.php?pid=1238 题意:给你n个串,求一个子串,这个子串在所有串中都出现,或者在逆串中出现.求最大的这个子串 ...

  10. 定时器:为 Windows 实现一个连续更新,高精度的时间供应器

    原著:Johan Nilsson 翻译:lxhui 原文出处:MSDN Magazine March 2004(Timers...) 原代码下载: HighResolutionTimer.exe (4 ...