div中ul高度自增解决办法

CSS浮动与清除技巧
本文介绍了一种在CSS布局中解决div内ul高度自增的问题。通过为ul设置height:auto并利用clear:both清除浮动,确保了div能正确包裹所有的li元素。同时对比了display:none与visibility:hidden的区别。

div中ul高度自增解决办法

处理前:

 

处理后:

处理代码:

 

 
 
  1. <style>  
  2. ul{ 
  3.     border:1px solid red; 
  4.     width:300px; 
  5.     height:auto; 
  6. }  
  7. li{ 
  8.     border:1px solid #00f; 
  9.     width:100px; 
  10.     height:30px; 
  11.     float:left; 
  12. }  
  13. </style>  
  14.  
  15. <ul>  
  16.     <li>1</li>  
  17.     <li>2</li>  
  18.     <li>3</li>  
  19.     <li>4</li>  
  20. </ul>  
  21. <div style="clear:both;visibility:hidden"></div> 
  22. <div style="border:1px solid #360"> 
  23.  div中ul高度自增 div中ul高度自增 div中ul高度自增 div中ul高度自增 div中ul高度自增 
  24. </div> 

 

重点是这句(加在ul后面即可):

<div style="clear:both;visibility:hidden"></div>

clear:both 规定在左右两侧均不允许出现浮动元素。

这个属性是用来控制float属性在文档流的物理位置的。当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除。

 

visibility:hidden  规定元素是否可见

 

display:none 和 visibility:hidden的区别:

display:none:使用该属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;

visibility:hidden:使用该属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在,也即是说它仍具有高度、宽度等属性值。






      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1168686,如需转载请自行联系原作者





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值