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);

小结



相关推荐
yuren_xia16 分钟前
Spring Boot中保存前端上传的图片
前端·spring boot·后端
普通网友1 小时前
Web前端常用面试题,九年程序人生 工作总结,Web开发必看
前端·程序人生·职场和发展
站在风口的猪11083 小时前
《前端面试题:CSS对浏览器兼容性》
前端·css·html·css3·html5
青莳吖4 小时前
使用 SseEmitter 实现 Spring Boot 后端的流式传输和前端的数据接收
前端·spring boot·后端
CodeCraft Studio5 小时前
PDF处理控件Aspose.PDF教程:在 C# 中更改 PDF 页面大小
前端·pdf·c#
拉不动的猪5 小时前
TS常规面试题1
前端·javascript·面试
再学一点就睡5 小时前
实用为王!前端日常工具清单(调试 / 开发 / 协作工具全梳理)
前端·资讯·如何当个好爸爸
Jadon_z6 小时前
vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
前端·npm
一心赚狗粮的宇叔6 小时前
web全栈开发学习-01html基础
前端·javascript·学习·html·web
IT瘾君6 小时前
JavaWeb:前端工程化-ElementPlus
前端·elementui·node.js·vue