以下是个人学习笔记,仅供学习参考。

1.关于子元素的margin-top作用在无margin-top-border的父元素上导致子元素的margin-top溢出问题。

在给没有margin-top-border父元素中的子元素添加margin-top时,发现没有直接表现出来,而是作用到父元素身上,就会导致子元素的margin-top溢出。

条件:
1、父元素没有上边框
2、为第一个子元素设置上外边距时
解决方案:
1、为父元素增加上边框
弊端:父元素会变高
2、通过为父元素设置上内边距来取代子元素的上外边距
弊端:也会增加父元素的高度
3、在父元素中,增加一个空 <table>元素
弊端:页面中多一个空元素而已

4.使用内容生成:before,完美!

<!-- 解决上边距溢出问题:before使用代码 -->
html部分:
<div id="container">
    <div id="item"></div>
</div>
css部分:
 #item{
           width:200px;
            height:200px;
            background:pink;
            /*子元素的上外边距作用到父元素*/
            margin-top:20px;
        }
        #container:before{
            content:"";
            display:table;
        }

2.关于浮动元素父元素高的问题:

条件:

父元素中有子元素float的话,可能就会影响父元素的高度,从而影响布局;

解决方案:

1.直接给父元素定高;

弊端:必须知道父元素的高;

2. 使用overflow属性值为hidden解决;

弊端:会隐藏溢出的内容,(当需要隐藏时使用,按需使用)

3.在父元素中最后面未知添加一个块级元素或table属性元素,并加clear属性值为both;

弊端:页面中多了一个空元素(影响不大,算是很nice)

4.使用内容生成:after解决,完美!

/*解决浮动高问题*/

html部分:
<!-- 解决浮动元素高的问题 -->
<div id="df">
    <div id="d1"></div>
    <div id="d2"></div>
    <div id="d3"></div>
</div>
css部分:
 /*解决浮动高问题*/
        #df{
            background:yellow;
        }
        #d1,#d2,#d3{
            width:200px;
            height:200px;
        }
        #d1{
            background:red;
            float:left;
        }
        #d2{
            background:green;
            float:left;
        }
        #d3{
            background:blue;
            float:left;
        }
        #df:after{
            content:"";
            display:block;
            clear:both;
        }

关于子元素的margin-top溢出和元素浮动对父元素高度影响解决方案的更多相关文章

  1. float浮动导致父元素高度坍塌的原因及清除浮动方法

        一.浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float浮动属性,导致父级对象盒子不能被撑开,这样CSS float浮动就产生了. 本来两个黑色对象盒子是在红色盒子内, ...

  2. 解决 css 浮动后 父元素高度失效问题

    应用场景 子元素标签使用 浮动后,会出现浮在父元素上层,脱离了.导致父元素没办法根据子元素的高度而变化,提供以下解决方案. 解决代码 把 '.clearfix ' Class 样式添加到 父元素即可. ...

  3. css 添加伪元素 消除浮动 对父元素高度产生的影响

  4. 关于自适应屏幕,设置子元素浮动,父div不能包裹子div,子元素中内容溢出的问题。

    设置HTML适应不同分辨率的屏幕. 需求结构如下: HTML结构代码如下(只是其中一条): <body> <div class="content">< ...

  5. CSS 实现:父元素包含子元素,子元素垂直居中布局

    ☊[实现要求]:父元素包含子元素,子元素垂直居中布局 <div class="demo5"> <div class="child">A& ...

  6. CSS关于子元素设置了float属性后父元素高度为0的解释和解决方法

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  7. ss 如何解决margin-top使父元素margin失效

    给子元素设置margin-top的时候父元素的也会受影响.会产生子元素和父元素margin合并的问题. 解决办法: 给父元素设置padding.或者border把父子的margin之间隔开. 一般来说 ...

  8. 子元素margin-top属性传递给父元素的问题 转!

    问题描述:一个父包含框包含一个子元素.给正常流的子元素一个垂直外边距margin-top就会使得父元素跟着往下走,而子元素和父元素的边距则没有发生变化. html结构:<div class=&q ...

  9. 子元素用margin-top 为什么反而作用在父元素上?对使用margin-top 的元素本身不起作用?

    在这个说明中,“collapsing margins”(折叠margin)的意思是:2个或以上盒模型之间(关系可以是相邻或嵌套)相邻的margin属性(这之间不能有非空内容.padding区域.bor ...

随机推荐

  1. iOS-【最新】跳转到 App Store 评分

    APP应用内 App Store 跳转评分 NSString *itunesurl = @"itms-apps://itunes.apple.com/cn/app/id你的APPid?mt= ...

  2. saltstack returners 结果转存

    returners 是saltstack对minion执行操作后,对返回的数据进行存储,可以存储到一个文件或者数据库当中. 支持的returners http://docs.saltstack.cn/ ...

  3. java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String错误的解决方法

    mmobjectid是在Oracle数据库中对应的是Number类型的,在JavaBean中定义的是Long类型的. List<BigDecimal> mmobjidAllFromMars ...

  4. Linux下dmesg命令处理故障和收集系统信息的7种用法

    目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...

  5. ASP.NET MVC 与NLog的使用

    NLog是一个.NET 下一个完善的日志工具,个人已经在项目中使用很久,与ELMAH相比,可能EAMAH更侧重 APS.NET MVC 包括调试路由,性能等方面,而NLog则更简洁. github: ...

  6. Fragment中启动一个新的Activity

    最近遇到一个小问题,就是我在主界面中用的是Fragment,其中四个Fragment,然后打算在其中一个里边,写一个TextView(准确地说是Linearout)的单击事件,然后跳转到另外一个Act ...

  7. 【JAVA】判断当前日期是否在时间点内

    public static boolean isInDate(Date date, String strDateBegin, String strDateEnd) { SimpleDateFormat ...

  8. Kafka 副本失效

    Kafka源码注释中说明了一般有两种情况会导致副本失效: follower副本进程卡住,在一段时间内根本没有想leader副本发起同步请求,比如频繁的Full GC. follower副本进程同步过慢 ...

  9. dispatchEvent相关内容

    意思就是:手动触发事件. 我的理解是:类似于jquery中的trigger方法,可以在点击某个dom的时候,触发另一个dom的事件,下面一个我自己尝试的例子: <!DOCTYPE html> ...

  10. helm之chartmuseum

    1.概述 helm使得在k8s集群里面部署应用变得更简单,就像在linux系统里面使用yum安装软件一样,helm主要是利用的chart,首先看一下chart的结构: # tree zipkin zi ...