HTML&CSS面试高频考点(二)
HTML&CSS面试高频考点(一) ♥
6. W3C盒模型与怪异盒模型
- 标准盒模型(W3C标准)
- 怪异盒模型(IE标准)
怪异盒模型下盒子的大小=width(content + border + padding) + margin,即真实大小。
*参考标准模式与兼容模式的区别,兼容模式下为怪异盒模型。
*注意box-sizing可以改变盒模型(box-sizing:border-box即为怪异盒模型)。
7. 水平垂直居中的方法
(1)定宽居中
1. absolute + 负margin
//父元素
position: relative;
//子元素
position: absolute;
top: 50%;
left: 50%;
//margin设置自身一半的距离
margin-top: -50px;
margin-left: -50px;
2. absolute + margin: auto
//父元素
position: relative;
//子元素
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
3. absolute + calc
//父元素
position: relative;
//子元素
position: absolute;
//减去自身一半的宽高
top: calc(50% - 50px);
left: calc(50% - 50px);
*calc() 函数用于动态计算长度值。
4. min-height: 100vh + flex + margin:auto
main{
min-height: 100vh;
/* vh相对于视窗的高度,视窗高度是100vh */
/* “视区”所指为浏览器内部的可视区域大小,
不包含任务栏标题栏以及底部工具栏的浏览器区域大小。 */
display: flex;
}
div{
margin: auto;
}
(2)不定宽居中
1. absolute + transform
//父元素
position: relative;
//子元素
position: absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
2. line-height
//父元素
.wp {
text-align: center;
line-height: 300px;
}
//子元素
.box {
display: inline-block;
vertical-align: middle;
line-height: inherit;
text-align: left;
}
3. flex布局
display: flex;//flex布局
justify-content: center;//使子项目水平居中
align-items: center;//使子项目垂直居中
4. table-cell布局
因为table-cell相当与表格的td,无法设置宽和高,所以嵌套一层,嵌套一层必须设置display: inline-block
<div class="box">
<div class="content">
<div class="inner">
</div>
</div>
</div> .box {
//只有这里可以设置宽高
display: table; //这是嵌套的一层,会被table-cell覆盖
}
.content {
display: table-cell;
vertical-align: middle;//使子元素垂直居中
text-align: center;//使子元素水平居中
}
.inner {
display: inline-block; //子元素
}
8. BFC
前文链接:点击这里
BFC:Block formatting context(块级格式化上下文),是一个独立的渲染区域,只有Block-level box参与,与外部区域毫不相干。
- block-level box:display属性为block, list-item, table的元素。
- inline-level box:display属性为inline, inline-box, inline-table的元素。
(1)BFC的布局规则
- 内部box在垂直方向一个个放置;
- 同一个BFC的两个相邻box的margin会发生重叠;
- 每个盒子的margin左边与包含块的border左边相接触,即使存在浮动也是如此;
- BFC区域不会和float box重叠;
- 计算BFC高度时,浮动元素也参与计算。
(2)开启BFC的方法
- float的值不是none
- position的值不是static或relative
- display的值是inline-block, table-cell, flex, table-caption或inline-flex
- overflow的值不是visible
(3)BFC的作用
1. 避免margin塌陷
根据BFC的布局规则2,我们可以通过设置两个不同的BFC的方式解决margin塌陷的问题。
2. 自适应两栏布局
根据BFC的布局规则3和4,我们将右侧div开启BFC就可以形成自适应两栏布局。
.left {
float: left; //左侧浮动
}

