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

如何将容器.box高度设为33%并实现内部图片裁剪仅显示33%内容

问题根因

  • 你设置的.box高度33%不生效,核心是CSS百分比高度需要参考父元素的明确高度值,默认<html>和<body>的高度是由内容撑开的自适应高度,没有明确数值,所以.box的百分比高度找不到计算基准。
  • 要实现内部图片超出容器部分自动裁剪,需要给.box添加overflow: hidden属性,让超出容器边界的内容隐藏。

修正后代码

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>图片悬浮文本示例</title>
<style>
    /* 给根元素设置100%高度,作为子元素百分比高度的计算基准 */
    html, body {
        height: 100%;
        margin: 0;
    }
    .box{
        margin-top: 100px;
        width: 100%;
        height: 33%;
        position: relative;
        overflow: hidden; /* 超出容器内容自动裁剪 */
    }
    .box .text{
        position: absolute;
        z-index: 2;
        text-align: center;
        top: 0;
        background: rgba(0, 0, 0, 0.8);
        color: #fff;
        height: 100%;
        width: 100%;
    }
  .img {
    width: 100%;
    /* 可选:保持图片宽高比,填满容器,裁剪多余部分 */
    object-fit: cover;
    height: 100%;
  }
</style>
</head> 
<body>
    <div class="box">
        <img class="img" src="/examples/images/kites.jpg" alt="放风筝">
        <div class="text">
            <h1>放风筝</h1>
        </div>
    </div>
</body>
</html>

可选调整

如果不需要图片自适应填满容器高度,只想按图片原始宽度自适应,只显示顶部33%的内容,删掉.img的height:100%和object-fit: cover属性即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:54:01