在网页布局设计中,有时我们需要实现一种效果,即左侧的文字能够根据内容自动调整宽度,并在空间不足时自动省略,而右侧的文字则需要保持自适应并全显,不会因为左侧文字过多而被挤压。这种效果通常可以利用CSS的Flexbox(弹性盒布局)来实现。以下我们将详细探讨如何运用Flexbox达成这样的布局。 我们要创建一个包含两部分的容器,分别代表左侧和右侧的文本。在HTML中,我们可以设置如下结构: ```html <div class="footer"> <div class="left">leftleftleftleftleftleftleftleftleftleftleftleft</div> <div class="right"> <div class="right-ellipsis">rightrightrightrightrightrightrightrightright</div> </div> </div> ``` 接下来,我们需要为`.footer`容器设置Flexbox样式。这里的关键在于`display: flex`,这将使`.footer`成为一个弹性容器。同时,为了防止内容溢出,我们添加`overflow: hidden`: ```css .footer { width: 300px; /* 容器宽度 */ height: 20px; /* 容器高度 */ display: flex; overflow: hidden; } ``` 对于左侧的`.left`元素,我们希望它能根据内容自动扩展,但又不能超过最小宽度。所以我们设置`flex: 1 1 auto`,这表示伸缩比例为1,允许收缩,且自动计算大小。同时,为了实现文字溢出省略,我们需要`overflow: hidden`、`text-overflow: ellipsis`以及`white-space: nowrap`: ```css .left { background: #3cc8b4; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 50px; /* 设置最小宽度 */ } ``` 右侧的`.right`元素,我们需要它的宽度根据内容自动扩展,但有最大宽度限制,以免影响左侧的文本。因此,我们添加`max-width`属性,并确保其内部的`.right-ellipsis`元素也有溢出省略效果: ```css .right { background: #9bc; max-width: 250px; } .right-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } ``` 通过这些样式,我们可以实现以下效果: 1. 当右侧文字长度变化时,右侧宽度会随之变化,但不超过250px。 2. 当左侧文字太长无法完全显示时,左侧文字会被省略,并用省略号表示。 3. 左侧始终占据剩余的空间,但不会挤压右侧,右侧文字始终全显示。 总结一下,这种布局设计的核心在于使用Flexbox的伸缩性和溢出处理策略,通过`flex`属性控制左侧的伸缩性,以及`overflow`、`text-overflow`和`white-space`属性来实现文字溢出省略。同时,合理设置`min-width`和`max-width`以保证两侧内容的展示效果。这样的布局方式在响应式设计中尤其有用,因为它可以灵活地适应各种屏幕尺寸和内容长度的变化。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 7
- 资源: 955
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- 打包和分发Rust工具.pdf
- SQL中的CREATE LOGFILE GROUP 语句.pdf
- C语言-leetcode题解之第172题阶乘后的零.zip
- C语言-leetcode题解之第171题Excel列表序号.zip
- C语言-leetcode题解之第169题多数元素.zip
- ocr-图像识别资源ocr-图像识别资源
- 图像识别:基于Resnet50 + VGG16模型融合的人体细胞癌症分类模型实现-图像识别资源
- C语言-leetcode题解之第168题Excel列表名称.zip
- C语言-leetcode题解之第167题两数之和II-输入有序数组.zip
- C语言-leetcode题解之第166题分数到小数.zip
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)