随手记七——关于float的一个上节没明白的问题
在上节中,有一个地方有点没想明白,在此记录一下。
上节中提到,浮动元素产生了浮动流,所有产生了浮动流的元素,块级元素看不到他们,但是产生了bfc的元素、文本类属性的元素(inline)以及文本都能看到浮动元素。
这里我一开始理解为,块级元素是不能约束到浮动元素的,所以在使用float:right;时,应该是根据整个页面开始列队的,但是实际上是从父级元素的有边框开始的。这是我的疑问所在。
经过一番思辨后得出新的理解,因为该浮动元素是子级,而块级元素边框是父级,也就是说,浮动元素能活动的范围就是在这个块级元素里面。因为我给这个块级元素设置的width:300px;所以浮动元素向右列队的时候就是从右边框开始的。(有个不知道是否正确的理解:块级元素不能识别到浮动元素,但浮动元素可以识别到块级元素,所以从右边框开始)
一旦我取消了父级div的width,浮动元素就会从我的页面的最右边开始列队了。