打印

[教程] 彻底弄懂CSS盒子模式三(浮动的表演和清除的自述)

不愿继续。。。。

楼主看了你的所有教程,
不感谢你不行了~~~
让我这老是潜水的人~也得出来说句话了~~~~
谢谢你~~~希望能有更多的教程出来~~从多方位,多角度去了解CSS

TOP

我感觉有些地方楼主加了<p>,反而效果更不形象了。。。

TOP

太需要了,谢谢呀

TOP

29,30同样的内容不要发两次..

TOP

顶LZ..讲的太好了....

TOP

引用:
原帖由 webflash 于 2007-4-1 17:08 发表

5.如果一个较宽的子盒子在一个较窄的父盒子中拥有浮属性,子盒子漂浮后不会影响到父盒子的宽度,子盒子超出父盒子的部分会越到父盒子外面,但越出父盒子外的部分不会引起外边文本流的移动,而会直接覆盖在外边文字上面的……

(2)浮动对象之间不会重叠。上面有讲到浮动对像越出外边去的情况,那么一个浮动盒子又会不会越到另一个浮动对象上面去呢,实质上它们是不会重叠的,即使用了负边界看起来像重叠在一起。
说法欠妥,依旧是“层叠”和“堆叠”概念没有澄清引起的。

另外:
清除浮动的原理几乎没有提及,而这又往往与清除浮动元素相关的margin重叠紧密相关(否则无法理解与之相关的margin重叠现象)。

TOP

修正说法!

引用:
原帖由 zbm2001z 于 2007-8-15 02:54 发表
引用:
原帖由 webflash 于 2007-4-1 17:08 发表

5.如果一个较宽的子盒子在一个较窄的父盒子中拥有浮属性,子盒子漂浮后不会影响到父盒子的宽度,子盒子超出父盒子的部分会越到父盒子外面,但越出父盒子外的部分不会引起外边文本流的移动,而会直接覆盖在外边文字上面的……

(2)浮动对象之间不会重叠。上面有讲到浮动对像越出外边去的情况,那么一个浮动盒子又会不会越到另一个浮动对象上面去呢,实质上它们是不会重叠的,即使用了负边界看起来像重叠在一起。
说法欠妥,依旧是“层叠”和“堆叠”概念没有澄清引起的。

另外:
清除浮动的原理几乎没有提及,而这又往往与清除浮动元素相关的margin重叠紧密相关(否则无法理解与之相关的margin重叠现象)。
请用FF浏览器运行下面代码,并参阅代码后再看后面新的分析!

 提示:您可以先修改部分代码再运行
同样具有浮动属性的子级,不和父级一同影响和父级同在一级的文本流。在此实例中,红色的字只浮动在蓝色盒子的边界外,而不会是浮动在蓝色和绿色盒子相交(联想两个盒子相加后有点像手榴弹)后的边界外。在此实例中,蓝色盒子box与红字P处在同一级,它们都没有指定position和z-index属性,它们的堆叠关系将由它们在文档中出现的顺序决定,后出现的堆叠在前出现的上面,p堆叠box之上,而绿色盒子box2在box内,是box的子级,它的层级不会逾越其父级元素box,所以最终看到的效果是红色字覆盖在绿色盒子的黑色字之上。晕,好像有点离题,主要讲到定位去了...

清除浮动或者叫闭合浮动的元素的方法适用在自适应高度,即没有指定高度,或者高度设为自动的父级元素高度可以随子级内容高度变化而变化。

TOP

引用:
原帖由 kuner1129 于 2007-5-14 12:13 发表
关于clear  第一个小例子那儿, clear:none 这里
我试了下,在IE和firefox里,把 clear:none这句加上和去掉效果是一样的啊,它是不是默认的就是这样?
引用:
1.我不动声色(我的属性不设置的时候),即:float:none,或者样式中不写这一项时,网页中的元素将按照它们自身的出现方式排列,一般是靠边对齐,先出现的排在前边...
没错,clear:none;是浏览器默认方法。
引用:
原帖由 woxindead 于 2007-5-31 15:46 发表
所谓标准不都是一步一步调出来的吗
在FF下可以用什么代替li
如果用li怎么控制它的高度
1.XHTML的标签是不可代替的,不同标签有它的语义。就像P,它指的是段落,除了P还有什么标签能很直接的说明内容是段落?尽管你可以用DIV做出个类似段落的表现来,这样都是不科学的。
2.高度可以用行高(line-height)和元素高度(height)直接指定,值得注意的是用行高(line-height)需给盒子指定内容与字体大小(font-size),不然。。。自己试试看吧。。。

