HTML
1.如何理解HTML语义化
- 让人更容易读懂(增加代码可读性)
- 让搜索引擎更容易读懂(SEO)
2.块元素&内联元素
- display:block/table;有div h1 table ul ol p
- display:inline/inline-block;有span img input button等
CSS布局
1.盒模型宽度计算问题
如下代码,请问div1的offsetWidth是多大?
<style type="text/css">
#div1{
width: 100px;
padding:10px;
border:1px solid #ccc;
Ï margin:10px;
}
</style>
<div id="div1"></div>
解题技巧:
offsetWidth=(内容宽度+内边距+边框),无外边距
答案:122px
补充:如果让offsetWidth等于100px该如何做?
做法:box-sizing:border-box;
2.margin纵向重叠问题
如下代码,AAA和BBB之间的距离是多少?
<style>
p{
font-size:16px;
line-height:1;
margin-top:10px;
margin-bottom:15px;
}
</style>
<p>AAA</p>
<p></p>
<p></p>
<p></p>
<p>BBB</p>
解题技巧:
相邻元素的margin-top和margin-bottom会发生重叠
空白内容的<p></p>
也会重叠
答案:15px
3.margin负值问题
对margin的top left right bottom设置负值有什么效果?
解题:
- margin-top和margin-left负值,元素向上、向左移动
- margin-right负值,右侧元素左移,自身不受影响
- margin-bottom负值,下方元素上移,自身不受影响
4.BFC理解与应用
什么是BFC?如何应用?
解题:
- Block format context,块级格式化上下文
- 一块独立的渲染区域,内部元素的渲染不会影响外界以外的元素
形成BFC的常见条件:
- float不是none
- position是absolute或者fixed
- overflow不是visible
- display是flex inline-block等
BFC的常见应用
- 清除浮动
5.float布局
如何实现圣杯布局和双飞翼布局
解题技巧
圣杯布局和双飞翼布局的目的
- 三栏布局,中间一栏最先加载和渲染(内容最重要)
- 两侧内容固定,中间内容随着宽度自适应
- 一般用于PC网页
圣杯布局和双飞翼布局的技术总结
- 使用float布局
- 两侧使用margin负值,以便和中间内容横向重叠
- 防止中间内容被两侧覆盖,一个用padding一个用margin
6.flex布局
- flex-direction
- justify-content
- align-items
- flex-wrap
- align-self
定位
1.absolute和relative定位
- relative依据自身定位
- absolute依据最近一层的定位元素定位
定位元素
- absolute relative fixed
- body
2.居中对齐的实现方式
水平居中
- inline元素:text-align:center
- block元素:margin:auto
- absolute元素:left:50% + margin-left负值
垂直居中
- inline元素:line-height的值等于height的值
- absolute元素:top:50% + margin-top负值
- absolute元素:transform(-50%,-50%)
- absolute元素:top,left,bottom,right = 0 + margin:auto
图文样式
1.line-height如何继承
- 写具体数值,如30px,则继承该值
- 写比例,如2/1.5,则继承该比例
- 写百分比,如200%,则继承计算出来的值
响应式
1.rem是什么?
rem是一个长度单位
- px,绝对长度单位,最常用
- em,相对长度单位,相对于父元素,不常用
- rem,相对长度单位,相对于根元素,常用于响应式布局
2.响应式布局的常见方案是什么?
- media-query,根据不同的屏幕宽度设置根元素的font-size
- rem,基于根元素的相对单位
3.vw/vh
网页视口尺寸
- window.screen.height //屏幕高度
- window.innerHeight //网页视口高度
- document.body.clientHeight //body高度
vh网页视口宽度的1/100
vw网页视口宽度的1/100