div+css浮动的解决方法_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 11:44:27
原创
1292人浏览过

  已知父div容器,父容器包含两个子div,在两个子div标签后面添加一个清除浮动(clear)的div标签,父div标签的内部(左右两边/*css5*/)浮动就清除了。

  如果有一个div容器

,包含了一个子容器
,子容器设置一个宽度、高度、背景色,如不设置内、外边距以及清除浮动clear、浮动float,此时子容器div默认居左。那么是否真的居左,我们设置一下float:left;发现设置了居左left,子容器的div产生了浮动,子容器div离大容器顶部有一定距离,然后我margin-top:10px, 子容器在原有的基础上向下移动了margin的距离,也就是说,浮动,不随margin padding边距影响。

    <body>        <div class="divcss5">            <div class="clear"></div>
登录后复制

        

        </div>     </body>    
登录后复制

  如果,我现在给子容器设置top:10px,看到的效果是不发生变化,也就是是说浮动不会随着top,left发生改变。当我给子容器设置相对位置position:relative;看到的效果是怎么样的呢?现在子容器的效果还是浮动的,但是当我分别设置margin-left:10px和 left:10px;看到子容器分别会随着margin-left和left发生改变相应的位置,同样margin-top和top都会发生变化。

  也就是说,当子容器设置浮动float,接着给子容器设置margin会有作用,设置left 、top是没有作用,只有给子容器设置相对位置的时候,不仅margin能起作用,left、top也能会起作用,那么是不是说left,top是在相对位置的时候才起作用呢?那么现在我们就做一个实验,我在子容器里把float:left;position:relative;都删掉,不会浮动,也不会有相对位置,然后写上top:10px;left:10px;相应的代码如下:.clear{width: 200px;background: #f2e;color:#030617;height: 20px;top:50px;left:10px;};结果是子容器根本没有移动过位置,所以,事实证明,left、top是在设置了相对位置position的时候才起作用。margin就是不管你设置position与不设置position都会起作用。

AssemblyAI
AssemblyAI

转录和理解语音的AI模型

AssemblyAI 65
查看详情 AssemblyAI

立即学习前端免费学习笔记(深入)”;

  继续上面的float浮动,如果现在给float设置inherit;设置继承浏览器的浮动属性,此时我们看到的是不浮动的,默认居左。同样的设置 none initial也不会有作用。只有子容器设置了浮动left和right,子容器才会出现浮动。

  下面,我们用一种其他的方法来清除浮动,HTML代码还是以上的代码,大容器的div的css代码还是上面的代码.divcss5{padding:10px 0;width: 100%; left: 50%;right: 50%;background: #007CB5;},
子容器的代码还是上面的代码:.clear{width: 200px;background: #f2e;color:#030617;height: 20px;float:left;},此时看到的是浮动的效果,子容器浮在大容器上面,同样的原理,我还是用清除浮动clear:both;我们可以用css伪元素:after,下面就是一个很简单的css代码,给父容器写css伪类,代码:.divcss5:after{content: "1";clear: both;display: block;},此时,我们看到的是,清除了大容器的浮动,并且在浏览器上能看到子容器被包含在了大容器内部。在浏览器上F12查看浏览器,可以看到after包含在了父容器内,所以,他相当于在给父容器加一个clear,只是少了一个div层,这个层被.divcss5:after实现了。

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号