Cesium中地图容器高度不生效怎么办? 小诗雅 提问于 2026-03-12 14:28:19 阅读 62 交互 我在用Cesium加载3D地图时,发现设置的容器高度总是150px,不管我怎么改CSS都没用,明明代码里写了100vh啊。 试过在父级加height: 100%、也试过用!important,但开发者工具里看还是被覆盖成固定高度。是不是Cesium内部动态设置了样式? #cesiumContainer { width: 100%; height: 100vh; margin: 0; padding: 0; position: relative; } Cesium地图应用 我来解答 赞 12 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 百里鸿吉 Lv1 遇到这种问题挺头疼的,有时候Cesium会偷偷给你搞个默认高度。你试试这个,直接在JS里设置一下容器的高度,覆盖一下CSS。 复制这个 var viewer = new Cesium.Viewer('cesiumContainer', { animation: false, timeline: false, shouldAnimate: true }); viewer.container.style.height = '100vh'; 这样应该能解决问题,Cesium的初始化之后再强制设置一次高度。 回复 点赞 2026-03-21 17:21 UE丶鑫丹 Lv1 问题应该出在html和body没设高度。你写了100vh,但html和body默认是内容高度,不是视口高度,所以100%这种相对单位不生效。 解决方法很简单,先把html和body的高度固定住: html, body { width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; } #cesiumContainer { width: 100%; height: 100%; } 如果你用的是100vh,那得确保没有父元素遮挡。有些人喜欢在html和body上用100vh,容器用100%,效果一样。 还有一种情况是Cesium运行时会动态修改容器样式,如果上面方法不行,可以试试在加载后用JS强制设置: const container = document.getElementById('cesiumContainer'); container.style.height = '100vh'; 或者用CSS覆盖: html body #cesiumContainer { height: 100vh !important; } 优先级提上去,基本就能覆盖掉Cesium内部可能存在的样式了。 回复 点赞 2026-03-12 15:02 加载更多 相关推荐 1 回答 73 浏览 Cesium中如何监听地图点击事件并获取经纬度? 我在用Cesium做地图应用,想实现点击地图时弹出当前点的经纬度,但不知道怎么绑定点击事件。试过用viewer.screenSpaceEventHandler,但拿到的坐标是笛卡尔坐标,转成经纬度后数... 萌新.钰浩 交互 2026-02-24 09:24:22 2 回答 44 浏览 Cesium中如何正确移除之前添加的Entity? 我在用Cesium做轨迹回放功能,每次重新加载数据前想清空之前的entity,但调用remove后地图上还是有残留,不知道是不是方法用错了。 我试过这样写: const entity = viewer... 端木树萱 交互 2026-03-09 14:34:19 2 回答 101 浏览 Cesium加载GLTF模型时显示加载失败怎么办? 在Cesium中用Entity.addModel()加载本地GLTF模型时,总提示“加载失败”,但文件路径明明没问题。我按官方文档配置了modelMatrix和scale参数,控制台还报404错误,该... 设计师若溪 交互 2026-02-01 20:25:25 2 回答 60 浏览 Cesium中如何正确加载本地GeoJSON数据? 我在用Cesium加载本地的GeoJSON文件时总是失败,控制台报错说找不到资源。明明路径是对的,也试过把文件放public目录下,但还是不行。 我用的是Vite搭建的项目,是不是需要特殊配置?下面是... 宇文恒菽 交互 2026-03-30 13:52:19 2 回答 54 浏览 AMap地图容器高度设为100%为什么不显示? 我在用高德地图AMap开发时,想让地图占满整个页面,就把容器的CSS高度设成100%了,但地图完全没渲染出来,控制台也没报错。我试过给父级加高度,也试过用vh单位,但还是不行。 这是我的样式代码: #... UE丶光磊 交互 2026-03-13 10:54:20 2 回答 70 浏览 Cesium加载3D模型后如何让模型始终面向屏幕? 我在用Cesium加载glTF模型时发现,模型会随着视角旋转而转动,导致始终侧面对着屏幕。比如放个路牌模型,怎么调整都能让它的正面永远朝向用户视角呢? 尝试过在Entity里设置orientation... 东焕(打工版) 交互 2026-02-02 19:12:33 2 回答 35 浏览 Highcharts 图表容器高度被 CSS 压缩了怎么办? 我在用 Highcharts 渲染图表时,发现图表显示不全,高度好像被 CSS 限制住了。明明容器 div 设置了 height: 400px,但实际渲染出来只有 100px 左右,试过加 !impo... 培培酱~ 组件 2026-03-09 19:57:19 2 回答 93 浏览 Empty组件在弹性高度容器里垂直居中失效怎么办? 最近在做订单列表页面,用Antd的Empty组件显示无数据状态。可是当容器高度随内容变化时,Empty的"图标+文字"总贴着顶部显示,试过给父容器加display: flex;和align-items... 司空楚恒 组件 2026-02-09 10:53:28 2 回答 116 浏览 图片懒加载时占位容器高度塌陷怎么办? 在做图片列表懒加载时,用了Intersection Observer,但图片未加载时占位容器高度会塌陷,导致页面布局跳动。试过给图片设置固定高度,但不同图片尺寸差异大,效果不好: <div cl... 端木锦玉 优化 2026-02-02 19:42:37 1 回答 48 浏览 UIkit 布局中子元素高度不随父容器撑开怎么办? 我用 UIkit 的 uk-grid 做了一个两栏布局,左边是侧边栏,右边是主内容区。明明给父容器设了 min-height: 100vh,但子项的高度却没被撑满,背景色只显示内容高度那一点。 试过加... 程序员付楠 组件 2026-03-26 19:35:19
复制这个
这样应该能解决问题,Cesium的初始化之后再强制设置一次高度。
解决方法很简单,先把html和body的高度固定住:
如果你用的是100vh,那得确保没有父元素遮挡。有些人喜欢在html和body上用100vh,容器用100%,效果一样。
还有一种情况是Cesium运行时会动态修改容器样式,如果上面方法不行,可以试试在加载后用JS强制设置:
或者用CSS覆盖:
优先级提上去,基本就能覆盖掉Cesium内部可能存在的样式了。