float实现文字环绕效果

博客围绕右侧显示图片、左侧显示标题和内容的布局需求展开。先采用float布局,介绍了float属性。但文字少会出现图片溢出问题,通过设置display:flow-root属性或overflow:hidden;解决了浮动元素溢出问题,使浮动元素撑开外部容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现效果如下:
在这里插入图片描述

一、问题分析

接到需求就是右侧显示图片,左侧显示一个标题和内容。第一时间没有想到其他的布局的好的实现方式,就想到了float布局。于是乎去查了下有关float的文档,float 是相当的好用。

float定义如下:
float CSS 属性指定一个元素应沿其容器的左侧或右侧放置,允许文本和内联元素环绕它。该元素从网页的正常流动(文档流)中移除,但是仍然保持部分的流动性(与绝对定位相反)。

二、代码实现

直接上代码:

<div class="container">
    <img class="avator" src="./images/avatar.jpg" alt="">
    <h3 class="title">《滕王阁序》</h3>
    <div class="content">
      披绣闼,俯雕甍,山原旷其盈视,
    川泽纡其骇瞩。闾阎扑地,钟鸣鼎
    食之家;舸舰弥津,青雀黄龙之舳。
    云销雨霁,彩彻区明。落霞与孤鹜
    齐飞,秋水共长天一色。渔舟唱晚,
    响穷彭蠡之滨;雁阵惊寒,声断衡
    阳之浦。
    </div>
</div>
.avator {
  float: right;
  width: 100px;
  height: 100px;
}

.container {
  border: 1px solid #000;
}

.content {
  text-indent: 2em;
}

得到效果图如下:
在这里插入图片描述
perfect!!
但还是有一个小问题, 当文字很少的时候,就会出现图片溢出的问题,如下图所示。
在这里插入图片描述
在查文档时,发现display有如下一个属性:display:flow-root。官方定义如下:该元素生成一个块级元素盒,其会建立一个新的区块格式化上下文,定义格式化上下文的根元素。
用人话说就是可以解决上述的浮动元素溢出的问题,在外层元素上添加该属性,得到如下效果。

.container {
  display: flow-root;
}

在这里插入图片描述

浮动元素撑开了外部容器,图片溢出的问题被解决了。

如果在container元素上设置overflow:hidden; 同样可以实现该效果。

.container {
  overflow: hidden;
}

ps: 需要演示文件的小伙伴可以关注私信哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值