H5——浮动和溢出

7月13知识回顾

1.浮动:让竖着的东西横过来,一行排列多个元素。
名词释义出现问题
标准流网页的正常排版顺序,竖向排列。元素嵌套元素的情况下,当给子元素设置了margin-top后,浏览器在解析的时候会误认为给容器设置的所以会出现整体往下掉的情况
浮动流设置了float属性后,脱离标准流,元素浮动高度塌陷和高度塌陷引起的元素重叠问题
条件出现问题解决办法
标准流:元素嵌套元素的情况下当给子元素设置了margin-top后,浏览器在解析的时候会误认为给容器设置的所以会出现整体往下掉的情况1 直接给容器设置overflow:hidden;
2 如果子元素或者父元素设置了浮动属性也不会出现问题
浮动流高度塌陷和高度塌陷引起的元素重叠问题清除浮动(解决分案如下)
2.为什么清除浮动
  • 清除浮动并不是把设置的浮动直接删除,而是清除浮动给咱们带来的负面影响。
  • 负面影响:高度塌陷和高度塌陷引起的元素重叠问题。
  • 高度塌陷:在实际的开发中容器的高度要求自适应,当容器没有设置高度的时候子元素设置了浮动会引起高度失效(塌陷),把这种现象称之为高度塌陷问题
3. 清除浮动的三种方式:
设置位置方法
同级添加空盒子给空盒子设置类: .clear{clear:both;}
父级父类添加: .clear{overflow:hidden;}
父级父类添加:.clear:after{
display:block;
clear:both;
content:””;
visibility:hidden;
Height:0
}
.clear{zoom:1;}
4. css框的概念:
  • 所有 HTML 元素都可以视为方框,CSS 框模型实质上是一个包围每个 HTML 元素的框。它包括:外边距、边框、内边距以及实际的内容。
属性释义属性值
display规定元素应该生成的框的类型inline、block、inlin-block、none
5. 置换元素和非置换元素:
名词释义标签
置换元素浏览器根据元素的标签和属性,来决定元素的具体显示内容。img, input, textarea, select, object 等
非置换元素除开置换元素的其他元素,其内容直接展示给浏览器除开上面的其他元素
6 .实现省略号的步骤:
  • 方法:
<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			div{
				width: 500px;
				margin: 0 auto;
				height: 100px;
				border: 2px solid;
			}
			div p{
				/*强制不换行*/
				white-space: nowrap;
				/* 溢出隐藏 */
				overflow: hidden;
				/* 文本溢出时显示省略号 */
				text-overflow: ellipsis;
			}
		</style>
	</head>
	<body>
		<div >
			<p>今天的天气格外美丽,心情也格外美丽呢!今天的天气格外美丽,心情也格外美丽呢!</p>
		</div>
	</body>
  • 效果:在这里插入图片描述
### 实现移动端 H5 的 ScrollView 组件 为了实现在移动端 H5 中的 `ScrollView` 功能,通常会借助现有的 UI 库来简化开发过程。Vant 是一个流行的 Vue.js 移动端组件库,提供了丰富的交互控件。 #### 使用 Vant 自定义逻辑构建 Scroll-View 通过结合 Vant 提供的基础组件以及一些额外的 CSS 属性设置,能够创建出满足需求的滚动容器[^1]: ```html <template> <div id="app"> <!-- 设置固定高度并允许内部内容溢出 --> <van-list> <ul class="custom-scroll-view"> <li v-for="(item, index) in items" :key="index">{{ item }}</li> </ul> </van-list> </div> </template> <script setup lang="ts"> import { ref } from 'vue'; const items = ref(['Item 1', 'Item 2', ..., 'Item N']); </script> <style scoped> .custom-scroll-view { max-height: 300px; overflow-y: auto; } </style> ``` 此代码片段展示了如何利用 Vant 列表组件包裹住具有特定样式的无序列表 `<ul>` 来模拟 `ScrollView` 行为。同时设置了最大高度 (`max-height`) 垂直方向上的自动滚动(`overflow-y:auto`)属性以确保当内容超出设定范围时能正常显示滚动条。 #### 解决 iOS 设备上滚动穿透问题 对于某些场景下可能出现的滚动穿透现象——即点击弹窗或其他浮层时不希望触发背景页面的滚动行为,在 HTML 结构中可以通过监听触摸移动事件的方式阻止默认动作发生[^2]: ```html <div @touchmove.stop.prevent=""> <!-- 弹窗或者其他遮罩层的内容 --> </div> ``` 上述方法适用于防止用户在操作浮动窗口期间意外触碰到了下方不可见但仍响应手势指令的区域。 #### 隐藏 Android iOS 上的原生滚动条 针对不同操作系统间存在的视觉差异特别是 iOS 系统难以完全消除掉滚动条的情况,可通过调整 Webkit 浏览器私有的CSS伪类 `-webkit-scrollbar` 完成定制化外观甚至彻底移除可见部分[^3]: ```css /* 全局隐藏 */ *::-webkit-scrollbar { display: none; } /* 或者仅限于指定元素内 */ .custom-scroll-view::-webkit-scrollbar { width: 0 !important; height: 0 !important; } ``` 以上样式规则将作用于整个文档流中的所有可滚动对象或者是被标记为 `.custom-scroll-view` 类名的对象之上,从而达到预期的效果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值