网站首页 > 知识剖析 正文
效果图:
核心点:
- div宽度自适应
宽度自适应 width
默认情况下, 块级元素不设置宽度, 默认为整个屏幕宽度或者和父级同宽
如果元素脱离了文档流(浮动或者定位), 那么元素的宽度由元素的内容决定
- css resize属性
相关介绍: MDN
resize 生效的条件: 不支持内联元素; 块级元素,需要overflow属性的计算值不是visible。
整体布局
<div class="container">
<!-- resizable 用于拉伸的工具 -->
<div class="resizable"></div>
<!-- content 要展示的内容区域 -->
<div class="content">content</div>
</div>
- container 父容器, 用于控制脱离文档流, 然其宽度随着拉伸大小而决定
- resizable 可以拉伸的容器, 从而可以控制父容器的宽度
- content 真正展示的容器, 其宽度随着父级而定
基础知识, 拉伸区域的实现, 右下角出现可拉伸图标
.content {
width: 200px;
height: 200px;
resize: horizontal;
cursor: ew-resize;
overflow: hidden; // 必须要配合overflow来使用resize, 否则拉伸图标无法显示
border: 1px solid red;
}
<div class="content">content</div>
限制拉伸尺寸
通过设置min-width、min-height、max-width和max-height可以限制拉伸尺寸。
所有代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.container {
position: relative;
/* 脱离文档流 */
float: left;
}
.resizable {
width: 200px;
height: 200px;
overflow: scroll;
resize: horizontal;
cursor: ew-resize;
opacity: 0;
min-width: 200px; // 盒子宽度最小为200px
}
/* 更改拖拽图标的大小和父容器一样大 */
.resizable::-webkit-scrollbar {
width: 20px;
height: 200px;
}
/* 使用定位, 将容器定位到父容器的正中间, 跟着父容器的大小改变而改变 */
.content {
margin: 0;
height: 200px;
position: absolute;
top: 0;
/* 留出5px为了鼠标放上去可以显示拖拽 */
right: 5px;
bottom: 0;
left: 0;
border: 1px solid;
}
</style>
</head>
<body>
<div class="container">
<!-- resizable 用于拖拽的工具 -->
<div class="resizable"></div>
<!-- content 要展示的内容区域 -->
<div class="content">content</div>
</div>
</body>
</html>
层级图
- 上一篇: 五种延迟加载图像以提高网站性能的方法
- 下一篇: HTMLCSS学习笔记(八)——宽高自适应
猜你喜欢
- 2024-11-22 SpringBoot与Loki的那些事
- 2024-11-22 Qt的常用控件
- 2024-11-22 C# + Blazor Web入门实战:私人笔记(10)多标签页内容管理
- 2024-11-22 初学者:HTML+CSS静态网页开发——网页布局
- 2024-11-22 力扣 C++11题解系列-083 柱状图中最大的矩形
- 2024-11-22 尝试一下使用 Vitest 进行组件测试,确实很香
- 2024-11-22 uniapp经验-总结1
- 2024-11-22 「CSS」 栅格化布局
- 2024-11-22 C# + Blazor Web入门实战:私人笔记(8)创建分类编辑组件
- 2024-11-22 2.6「HarmonyOS鸿蒙开发」定位布局PositionLayout
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)