设置了*{clear:both;}对之后再设置了float:left或right的块有影响吗

以下代码

.div1{
            width: 20%;
            height: 200px;
            background-color: blue;
            float: left;
        }
.div2{
            width: 80%;
            height: 50px;
            background-color: green;
            float: right;
            /*margin: 0 200px ; */
        }

本来是两个div在同一水平线上的图片描述
设置了*{clear:both}结果就这样了:图片描述

是什么原因造成的?

阅读 4.3k
6 个回答

。right吧.left的float:清除了,自己另起一行float到right了;就这么简单~

你检查一下div1的实际宽度和div2的实际宽度加起来是不是超过了父级元素,如果是,你找出罪魁祸首即可

也遇到过这种问题,是在有的浏览器里面会出现,那时候没有去查原因,直接用table,和table-cell给解决了。

* {
    margin:0px;
    padding:0px;
}
div{
    box-sizing:border-box;
}

加上上面的样式看看

新手上路,请多包涵

应该是div1和div2的高度不一致的原因。

不懂楼主想表达神马啊,clear:both表示第这个div不会在其他元素的左边或者右边(不能强制其他元素,只能作用于自己身上)。如果你第二个元素是float:left;就会掉到第一个div下面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题