.left {
float: left;
}
.right {
overflow: hidden; //开启BFC
}
3. 清除浮动
当不给父节点设置高度的时候,如果子节点设置浮动,父节点会发生高度塌陷。这个时候就要清除浮动。
根据规则5,只需给父元素激活BFC就可以达到目的。
.par {
overflow: hidden; //父元素开启BFC
}
.child {
float: left; //子元素浮动
}
9. 清除浮动
这篇有写:点这里
10. position属性
这篇有写:点这里
HTML&CSS面试高频考点(二)的更多相关文章
- HTML&CSS面试高频考点(三)
11. CSS隐藏元素的方式 /*占据空间,无法点击*/ visibility: hidden; position: relative; top: -999em; /* 不占据空间,无法点击 */ p ...
- HTML&CSS面试高频考点(一)
1. 行内元素/块级元素 非替换元素/替换元素 行内元素(内联元素):a, abbr(缩写), acronym(只取首字母缩写), b, bdo(文本方向), big, br, cite(引用), c ...
- 「面试高频」二叉搜索树&双指针&贪心 算法题指北
本文将覆盖 「字符串处理」 + 「动态规划」 方面的面试算法题,文中我将给出: 面试中的题目 解题的思路 特定问题的技巧和注意事项 考察的知识点及其概念 详细的代码和解析 开始之前,我们先看下会有哪些 ...
- CSS面试复习(二):CSS的使用
一.CSS基础 1.选择器 选择器{ 属性:值: 属性:值 } 作用:用于匹配HTML元素.分类和权重.解析方式和性能.值得关注的选择器 分类: 元素选择器a{} 伪元素选择器::before{} 类 ...
- 数仓面试高频考点--解决hive小文件过多问题
本文首发于公众号:五分钟学大数据 小文件产生原因 hive 中的小文件肯定是向 hive 表中导入数据时产生,所以先看下向 hive 中导入数据的几种方式 直接向表中插入数据 insert into ...
- 《MySQL面试小抄》索引考点二面总结
<MySQL面试小抄>索引考点二面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点 ...
- Java秋招面试复习大纲(二):Spring全家桶+MyBatis+MongDB+微服务
前言 对于那些想面试高级 Java 岗位的同学来说,除了算法属于比较「天方夜谭」的题目外,剩下针对实际工作的题目就属于真正的本事了,热门技术的细节和难点成为了面试时主要考察的内容. 这里说「天方夜谭」 ...
- C++面试高频题
作者:守望者1028链接:https://www.nowcoder.com/discuss/55353来源:牛客网 面试高频题: 校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我也忘记了 ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
随机推荐
- javascript -字符串常用方法
let str ="stRing" toUpperCase / toLowerCase 大小写 toUpperCase()把一个字符串全部变为大写; toLowerCas ...
- Java实现 LeetCode 765 情侣牵手(并查集 || 暴力)
765. 情侣牵手 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 ...
- Java实现蓝桥杯十六进制转八进制
基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 提交此题 锦囊1 锦囊2 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n ( ...
- Java实现 LeetCode 面试题62. 圆圈中最后剩下的数字(约瑟夫环)
面试题62. 圆圈中最后剩下的数字 0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 例如,0.1.2.3.4这5个数字组成一个圆 ...
- Java实现 蓝桥杯VIP 算法训练 s01串
题目描述 s01串初始为" 0" 按以下方式变换 0变1,1变01 数据规模和约定 0~19 输入 1个整数(0~19) 输出 n次变换后s01串 样例输入 3 样例输出 101 ...
- ZSH隐藏命令行前面的用户名和主机名
修改vim ~/.zshrc文件,在文件底部增加 隐藏用户名和主机名 prompt_context() {} 只保留用户名,隐藏主机名 prompt_context() { if [[ "$ ...
- vue cli3 创建的项目中eslint 配置 问题的解决
1-- vue cli3 项目文件结构 2-- 注释问题 在eslintrc.js 文件中,将 '@vue/standard' 注释后重启即可: 3-- 配置 eslint 文件 在 vue-cl ...
- 蒲公英 · JELLY技术周刊 Vol.10 为什么你还不使用 TypeScript
登高远眺 天高地迥,觉宇宙之无穷 基础技术 直播延迟?为什么流媒体直播的延迟那么高 随着通信技术的发展,视频点播.直播业务也逐渐兴起.在这些业务形态中,流媒体技术扮演着重要的角色.但在实际使用中,即便 ...
- @hdu - 5822@ color
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个每个点出度都为 1 的有向连通图以及 m 种颜色.求本质 ...
- vue-toy: 200行代码模拟Vue实现
vue-toy 200行左右代码模拟vue实现,视图渲染部分使用React来代替Snabbdom,欢迎Star. 项目地址:https://github.com/bplok20010/vue-toy ...
