网站首页 > 知识剖析 正文
这里没什么好说的直接上图、上代码:
<!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>CSS实现自适应正方形以及等宽高比矩形</title>
</head>
<style>
/* * {
padding: 0;
margin: 0;
} */
html, body {
height: 100%;
}
/* 方法一: */
.w_son-cont {
width: 20% ;
/*基于父级的宽度设置*/
padding-top: 20% ; /* 或者padding-bottom: 20%; */
background: red ;
}
/* 方法二: 这个方法不能实现正方形; 高度总是要比宽度大几个像素 */
.w_vw-cont {
width: 30%;
height: 30vw;
background: red;
}
/* 方法三: */
.w_mar-outer {
overflow: hidden;
width: 20%;
background-color: skyblue;
}
.w_mar-outer::after {
content: '';
display: block;
padding-top: 100%; /* margin 百分比相对父元素宽度计算 */
}
</style>
<body>
<div class="w_son-cont"></div>
<div class="w_vw-cont"></div>
<div class="w_mar-outer"></div>
</body>
</html>
运行结果如图所示:
语言上如何表达:
1. 实现方式有三种:
1. 设置 宽度 width 、 padding 的top 或者 bottom 为相同的百分比 。
2. 设置 宽度 width 百分比; 设置 高度 height vw; 且数值相同 。
1. 但是此方法不能实现完全的正方形, 只是看上去是一个正方形, 因为此方法得到的结果高度总是要比宽度大几个像素 。
3. 设置 宽度 width 百分比; 且使用 after 伪元素设置 display 属性为 block, padding-top或者padding-bottom为 100% 。
之前有整理过部分知识点, 现在将整理的相关内容, 验证之后慢慢分享给大家; 这个专题是 "前端面试题" 的相关专栏; 大概会有200+的文章。
如果对大家有所帮助,可以点个关注、点个赞; 文章会持续打磨 。
有什么想要了解的前端知识, 可以在评论区留言, 会及时分享所相关内容 。
- 上一篇: 零基础教你学前端——85、高度自适应
- 下一篇: 强大而好用的选择器:focus-within
猜你喜欢
- 2025-05-26 强大而好用的选择器:focus-within
- 2025-05-26 零基础教你学前端——85、高度自适应
- 2025-05-26 Layui简单实现左侧菜单和Tab选项卡动态操作
- 2025-05-26 零基础教你学前端——72 CSS背景
- 2025-05-26 《随“机”应变》3步快速制作网站适配小样
- 2025-05-26 CSS面试题:CSS布局的问题面试题
- 2025-05-26 100行Html5+CSS3+JS代码实现元旦倒计时界面
- 2025-05-26 在移动端别再用 100vh 了!试试这些全新的 CSS 单位
- 2025-05-26 MFC转QT:Qt高级特性 - 样式表
- 2025-05-26 Next.js 零基础教程3|2024最新更新中|曲速引擎 Warp Drive
- 最近发表
- 标签列表
-
- 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)