You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将屏幕水平分为两半占满全屏?height:100%不生效怎么解决

失效原因

  • 百分比高度依赖父元素的显式高度定义,默认html、body元素高度由内容撑开,没有设置满屏高度,因此子元素的height:100%没有可继承的高度基准,无法生效
  • 块级元素默认纵向排列,即使设置了50%宽度也会自动换行,无法水平并排

调整代码(Flex 实现,兼容性好)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hey I am a title</title>
    <style>
    /* 重置根元素与body的默认样式,设置满屏高度 */
    html, body {
      height: 100%;
      margin: 0;
      display: flex;
    }
    .t7 {
      width: 50%;
      height: 100%;
      background-color: #506970;
    }
    .t7:last-child {
      background-color: #697050;
    }
    </style>
</head>
<body>
<div class="t7">aaa</div>
<div class="t7">bbb</div>
</body>
</html>

其他可选实现

如果不想用Flex,也可以用浮动实现,修改样式部分即可:

html, body {
  height: 100%;
  margin: 0;
}
.t7 {
  float: left;
  width: 50%;
  height: 100%;
  background-color: #506970;
}

如果你的需求是上下垂直分两半(沿水平中线切分),只需把.t7的width:50%改为height:50%,去掉flex或浮动配置即可。

内容的提问来源于stack exchange,提问作者Jan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:54:03