Blogger Information
Blog 9
fans 0
comment 0
visits 9122
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
盒子大小设置内容溢出和元素水平垂直居中
Jerry
Original
1358 people have browsed it

盒子大小设置

IE盒子属性 box-sizing:border-box 大小含有边框和内边距的盒子 box-sizing:content-box 原来意义上的盒子 不含边框和内边距

元素的高度:内容超出处理方式

如果盒子高度设置了固定值,内容已经超出了盒子的高度,需要用overflow属性来设置显示,隐藏或者滚动条自动

代码

  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>元素的高度:内容超出处理方式</title>
  7. <style>
  8. html {
  9. font-size: 10px;
  10. }
  11. .box {
  12. width: 20em;
  13. /* 高度可以不设置,通过内容将高度撑开,不设置固定值 */
  14. height: 20em;
  15. box-sizing: border-box;
  16. background-color: rgb(170, 240, 200);
  17. border: 1px solid #333;
  18. }
  19. /* 如果高度设置了固定值,此时内容已经超出了盒子的高度 */
  20. .box {
  21. /* 默认值是显示 可以省略不写 */
  22. overflow: visible;
  23. /* 溢出内容隐藏 */
  24. overflow: hidden;
  25. /* 使用滚动条查看被隐藏的内容 */
  26. overflow: scroll;
  27. /* 使用auto表示 溢出时显示滚动条,不溢出时不显示 */
  28. overflow: auto;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div class="box">
  34. 嫦娥五号任务圆满成功,彰显了中国特色制度优势。新型举国体制是突破国家重大技术短板、推进重大项目工程、实现核心关键技术顺利攻关的最大法宝。航天工程规模宏大,系统复杂,要想在相对较短时间取得巨大成就,必须集中有限的力量攻坚克难。千万颗心连着太空,亿万双手托举航天,这次嫦娥五号任务坚持自主创新、协同创新、开放创新,是探索建立新型举国体制的又一生动实践。
  35. 从新中国成立之初的“两弹一星”到新时期的“嫦娥探月工程”,无不闪烁着举国体制的光芒。实践证明,中国航天事业之所以能够不断取得新的突破,靠的就是党的集中统一领导,靠的就是跨部门、跨地区、跨专业的团结协作,靠的就是发挥社会主义制度集中力量办大事的政治优势。
  36. </div>
  37. </body>
  38. </html>

容器最小高度与最大高度

设置最小高度,内容超出后自动撑开,内容不足时按最小高度显示,不塌陷。
设置最大高度,内容超出最大高度时隐藏或加滚动条显示,内容没有超出最大高度时,按内容高度显示。

  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>容器最小高度与最大高度</title>
  7. <style>
  8. body div {
  9. border: 1px solid red;
  10. width: 25em;
  11. }
  12. body div:first-of-type {
  13. /* 内容由高度撑开 */
  14. height: auto;
  15. }
  16. body div:nth-of-type(2) {
  17. min-height: 5em;
  18. /* 只设置最小高度,内容超出后自动撑开,内容不足时按最小高度显示,不塌陷 */
  19. }
  20. body div:nth-of-type(3) {
  21. max-height: 10em;
  22. /* 最大高度,内容超出最大高度时隐藏或加滚动条显示,
  23. 内容没有超出最大高度时,按内容高度显示 */
  24. background-color: turquoise;
  25. overflow: auto;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div>2020年十大房价下跌城市:北京、郑州、青岛上榜</div>
  31. <div>2020年十大房价下跌城市:北京、郑州、青岛上榜<br /></div>
  32. <div>
  33. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  34. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  35. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  36. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  37. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  38. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  39. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  40. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  41. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  42. 2020年十大房价下跌城市:北京、郑州、青岛上榜<br />
  43. </div>
  44. </body>
  45. </html>

元素水平垂直居中

行内元素的水平居中(图片和文字)text-align: center
行内块元素水平居中 使用 margin: 0 auto 使用margin来实现块的水平居中,挤压式的居中

垂直居中(文字)通过设置行高等于盒子高度挤出垂直居中,但是这种方式对图片无效

  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>垂直居中</title>
  7. <style>
  8. .box {
  9. width: 20em;
  10. height: 15em;
  11. background-color: violet;
  12. }
  13. .box a {
  14. /* 通过设置行高等于盒子高度挤出垂直居中 */
  15. line-height: 15em;
  16. }
  17. .box img {
  18. /* 这种设置对图片无效 图片属于是块元素 */
  19. line-height: 15em;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="box">
  25. <a href="">php.cn</a>
  26. <!-- <img
  27. src="https://img.php.cn/upload/course/000/000/001/5fae261f9c169870.png"
  28. width="150"
  29. alt=""
  30. /> -->
  31. </div>
  32. </body>
  33. </html>

垂直居中(图片和块元素) 盒子不要给高度,这个高度应该由padding挤出来。

  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>垂直居中块元素padding</title>
  7. <style>
  8. .box {
  9. width: 20em;
  10. /* 不要给高度,这个高度应该由padding挤出来 */
  11. /* height: 15em; */
  12. background-color: violet;
  13. }
  14. .box {
  15. /* 垂直居中也是挤出来的 */
  16. padding: 5em 0;
  17. }
  18. .box > div {
  19. width: 5em;
  20. height: 5em;
  21. background-color: yellow;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="box">
  27. <!-- 图片当做块元素来对待 -->
  28. <img
  29. src="https://img.php.cn/upload/course/000/000/001/5fae261f9c169870.png"
  30. width="150"
  31. alt=""
  32. />
  33. <!-- <div></div> -->
  34. </div>
  35. </body>
  36. </html>

水平和垂直居中
行内元素水平垂直居中比较简单 text-align: center
通过设置行高等于盒子高度挤出垂直居中 line-height: 15em

行内块元素水平垂直居中 padding和Margin同时挤压
最终效果
水平垂直居中

  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>行内块元素水平垂直居中</title>
  7. <style>
  8. .box {
  9. width: 20em;
  10. /* 不要给高度,这个高度应该由padding挤出来 */
  11. /* height: 15em; */
  12. background-color: violet;
  13. }
  14. /* 首先水平居中通过padding挤出来 */
  15. .box {
  16. padding: 5em 0;
  17. }
  18. .box > div {
  19. width: 5em;
  20. height: 5em;
  21. background-color: yellow;
  22. }
  23. /* 在垂直居中通过margin挤出来 */
  24. .box > div {
  25. margin: auto;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="box">
  31. <div></div>
  32. </div>
  33. </body>
  34. </html>
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post