子元素浮动,父窗体高度自适应

本文将详细解释并提供解决方案,解决网页布局中li元素浮动后导致ul元素高度无法自动调整的问题。通过应用CSS样式技巧,我们可以确保布局的美观性和响应性。

网页布局经常用到类似下面结构:

 

<ul>
<li></li>
<li></li>
</ul>


如果,li设置了浮动,ul不能自适应高度,使用如下样式解决:

ul{height:100%;}
ul:after{clear:both;display:block;content:'';} /*firefox*/
根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
### CSS父盒子高度自适应 子盒子浮动 清除塌陷解决方案 在CSS布局中,当子盒子应用`float`属性时,可能会导致父盒子的高度塌陷问题。以下是几种常见的解决方法及其优缺点: #### 方法一:通过 `overflow` 属性 可以通过为父盒子设置 `overflow: hidden` 或者 `overflow: auto` 来触发 BFC(块级格式化上下文)。这会使父盒子重新计算其内部浮动元素的高度,从而实现高度自适应。 ```css .parent { overflow: hidden; } ``` 这种方法的优点是简单易用,适用于大多数场景[^2]。然而,它的潜在问题是如果子元素的内容超出了父盒子的范围,则这些内容可能被隐藏或者出现不必要的滚动条[^3]。 --- #### 方法二:使用清除浮动的 `<br>` 标签 可以在父盒子的最后添加一个清除浮动的 `<br>` 标签来强制结束浮动状态。 ```html <div class="parent"> <div class="child"></div> <br style="clear: both;" /> </div> ``` 这种方式虽然有效,但在语义化的HTML结构中并不推荐,因为它混杂了表现层逻辑到文档结构中[^3]。 --- #### 方法三:利用伪类清除浮动 可以借助`:before` 和 `:after` 伪类,在父盒子中创建一个虚拟的清除浮动元素。这是目前较为优雅的一种方式。 ```css .clearfix::before, .clearfix::after { content: ""; display: table; } .clearfix::after { clear: both; } .clearfix { *zoom: 1; /* 兼容IE6/7 */ } ``` 此方法不会污染HTML标记,并且能够很好地兼容现代浏览器和部分旧版浏览器[^5]。 --- #### 方法四:直接指定父盒模型的 `height` 如果已知所有子盒子的具体尺寸,可以直接手动设定父盒子的高度。不过这种做法缺乏灵活性,通常不建议采用。 ```css .parent { height: 80px; /* 假设子盒子固定高度为80px */ } ``` 显然,该方案仅限于静态页面设计,动态变化的内容无法适用。 --- #### 方法五:Flexbox 布局替代传统浮动 随着CSS Flexbox技术的发展,许多情况下可以用更现代化的方式代替传统的浮动布局。启用Flex模式后,默认行为即支持容器自动扩展以容纳所有的子项。 ```css .parent { display: flex; flex-direction: column; /* 如果需要垂直排列 */ } .child { width: 100px; height: 80px; background-color: orange; } ``` 尽管如此,仍需注意并非所有环境都完全支持最新的标准特性[^4]。 --- ### 总结 针对不同需求可以选择合适的策略应对因子盒子浮动引发的父盒子高度塌陷现象。其中基于BFC机制调整`overflow`参数是最常见也是相对简便的办法之一;而运用伪对象完成清理工作则兼顾效率与整洁度成为主流趋势。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值