设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间09 现在时间09 缓存数据 随缘不是听天由命,而是用豁达的心态去面对生活。心累的时候,不如换个角度看世界。新的一天,早安。

随缘不是听天由命,而是用豁达的心态去面对生活。心累的时候,不如换个角度看世界。新的一天,早安。

查看: 781|回复: 4

CSS子元素跟父元素的高度一致的实现方法

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:235
  • 打卡月天数:0
  • 打卡总奖励:3440
  • 最近打卡:2025-04-16 21:58:33
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
447
主题
402
精华
0
金钱
4763
积分
926
注册时间
2023-1-21
最后登录
2025-4-16

发表于 2023-2-11 07:03:28 | 显示全部楼层 |阅读模式

绝对定位方法:

(1)将父元素设置为相对定位,不写父元素的高度时,会随着左边的子元素高度变化而变化

  1. .parent {
  2. /*关键代码*/
  3. position: relative;
  4. /*其他样式*/
  5. width: 800px;
  6. color: #fff;
  7. font-family: "Microsoft Yahei";
  8. text-align: center;
  9. }
复制代码

(2)左边一个元素有个最小高度的情况

  1. .left {
  2. min-height: 700px;
  3. width: 600px;
  4. }
复制代码

(3)右边元素要想跟父元素的高度是一致,那么可以用绝对定位这样设置,如果不想同时写top和bottom,写一个时,再写上height:100%,也可以达到一样的效果

  1. .right {
  2. /*关键代码*/
  3. width: 200px;
  4. position: absolute;
  5. top: 0;
  6. right: 0;
  7. bottom: 0;
  8. /*其他样式*/
  9. background: #ccc;
  10. }
复制代码

(4)完整例子代码:

  1. <!DOCTYPE html>
  2. <html >
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>子元素高度与父元素一致</title>
  6. <style>
  7. .parent{
  8. position: relative;
  9. background: #f89;
  10. width: 800px;
  11. color: #fff;
  12. font-family: "Microsoft Yahei";
  13. text-align: center;
  14. }
  15. .left {
  16. min-height: 700px;
  17. width: 600px;
  18. }
  19. .right {
  20. width: 200px;
  21. position: absolute;
  22. top: 0;
  23. right: 0;
  24. bottom: 0;
  25. background: #ccc;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div class="parent">
  31. <div class="left">
  32. 左侧 left 不定高,parent的高度随着左侧left 的高度变化而变化,右侧也跟着变
  33. </div>
  34. <div class="right">
  35. 这边的高度跟父元素高度一致
  36. </div>
  37. </div>
  38. </body>
  39. </html>
复制代码

(5)效果

080403z9hb6h9jh3ki9rc6.png

(6)问题来了:
 

如果右侧的子元素高度超出了.parent,怎么办?

  1. .right-inner {
  2. background: limegreen;
  3. height: 1024px;
  4. }
复制代码
  1. <div class="right">
  2. <div class="right-inner">right的子元素,高度为1024px,会撑破容器,给.right加上 overflow:auto 就防止溢出了</div>
  3. </div>
复制代码

效果图如下:

080404qw9k5it75k57ujqw.png

完整代码:

  1. <!DOCTYPE html>
  2. <html >
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>子元素高度与父元素一致</title>
  6. <style>
  7. .parent{
  8. position: relative;
  9. background: #f89;
  10. width: 800px;
  11. color: #fff;
  12. font-family: "Microsoft Yahei";
  13. text-align: center;
  14. }
  15. .left {
  16. min-height: 700px;
  17. width: 600px;
  18. }
  19. .right {
  20. width: 200px;
  21. position: absolute;
  22. top: 0;
  23. right: 0;
  24. height: 100%;
  25. overflow: auto;
  26. background: #ccc;
  27. }
  28. .right-inner {
  29. background: limegreen;
  30. height: 1024px;
  31. }
  32. </style>
  33. </head>
  34. <body>
  35. <div class="parent">
  36. <div class="left">
  37. 左侧 left 不定高,parent的高度随着左侧left 的高度变化而变化,右侧也跟着变
  38. </div>
  39. <div class="right">
  40. <div class="right-inner">right的子元素,高度为1024px,会撑破容器,给.right加上 overflow:auto 就防止溢出了</div>
  41. </div>
  42. </div>
  43. </body>
  44. </html>
复制代码

(7)其他资源

http://stackoverflow.com/questions/3049783/how-to-make-a-floated-div-100-height-of-its-parent

到此这篇关于CSS子元素跟父元素的高度一致的实现方法的文章就介绍到这了,更多相关CSS子元素父元素高度内容请搜索晓枫资讯以前的文章或继续浏览下面的相关文章,希望大家以后多多支持晓枫资讯!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:常驻代表
  • 打卡总天数:30
  • 打卡月天数:0
  • 打卡总奖励:334
  • 最近打卡:2025-04-14 21:54:59
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
385
积分
70
注册时间
2023-1-7
最后登录
2025-4-14

发表于 2023-8-12 17:20:56 | 显示全部楼层
感谢分享~~~~学习学习~~~~~
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

  • 打卡等级:无名新人
  • 打卡总天数:1
  • 打卡月天数:0
  • 打卡总奖励:16
  • 最近打卡:2023-11-02 02:07:49
等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
30
积分
8
注册时间
2023-10-27
最后登录
2023-11-2

发表于 2024-2-17 19:58:59 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
16
积分
12
注册时间
2022-12-24
最后登录
2022-12-24

发表于 2025-4-9 11:58:52 | 显示全部楼层
感谢楼主,顶。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
17
积分
14
注册时间
2022-12-29
最后登录
2022-12-29

发表于 4 天前 | 显示全部楼层
感谢楼主分享。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
4楼
5楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表