display:table;和vertical-align:middle;对容器里的文字进行垂直居中.html 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>display: table; 和 vertical-align: middle; 对容器里的文字进行垂直居中</title>
  7. <style>
  8. #box {
  9. width: 300px;
  10. height: 300px;
  11. background: #ddd;
  12. display: table;
  13. }
  14. #child {
  15. display: table-cell;
  16. vertical-align: middle;
  17. }
  18. #box2 {
  19. width: 300px;
  20. height: 300px;
  21. background: #ddd;
  22. display: table;
  23. }
  24. .child2 {
  25. display: table-cell;
  26. vertical-align: baseline;
  27. border-right: 1px solid orange;
  28. }
  29. .child2:first-child {
  30. font-size: 30px;
  31. }
  32. .child2:last-child {
  33. font-size: 50px;
  34. }
  35. </style>
  36. </head>
  37. <body>
  38. <h1>display: table; 和 vertical-align: middle; 对容器里的文字进行垂直居中</h1>
  39. <div id="box">
  40. <div id="child">test vertical align</div>
  41. </div>
  42. <pre>
  43. vertical-align 属性只对拥有 valign 特性的 html 元素起作用,例如表格元素中的 <td> <th> 等等,而像 &lt;div&gt; &lt;span&gt; 这样的元素是不行的。
  44. valign 属性规定单元格中内容的垂直排列方式,语法:<td valign="value">,value的可能取值有以下四种:
  45. top:对内容进行上对齐
  46. middle:对内容进行居中对齐
  47. bottom:对内容进行下对齐
  48. baseline:基线对齐
  49. 关于 baseline:基线是一条虚构的线,在一行文本中,大多数字母以基线为基准。baseline 值设置行中的所有表格数据都分享相同的基线。该值的效果在文本的字号各不相同时效果会更好,请看下例:
  50. </pre>
  51. <div id="box2">
  52. <div class="child2">glory</div>
  53. <div class="child2">glad</div>
  54. <div class="child2">align</div>
  55. </div>
  56. </body>
  57. </html>