为什么clear:right不起作用:
建议:尽可能的手写代码,可以有效的提高学习效率和深度。
使用clear属性清除浮动是司空见惯的事情,对于clear属性的定义可能也烂熟于胸了。
例如,clear:left是清除左侧的浮动元素,实例代码如下:
View Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> <style type="text/css"> .first { width:100px; height:100px; border:1px solid red; float:left; } .second { width:100px; height:100px; border:1px solid blue; float:left; } .third { width:100px; height:100px; border:1px solid green; float:left; clear:left; } </style> </head> <body> <div class="first"></div> <div class="second"></div> <div class="third"></div> </body> </html>
从以上代码可以看出,第三个div的clear:left属性的作用得到了体现,元素产生换行。但是使用clear:right属性的时候未必奏效了。实例代码如下:
View Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" content="http://www.softwhy.com/" /> <title>蚂蚁部落</title> <style type="text/css"> .first { width:100px; height:100px; border:1px solid red; float:left; } .second { width:100px; height:100px; border:1px solid blue; float:left; clear:right; } .third { width:100px; height:100px; border:1px solid green; float:left; } </style> </head> <body> <div class="first"></div> <div class="second"></div> <div class="third"></div> </body> </html>
以上代码尽管第二个div有clear:right代码,但是它的右侧还是出现了浮动元素。这主要代码是顺序执行的,当执行到第二个div要清除右浮动的时候,第三个div并没有被加载,所以它的清除效果也就无效了,于是第三个div依然会紧跟着第二个div。
原文地址:为什么clear:right不起作用
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>