CSS - 保姆级面试基础扫盲版本一

盒子模型

盒子模型定义:

当对一个盒子模型进行文档布局的时候,浏览器的渲染引擎会根据标准之一的CSS盒子模型(CSS basic box model),将所有元素表示成一个个矩阵盒子。

一个盒子通常由四部分组成:border padding content margin



html 复制代码
<style>
 .box {
 width: 200px;
 height: 100px;
 padding: 20px;
 }
</style>
<div class="box">
 盒子模型
</div>


标准盒子模型


IE 盒子模型:


Box-Sizing:

css 复制代码
box-sizing: content-box|border-box|inherit:

css 复制代码
<style>
 .box {
 width: 200px;
 height: 100px;
 padding: 20px;
 box-sizing: border-box;
 }
</style>
<div class="box">
 盒子模型
</div>

如何理解BFC

什么是BFC


BFC触发条件

应用场景

1 防止margin重叠(塌陷)

html 复制代码
<style>
 p {
 color: #f55;
 background: #fcc;
 width: 200px;
 line-height: 100px;
 text-align:center;
 margin: 100px;
 }
</style>
<body>
 <p>Haha</p >
 <p>Hehe</p >
</body>



html 复制代码
<style>
 .wrap {
 overflow: hidden;// BFC
 }
 p {
 color: #f55;
 background: #fcc;
 width: 200px;
 line-height: 100px;
 text-align:center;
 margin: 100px;
 }
</style>
<body>
 <p>Haha</p >
 <div class="wrap">
 <p>Hehe</p >
 </div>
</body>

清除内部浮动

html 复制代码
<style>
 .par {
 border: 5px solid #fcc;
 width: 300px;
 }
 .child {
 border: 5px solid #f66;
 width:100px;
 height: 100px;
 float: left;
 }
</style>
<body>
 <div class="par">
 <div class="child"></div>
 <div class="child"></div>
 </div>
</body>


css 复制代码
.par {
 overflow: hidden;
}

自适应多栏布局

html 复制代码
<style>
 body {
 width: 300px;
 position: relative;
 }
 .aside {
 width: 100px;
 height: 150px;
 float: left;
 background: #f66;
 }
 .main {
 height: 200px;
 background: #fcc;
 }
</style>
<body>
 <div class="aside"></div>
 <div class="main"></div>
</body>
css 复制代码
.main {
 overflow: hidden;
}


响应式设计

什么是响应式设计


实现方式

html 复制代码
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

媒体查询

css 复制代码
@media screen and (max-width: 1920px) { ... }
css 复制代码
@media screen (min-width: 375px) and (max-width: 600px) {
 body {
 font-size: 18px;
 }
}

百分比

vm/vh

rem

css 复制代码
@media screen and (max-width: 414px) {
 html {
 font-size: 18px
 }
}
@media screen and (max-width: 375px) {
 html {
 font-size: 16px
 }
}
@media screen and (max-width: 320px) {
 html {
 font-size: 12px
 }
}

为了更加准确的监听前端可视窗口的变化,可以在css之前插入javaScript标签。

javascript 复制代码
//动态设置元素字体的大小
function init () {
 var width = document.documentElement.clientWidth
 document.documentElement.style.fontSize = width / 10 + 'px'
}
// 首次加载只加载 只加载一次
init()
window.addEventListener('orientationchange', init);
window.addEventListener('resize', init);

小结



相关推荐
勤奋的懒洋洋3505 分钟前
前端实现多个图片打包下载
前端
豐儀麟阁贵17 分钟前
9.5格式化字符串
java·开发语言·前端·面试
春生野草24 分钟前
Ruoyi前端基于vue的脚手架的目录解析
前端·javascript·vue.js
m0_7400437336 分钟前
Axios拦截器 -- 请求拦截器和响应拦截器
开发语言·前端·javascript
不会代码的小猴1 小时前
C++的第十一天笔记
java·前端·jvm
风止何安啊1 小时前
递归 VS 动态规划:从 “无限套娃计算器” 到 “积木式解题神器”
前端·javascript·算法
ohyeah1 小时前
使用 Vue 3 实现大模型流式输出:从零搭建一个简易对话 Demo
前端·vue.js·openai
GPTMirrors镜像系统1 小时前
JS 实现指定 UA 访问网站跳转弹窗提醒,解决夸克等浏览器兼容性问题
前端·javascript
踢球的打工仔2 小时前
前端html(2)
前端·算法·html
Rysxt_2 小时前
Vue文件下载功能完整指南:从基础实现到进阶实战
前端·javascript·vue.js