HTML5中的一些新标签?
关于HTML5可能我用到的还是相对比较少,所以我就说了一些我常用的新标签:header,footer,audio,video,nav,关于这些,可以参考这里
块元素和内联元素的区别
块元素:独占一行,可以设置width,height属性,可以设置margin和padding
内联元素:不会独占一行,设置width和height无效,水平方向上的margin和padding有效
块元素包括:address、blockquote、center、dir、div、form、h1-h6、hr、ol、ul、table、header、footer、nav等
内联元素包括:a、img、span、em、i、input、select、sup、sub、button
当然元素我也只是说了一部分,然后我说,通过改变display属性可以进行改变,所以就有下面的问题了
display:inline-block存在间隙,如何解决
以ul中li的为例:
方法一:ul {font-size:0} ul li {font-size: 1.2rem}
方法二:将li的开始与结束标签不写在同一行
方法三:li不闭合
方法四:设置负边距 ul li+li{margin-left:-3px}
响应式的实例
关于响应式这边,单位用em或者rem,媒体查询,响应式图片picture的使用
flex布局
Flex 容器(flex container),简称”容器”。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称”项目”
flex 父元素宽度为200,子元素宽度分别为30,40,50,呈现一个怎样的情况?当时我被问到的是这个题目,现在想了一下,当时的我没有将题目听清楚,当时所说到的flex1,flex2,flex3应该就是类选择器(被自己蠢到了,当时误以为是flex : 1),虽然说flex我确实用的也少,但是当时我想的是我没这样用过的呀,然后就猜着回答了,教训就是题目没听清的时候,不要瞎猜
下面的都是我自己的尝试:
只是给三个子div设置position:flex; 30是在父元素中的,40,50在父标签的下一行点此查看效果
在上面的基础上,给子标签添加display:inline-block属性,点此查看效果
JS中的数据类型?
基本类型和复杂类型:
基本类型:Undefined, Null, Boolean, String, Number
复杂类型:数组,对象,函数
事件委托是什么?事件冒泡?为什么要使用事件委托?什么情况下阻止事件冒泡?
事件委托避免了为多个元素添加同一事件监听,而是将这种事件的监听放在父元素上,这个我当时说的时候是以ul与li为例的。事件委托的好处:减少了事件的注册,节省内存;简化了dom节点更新时,相应事件的更新
事件冒泡就是,当事件触发时,会一层一层向上冒,直到顶层
阻止冒泡:父级元素和子元素都有事件的时候,需要阻止向上冒泡
给了一段代码,让我说运行结果,三种情况下的?
var a = 1;
function func () {
var a = 2;
return function () {
console.log(a);
}
}
console.log(func());
console.log(func()());
执行func()的时候,会返回一个函数,再执行的时候,会输出a的值,在返回的这个函数中产生了闭包,它保持着对a的引用ÿ