CSS的float属性对周围元素位置的影响

float属性定义了元素可以往哪个方向浮动,float常见的值有:
left 元素向左浮动。
right 元素向右浮动。
none 默认值。元素不浮动,并会显示在其在文本中出现的位置。
inherit 规定应该从父元素继承 float 属性的值。

但是常常在设置了float属性后,其后的一些元素位置变得混乱了,如下图是我原本的布局

这里写图片描述

当我把元素设置浮动后,原本在下方的图片也跑到右侧横向排列了:

这里写图片描述

是因为在设置块级元素浮动时,设置浮动后,会影响紧邻它后面的那一个元素!
块级元素(ul)和是纵向排列,行级元素(img)都是横向排列,float属性能够使纵向排列的块级元素横向排列。但是同时 可能会影响 设置float属性的元素下一个元素的位置,这时只要在对下一个CSS设置clear:both或者overflow:hidden。就可以消除这种影响。

img{
    *clear: both;/*在紧邻的上一个标签设置成浮动后,对下一个标签也就是现在的标签有影响,清除带来的影响,另一种方法 overflow: hidden;    width: 100%;*/*
    border: 1px solid #b1adad;/*设置图片的边框,这个边框线的颜色很漂亮哦*/
    width: 300px;
    height: 300px;
}

添加代码这句代码后,就可以得到我想要的效果啦!
这里写图片描述

在使用CSS对元素设置样式的时候,元素有块级元素和行级元素之分,知道一些常见的行级元素和块级元素在使用的时候可以避免一些不必要的错误。

在父标签没有设置浮动,而子标签设置浮动后也可能会影响到父标签,这时clear:both不起作用,要用overflow:hidden来消除影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值