CSS行内元素和块级元素的居中实例分析

悲酥清风 CSS1 2,627,824阅读模式

本文通过具体实例给大家详细介绍了CSS行内元素块级元素的居中的实现方法,非常简单实用,推荐给大家,希望大家能够喜欢。

一.水平居中

行内元素和块级元素不同,对于行内元素,只需在父元素中设置text-align=center即可;

对于块级元素有以下几种居中方式:

1.将元素放置在table中,再将table的margin-left和margin-right设置成auto,将table居中,使在其之中的块级元素叶居中,但是这种方式不符合语义化标签的规范;

2.将块级元素转换行内元素(通过设置display:inline)后再居中.这种方式使居中元素变成行内元素而致使无法设置宽高;

3.设置父元素float:left,position:relative,left:50%;子元素float:left,position:relative,left:-50%,利用相对布局的方式居中.上面三种方式各有优劣,依使用情景具体选择.

二.垂直居中

1.对于知道高度的元素可以设置上下padding相等;

2.设置line-height和height相等

3.利用vertical-align,但是这属性只在tr,td中适用,故可将元素放置入table中在居中

源码:

  1. <!-- 水平居中 -->
  2. <!-- 行內元素居中只需在父元素中設置text-align即可 -->
  3. <div class="father">
  4. <p class="blockCenter">
  5. hehe</p>
  6. </div>
  7. <!-- table居中 -->
  8. <table class="tableclass">
  9. <tr>
  10. <td>
  11. <ul class="ulclass">
  12. <li><a href="#">呵</a></li>
  13. </ul>
  14. </td>
  15. </tr>
  16. </table>
  17. <table class="tableclass">
  18. <tr>
  19. <td>
  20. <ul class="ulclass">
  21. <li><a href="#">呵</a></li>
  22. <li><a href="#">呵</a></li>
  23. <li><a href="#">呵</a></li>
  24. </ul>
  25. </td>
  26. </tr>
  27. </table>
  28. <table class="tableclass">
  29. <tr>
  30. <td>
  31. <ul class="ulclass">
  32. <li><a href="#">呵</a></li>
  33. <li><a href="#">呵</a></li>
  34. <li><a href="#">呵</a></li>
  35. <li><a href="#">呵</a></li>
  36. <li><a href="#">呵</a></li>
  37. </ul>
  38. </td>
  39. </tr>
  40. </table>
  41. <!-- 將塊級元素變為行內元素在居中 -->
  42. <ul style="{text-align: center}">
  43. <li style="{display: inline}">nihao </li>
  44. </ul>
  45. <!-- 利用相對佈局 -->
  46. <ul class="relativeCenterFather">
  47. <li class="relativeCenterChild">你好 </li>
  48. </ul>
  49. <!-- 豎直居中-->
  50. <!-- 1.設置相同的上下padding -->
  51. <!-- 2.父元素height和line-height相同 -->
  52. <hr />
  53. <div style={background:#000;width:500px;color:#fff;line-height:100px;text-align:center}>
  54. 我要來場說走就走的旅行
  55. </div>
  56. <!--3. vartical-align,這屬性只對tr,td起作用 -->
  57. <table>
  58. <tr verticla-align="center" height="100" background="#FF00FF">
  59. <td>一弦一柱思華年</td>
  60. </tr>
  61. </table>

 

css样式:

 

  1. <style type="text/css">
  2. .father
  3. {
  4. width:500px;
  5. }
  6. .inlineCenter
  7. {
  8. text-align:center;
  9. float:left;
  10. }
  11. .blockCenter
  12. {
  13. width:100px;
  14. margin-left:auto;
  15. margin-right:auto;
  16. text-align:"center"
  17. }
  18. .tableclass
  19. {
  20. margin-left:auto;
  21. margin-right:auto;
  22. }
  23. .ulclass
  24. {
  25. list-style:none;
  26. margin:0;
  27. padding:0;
  28. }
  29. .ulclass li
  30. {
  31. float:left;
  32. display:inline;
  33. text-align:center;
  34. }
  35. .ulclass li a
  36. {
  37. text-align:center;
  38. float:left;
  39. background:#316AC5;
  40. color:#fff;
  41. }
  42. .ulclass li a:hover
  43. {
  44. background:#fff;
  45. color:#316AC5;
  46. }
  47. .relativeCenterFather
  48. {
  49. float:left;
  50. position:relative;
  51. left:50%
  52. }
  53. .relativeCenterChild
  54. {
  55. float:left;
  56. position:relative;
  57. left:-50%;
  58. }
  59. /* 豎直居中*/
  60. .wrap
  61. {
  62. background:#000;
  63. width:500px;
  64. color:#fff;
  65. height:100px;
  66. line-height:100px;
  67. }
  68. </style>

以上就是本文所述的全部内容了,希望对大家熟练掌握CSS能够有所帮助。

悲酥清风
  • 本文由 发表于 2015年4月22日 10:40:06
评论  1  访客  0  引用  1

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定