解决DIV水平居中和垂直居中的多种方案

你对DIV水平居中和垂直居中的解决方法是否了解,这里和大家分享一下,相信本文介绍一定会让你有所收获。

DIV水平居中和垂直居中的多种解决方案

  在定义网页的CSS样式的时候,我们或许并不怎么用到垂直居中。在div-css.net中,大量的文章介绍了这些知识。在和别人合作的时候,你的代码的自适应性就需要做到最大程度的好。你自己在做自己的网页的时候或许可以保证在视觉上是居中的,但是如果让这个元素或者他的父元素变大了,你还能保证居中吗?

  vertical-align是个不错的属性,但是这个属性起初是针对表格的cell的。当然这个属性虽然对块级元素不起作用,但是对行内元素比如span还是有作用的(这时候,这个属性设置为负值元素内容就下移,正值则上移)。

  下面是比较专业的垂直居中的集中解决方案。记录于此,以便查阅。

1、单行垂直居中

  文字在层中垂直居中vertical-align属性是做不到的.我们这里有个比较巧妙的方法就是:设置height的高度与line-height的高度相同!

ExampleSourceCode[] 

 
 
 
  1. <divstyledivstyle="line-height:500px;height:500;"> 
  2.  

2、层水平居中

  设置div的宽度小于父div的宽度,设置margin:0auto;,即可让div居中。

ExampleSourceCode[] 

 
 
 
  1. #parentdiv  
  2. {  
  3. width:500px;  
  4. }  
  5. #childdiv{  
  6. width:200px;  
  7. margin:0auto;  
  8. }  
  9.  

3、层中的文字水平居中

  在childdiv的css加上text-align:center;

ExampleSourceCode[] 

 
 
 
  1. #parentdiv  
  2. {  
  3. width:500px;  
  4. }  
  5. #childdiv{  
  6. width:200px;  
  7. margin:0auto;  
  8. text-align:center;  
  9. }  
  10.  

 #p#4、DIV层垂直居中

ExampleSourceCode[] 

 
 
 
  1. <divstyledivstyle="width:275px;height:375px;border:solidred;"> 
  2. <divstyledivstyle="background:green;height:375px;width:275px;  
  3.  
  4. position:relative;display:table-cell;vertical-align:middle;"> 
  5. <div 
  6. style="background:red;position:static;position:absolute\9;top:50%;"> 
  7. <div 
  8. style="background:blue;position:relative;top:-50%;"> 
  9.  
  10. div> 
  11. div> 
  12. div> 
  13. div> 
  14.  

 5、DIV层垂直水平居中,英文超长换行

ExampleSourceCode[] 

 
 
 
  1. <divstyledivstyle="float:left;width:275px;height:375px;border:solidred;"> 
  2. <div 
  3. style="height:375px;width:275px;position:relative;display:table-cell;vertical-align:middle;"> 
  4. <div 
  5. style="position:static;position:absolute\9;top:50%;"> 
  6. <divstyledivstyle="position:relative;top:-50%;text-align:center;"> 
  7. <divstyledivstyle="width:85px;WORD-WRAP:break-word;TABLE-LAYOUT:fixed;  
  8.  
  9. word-break:break-all;margin:0auto;"> 
  10.  
  11. div> 
  12.  
  13. div> 
  14. div> 
  15. div> 
  16. div> 
  17.  

6、div垂直滚动

ExampleSourceCode[] 

 
 
 
  1. <div 
  2. style="width:160px;height:260px;overflow-y:scroll;border:1pxsolid;"> 
  3.  
  4. div> 
  5.  

#p#7、垂直居中和使用text-align水平居中

ExampleSourceCode[]
 

 
 
 
  1. <divstyledivstyle="float:left;width:275px;height:375px;border:solidred;"> 
  2. <div 
  3. style="height:375px;width:275px;position:relative;  
  4. display:table-cell;vertical-align:middle;"> 
  5. <div 
  6. style="position:static;position:absolute\9;top:50%;"> 
  7. <div 
  8. style="position:relative;top:-50%;text-align:center;"> 
  9. <divstyledivstyle="width:275px;"> 
  10. <divstyledivstyle="width:160px;WORD-WRAP:break-word;TABLE-LAYOUT:fixed;  
  11. word-break:break-all;text-align:left;"> 
  12.  
  13. div> 
  14. div> 
  15.  
  16. div> 
  17. div> 
  18. div> 
  19. div> 
  20.  

 8、垂直居中和使用margin水平居中

ExampleSourceCode[]
 

 
 
 
  1. <divstyledivstyle="float:left;width:275px;
  2. height:375px;border:solidred;"> 
  3. <div 
  4. style="height:375px;width:275px;position:relative;  
  5. display:table-cell;vertical-align:middle;"> 
  6. <div 
  7. style="position:static;position:absolute\9;top:50%;"> 
  8. <div 
  9. style="position:relative;top:-50%;"> 
  10.  
  11. <divstyledivstyle="margin:0auto;width:160px;WORD-WRAP:break-word;  
  12. TABLE-LAYOUT:fixed;word-break:break-all;"> 
  13.  
  14. div> 
  15.  
  16. div> 
  17. div> 
  18. div> 
  19. div> 
  20.  

【编辑推荐】

  1. DIV CSS隐藏内容样式方法详解
  2. IE6.0对padding的解读分析
  3. 揭露CSS中margins折叠现象内幕
  4. 七大CSS选择符用法说明
  5. 技术分享 如何使用CSS控制超链接文字样式

 

THE END