• viewport 常见的设置有哪些?

    viewport 就是视区窗口, 也就是浏览器中显示网页的部分. PC 端上基本等于设备显示区域, 但在移动端上 viewport 会超出设备的显示区域(即会有横向滚动条出现).
    设备的默认 viewport 是在 980 - 1024 之间.

    属性 描述
    width 设置 layout viewport 的宽度,为一个正整数,或字符串"width-device"
    initial-scale 设置页面的初始缩放值,为一个数字,可以带小数
    minimum-scale 允许用户的最小缩放值,为一个数字,可以带小数
    maximum-scale 允许用户的最大缩放值,为一个数字,可以带小数
    height 设置 layout viewport 的高度,这个属性对我们并不重要,很少使用
    user-scalable 是否允许用户进行缩放,值为"no"或"yes", no 代表不允许,yes 代表允许
    viewport 是在 meta 标签里面进行控制的
    /* 
    width=device-width, initial-scale=1.0 是为了兼容不同浏览器
    */ 
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable='yes'"
    />

  • 对比下 px em rem 之间的区别

    • px 像素, 相对长度单位. 像素 px 是相对显示器屏幕分辨率而言的
    • em 是相对长度单位. 相对于当前对象内文本的字体尺寸.如果当前对象内文本的字体尺寸未被人设置,则相对于浏览器的默认字体尺寸.
      任意浏览器的默认字体高都是 16px.所有未经调整的浏览器都符合:1em=16px. 那么 12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了

      em 具有以下几个特点:

      1. em的值并不是固定的;
      2. em会继承父级元素的字体大小;
      3. 要重新计算那些被放大的字体的em数值。避免字体大小的重复声明。
        也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。
    • rem 是 CSS3 新增的一个相对单位(root em,根em).但是相对的只是 HTML 根元素.这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小.
      p {font-size:14px; font-size:.875rem;}

  • 简要描述下什么是回调函数,并写一个例子

    回调是把一个函数作为参数传递给另一个函数,当该函数满足某个条件时触发该参数函数.
    主要用于异步操作 例如网络请求 防止页面同步代码阻塞导致渲染线程停止
    function longTask(callback,timeout) {
      setTimeout(callback,timeout)
    }
    longTask(()=>{console.log("回调任务被执行了");},2000);
    console.log("我是同步代码 不会阻塞我");

面试题摘自 Github


Evil
376 声望1 粉丝

不是修电脑的!电脑卡怎么办?买新的!!买贵的!!!