刷题笔记

html

  1. form表单中input元素的disabled指当input元素加载时禁用此元素,input内容不会随着表单提交。readonly规定输入字段为只读,input内容会随着表单提交。但是无论设置readonly还是disabled,通过js脚本都能更改input的value。

  2. <parent><child>content</child></parent>可使child内容垂直居中。

    1
    2
    3
    4
    5
    6
    7
    8
    /*把parent变成table,child变成table-cell,而vertical-align可设置元素垂直对齐,前提是:只能应用于内联元素,当parent只有child一个子元素时,child会铺满parent全部空间,即使child有宽高*/
    parent{
    display:table;
    }
    child{
    display:table-cell;
    vertical-align: middle;
    }
    1
    2
    3
    4
    5
    /*弹性布局。*/
    parent{
    display:flex;
    align-items:center;
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /*父元素设置相对定位,子元素设置绝对定位,子元素的top设置50%,即父元素的高度一半,注意此时是child元素的左上角(0,0)移到了parent的(0,parent高度的50%),而不是子元素的中心点移到了父元素垂直方向的中心点。因此子元素需要上移自身高度的一半,即transform:translateY(-50%)*/
    parent{
    positionn: relative;
    }
    child{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /*设置伪元素。vertical-align属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。如:有两个行内元素a和b,a,b都是img,若s加了vertical-align:middle样式,b的底部(基线)就会对齐a的中间位置;若a,b都加了,则互相对齐了对方的中间位置,也就是他们在垂直方向上的中线对齐了。*/
    parent::after{
    content:'';
    height: 100%;
    vertical-align: middle;
    width:0;
    }
    child{
    display: inline-block;
    vertical-align: middle;
  3. display:none指的是元素不完全陈列出来,不占据空间,涉及到了DOM结构,故产生重排和重绘。

    visibility:hidden指的是元素不可见但存在,保留空间,不影响结构,故只产生重绘,但不可触发绑定事件。

    opacity=0指的是元素不可见但存在,保留空间,不影响结构,并且如果如果该元素已经绑定了一些事件,如click事件,那么点击该区域,也能触发点击事件的。

  4. Web SQL数据库API并不是HTML5规范的一部分,但它是一个独立的规范,引入了一组使用SQL操作数据库的APIs。

  5. 1
    2
    3
    4
    ele.clientWidth = 宽度 + padding
    ele.offsetWidth = 宽度 + padding + border
    ele.scrollTop = 被卷去的上侧距离
    ele.scrollHeight = 自身实际的高度(不包含边框)
  6. Object.keys()不能遍历出对象原型链上的属性。Object.assign(obj1,obj2)可以实现对象的浅拷贝。

  7. null === null结果为true。

  8. 1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class A{}
    class B extends A{}
    const a = new A();
    const b = new B();

    //以下都为true
    a.__proto__ === A.prototype
    b.__proto__ === B.prototype
    B.__proto__ === A
    B.prototype.__proto__ === A.prototype
    b.__proto__.__proto__ === A.prototype
文章目录
  1. 1. html
|