TOP

首先理解“层叠”和“堆叠”概念是必要的。

……子盒子超出父盒子的部分会越到父盒子外面,但越出父盒子外的部分不会引起外边文本流的移动,而会直接覆盖在外边文字上面的……——不是覆盖

p堆叠box2之上——这里也不存在堆叠关系

这些都是是“层叠”关系,即:这些盒子本身不相互对彼此包含的行内元素和置换元素产生覆盖,而仅仅是它们所包含的行内元素和置换元素之间依照常规流次序互相交叠、覆盖(也就是37#楼的测试结果)。


这也是在这篇彻底弄懂CSS盒子模式四(绝对定位和相对定位)中,需要澄清的这两个概念。

连带堆叠(FF、OPERA、IE7亦可测):

 提示:您可以先修改部分代码再运行
局部堆叠:

 提示:您可以先修改部分代码再运行
[ 本帖最后由 zbm2001z 于 2007-8-15 19:23 编辑 ]

TOP

引用:
原帖由 zbm2001z 于 2007-8-15 19:11 发表
首先理解“层叠”和“堆叠”概念是必要的。

……子盒子超出父盒子的部分会越到父盒子外面,但越出父盒子外的部分不会引起外边文本流的移动,而会直接覆盖在外边文字上面的……——不是覆盖

p堆叠box2之上 ...
强烈要求宝儿出个教程,详细说一下“层叠”和“堆叠”概念与关系,似乎“堆叠”概念较少听,相信不少网友也想学习一下,期待学习...

TOP

float的第6个例子和clear的第3个例子我在ie7下都试不出效果来。。。orz...
教程真强大,学到了

TOP

最后一个没看明白
body div {clear:both;}是写在最前面的,可是按着优先极的原则它应该被下面的clear:left;所附盖,怎么会没有呢?

TOP

clear的第三个例子没搞明白,
body div {clear:both;}这个是放在第一行的,按照原则它会被后面的clear:left;所覆盖,为什么没有呢?

TOP

引用:
原帖由 风若吹 于 2007-12-7 14:59 发表
clear的第三个例子没搞明白,
body div {clear:both;}这个是放在第一行的,按照原则它会被后面的clear:left;所覆盖,为什么没有呢?
94阿!

TOP

楼上的看错了,是float:left;不是clear:left

TOP

我想问楼主浮动的问题。在有些网页里看到:有两个层,一个浮动到左边,一个浮动到右边,浮动到右边的设置了一个很宽的margin,而浮动到左边的那个层却可以放置在了那个margin之上,这是为什么呢?

TOP

得要好好学习下,谢谢分享.

TOP

顶啊顶啊顶啊顶啊顶啊
http://www.hnau.netCSS+DIV专心学习

TOP

学到新的东西了

TOP

强帖,受教了

TOP

太好了顶ing

TOP

好强哦

TOP

谢谢楼主分享~ 细心学习中~ THX

TOP

很清楚明了 可还有一点我想问下 为什么浮动可以把两个层上下间的空白去掉呢?
例如:
<p></p>
<p></p>
两个层间有空白 如果加上float:left那就会紧靠了(为什么两个层间会有空白)、
我写css的时候总喜欢加上*{margin:0;padding:0} 但P之间还是会有个空白 一定要加上float

TOP

最后的那个不太明白
JS菜鸟努力

TOP

写的很好呢。~~
我觉得很易懂。谢谢~

TOP

回复 #1 webflash 的帖子

好帖子,收藏
温经散寒补肝肾强筋骨

TOP

引用:
原帖由 风若吹 于 2007-12-7 14:53 发表
最后一个没看明白
body div {clear:both;}是写在最前面的,可是按着优先极的原则它应该被下面的clear:left;所附盖,怎么会没有呢?
你应该是说被float:left;所附盖吧?

float作用于当前盒子本身,而clear是作用于当前盒子两边的同级盒子,没冲突啊,应该不存在覆盖这说法啊?望楼主来更指点一下

TOP

引用:
原帖由 lifeseato 于 2008-2-22 15:31 发表
很清楚明了 可还有一点我想问下 为什么浮动可以把两个层上下间的空白去掉呢?
例如:


两个层间有空白 如果加上float:left那就会紧靠了(为什么两个层间会有空白)、
我写css的时候总喜欢加上*{margin:0;paddi ...
没仔细看清楚楼主的教程吧?楼主说过了块级远素在没有定义float之前是按从上到下的先后顺序来排列的

TOP

难得一见的好教程,签名留念!

TOP