当前位置:   article > 正文

CSS居中对齐 (垂直居中)_css 行内标签垂直居中对齐

css 行内标签垂直居中对齐

内部块级元素的高度要小于容器(父元素)

方案一:行高 = 容器高度(单行内联元素

限制条件:仅用于单行内联元素 display:inline 和 display: inline-block;

 给容器添加样式

  1. height: 100px;
  2. line-height: 100px;

  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>Document</title>
  7. <style>
  8. .box {
  9. border: 1px solid gray;
  10. height: 100px;
  11. line-height: 100px;
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <div class="box">
  17. <span class="item">垂直居中 -- 内联元素 display:inline</span>
  18. </div>
  19. </body>
  20. </html>

 

方案二:flex布局【推荐】

给容器添加样式

  1. display: flex;
  2. align-items: center;
  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>Document</title>
  7. <style>
  8. .box {
  9. width: 100px;
  10. height: 100px;
  11. border: 1px solid gray;
  12. display: flex;
  13. align-items: center;
  14. }
  15. .item {
  16. width: 50px;
  17. height: 50px;
  18. border: 1px solid red;
  19. background: yellow;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="box">
  25. <span class="item"></span>
  26. </div>
  27. </body>
  28. </html>

方案三:子绝父相 + transform(CSS3)

限制条件:浏览器需支持CSS3,比较老的浏览器不适用
给容器(父元素)添加样式

position: relative

 给内部元素添加样式

  1. position: absolute;
  2. top: 50%;
  3. transform: translate(0, -50%);
  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>Document</title>
  7. <style>
  8. .box {
  9. width: 100px;
  10. height: 100px;
  11. border: 1px solid gray;
  12. position: relative;
  13. }
  14. .item {
  15. width: 50px;
  16. height: 50px;
  17. border: 1px solid red;
  18. background: yellow;
  19. position: absolute;
  20. top: 50%;
  21. transform: translate(0, -50%);
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="box">
  27. <span class="item"></span>
  28. </div>
  29. </body>
  30. </html>

方案四:子绝父相 + 自动外边距(指定高度)

限制条件:内部元素需限定高度

给容器(父元素)添加样式

position: relative

给内部元素添加样式

  1. position: absolute;
  2. top: 0;
  3. bottom: 0;
  4. margin: auto;
  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>Document</title>
  7. <style>
  8. .box {
  9. width: 100px;
  10. border: 1px solid gray;
  11. width: 200px;
  12. position: relative;
  13. }
  14. .item {
  15. position: absolute;
  16. top: 0;
  17. bottom: 0;
  18. margin: auto;
  19. background-color: yellow;
  20. height: 20px;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="box">
  26. <span class="item">1111</span>
  27. </div>
  28. </body>
  29. </html>

子绝父相 + 负外边距 (知道高度 + 高度计算)

 

限制条件:需知道内部元素的高度

给容器(父元素)添加样式

position: relative

给内部元素添加样式

  1. position: absolute;
  2. top: 50%;
  3. margin-top: -内部元素高度的一半;
  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>Document</title>
  7. <style>
  8. .box {
  9. margin: 30px;
  10. border: 1px solid gray;
  11. width: 200px;
  12. height: 100px;
  13. position: relative;
  14. }
  15. .item {
  16. position: absolute;
  17. top: 50%;
  18. margin-top: -25px;
  19. height: 50px;
  20. background-color: yellow;
  21. }
  22. </style>
  23. </head>
  24. <body>
  25. <div class="box">
  26. <span class="item">垂直居中</span>
  27. </div>
  28. </body>
  29. </html>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/853375
推荐阅读
相关标签
  

闽ICP备14008679号