面试知识点总结

                                               html+css

行内标签和块级标签

行内标签:span u img input select i b...(占满一行)多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化

块级标签:div p h ul li...(独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父级宽度 )

可以通过以下方式转换

{
    display: inline;               //具有行内标签特性
    display: inline-block;         //使其按行内元素排列,却可以定义宽高
    display: block;                //具有块级标签特性
}

垂直居中的实现

方法一:text-align 和 line-height
//必须是行内元素
<div class="block">
	<span class="nav">span标签</span>
</div>

.block{
	text-align: center;
	width: 100%;
	height: 800px;
	background-color: aquamarine;
}
.nav{			
	line-height: 300px;
	width: 300px;
	height: 300px;
	background-color: pink;
}

方法二:position+负margin
//固定宽高
<div class="block">
	<div class="nav">div标签</div>
</div>
.block{
		position: relative;
		width: 100%;
		height: 800px;
		background-color: aquamarine;
}
.nav{
		position: absolute;
		top: 50%;
		margin-top: -150px;
		left: 50%;
		margin-left: -150px;
		width: 300px;
		height: 300px;
		background-color: pink;
}

方法三:position+margin auto
//固定宽高
.block{
	position: relative;
	width: 100%;
	height: 800px;
	background-color: aquamarine;
}
.nav{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin:auto;
	width: 300px;
	height: 300px;
    background-color: pink;
}

方法四:position+transform
//无宽高
.block{
	position: relative;
	width: 100%;
	height: 800px;
	background-color: aquamarine;
}
.nav{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
    background-color: pink;
}
方法五:flex
//无宽高
.block{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 800px;
	background-color: aquamarine;
}
.nav{
    background-color: pink;
}

清除浮动

原因:css在设置浮动的时候,会脱离文档流,使父元素div宽度高度不能撑开。

解决方式:①父元素使用overflow:hidden

                 ② 在浮动元素的最后面添加一个新元素,应用clear:both

                 ③给父元素定义一个固定高度

html语义化

语义化是html结构更清晰,便于浏览器解析,利于SEO搜素,使代码更好理解,便于维护。(header、footer、nav...)

文档流

行内元素从左至右排列,块级元素从上至下的排列,即为文档流

HTML5 的新特性和css3新特性

标签: nav、header、footer、article 、section等。ideo、audio、canvas、localStorage、sessionStorage

颜色rgba、border-radius、box-shadow、transform等

盒模型: 标准模型与IE模型

盒模型都包含4个部分:content、padding、border、margin。标准盒模型与IE盒模型的区别在于设置width/height的范围不同。标准盒模型的width = content ; 而IE盒模型的width = content + padding + border

权重问题

!important > 内联样式 > id选择器 > class选择器/属性选择器/伪类选择器 > 标签选择器/伪元素选择器 > 通配符

link与@import区别

①link 是基于XHML标签的,无兼容性;@import是css提供的, 只用IE5以上才兼容
②link 标签引入的css是同步加载的; @import 引入的css只有等页面加载完毕后,才开始加载
③link 标签不仅可以加载css文件,还可以定义RSS、rel连接属性。
④可以使用js操作DOM,插入link标签;而无法使用操作DOM的方式插入@import。

BFC、触发条件、可解决的问题

BFC:块级格式上下文,是css的一个布局的概念,是一块独立于外界的一个区域。触发条件: 根元素(html)、float不为none、position设置为absolute或者fixed、overflow值不为visible、display值为inline-block/table-cell/tabel-caption。可解决的问题:清除浮动、margin塌陷问题、可做两栏布局自适应。

BFC,块级格式化上下文,一个创建了新的BFC的盒子是独立布局的,盒子里面的子元素的样式不会影响到外面的元素。

px、em、rem的区别

px 是绝对长度单位。em 是相对长度单位,相对于父元素。rem 是相对长度单位,相对于根元素。vw:视窗宽度,1vw等于视窗宽度的1%。

<img>标签的alt和title区别

①alt:加载失败时显示                               ②title:鼠标进入到图片时会显示

cookie,sessionStorage 和 localStorage的区别

①cookie 一般用来存储验证客户端身份的数据。存储大小不超过4k, 并且在第一次请求之后,浏览器都会在请求头上添加cookie字段带上cookie,发到服务端。过期之前一直有效

②localStorage 是永久存储,大小为5M,只有手动清除数据才会失效。

③sessionStorage 是会话存储,大小为5M,当浏览器窗口关闭时数据失效。

圣杯布局和双飞翼布局

都是三栏布局,即两边宽度固定,中间宽度自适应。

  • 圣杯布局:中间元素的大小就是屏幕总宽减去left和right宽度值
  • 双飞翼:中间元素的宽度依然是全屏宽的100%,只不过将显示内容用一个小div包起来,再用margin值将左右顶开
    两者出来的页面效果是一样的

Doctype是什么

<!DOCTYPE>声明位于文档中最前面的位置,在<html>标签之前。此标签可告知浏览器文档使用哪种HTML或XHTML规范。(注:在 HTML 中某些元素可以彼此不正确地嵌套,在 XHTML 中,所有的元素必须正确地嵌套。在XHTML中元素必须被嵌套于 <html> 根元素中。在HTML中允许一些不规范的写copy法,但是在XHTML则式不可以的。)

关于伪类和伪元素

伪类:伪类存在的意义是为了通过选择器,格式化DOM树以外的信息以及不能被常规CSS选择器获取到的信息(:hover、:first-child)

伪元素:伪元素可以创建一些文档语言无法创建的虚拟元素(::before、::aftter)

display:none;opacity:0;visibilty:hidden区别

①display:none会让元素完全从渲染树中消失,渲染时不再占据任何空间,不能点击;
②visibilty:hidden不会让元素从渲染树上消失,渲染元素继续占据空间,只是内容不可见,不能点击;
③opacity:0不会让元素在渲染树中消失,渲染元素继续占据空间,只是内容不可见,可以点击;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值