-
-
其实就是块级元素和内联元素。block元素单独一行,inline元素前后不产生换行。一系列的inline元素都在同一行内显示,直到该行铺满。
-
常见的inline元素:
-
<span> <a> <strong> <em> <label> <input> <select> <textarea> <img> <br> // 可以发现都是对字进行描述的,比如空行啊,粗体啊斜体之类的
-
-
常见的block元素
-
<div> <form> <table> <p> <h1-h6> <ol>
-
-
block元素可以包含block元素和inline元素;但inline元素只能包含inline元素
-
可以通过display:inline和display:block的设置,改变元素的布局级别
-
display:block 会让所有block元素各自新一行,默认情况下,block元素宽度自动填满其父元素宽度
-
block元素可以设置长度/宽度,但是仍旧是独占一行
-
可以设置margin和padding属性
-
-
display:inline
- inline元素设置长度/宽度无效
- inline元素的水平方向的padding和Margin属性会生效,但是竖直方向不会生效
-
display:inline-block,意思就是将对象呈现为inline对象,但是对象内容作为block对象呈现,之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。
-
-
- absolute:绝对定位,相对于static 定位以外的第一个父元素进行定位,元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定
- 当给绝对定位元素设置定位值时,该元素会延着DOM树向上查找,直到找到一个具有定位属性的祖先元素,则定位相对于该元素,在该例子中,由于其祖先元素都没有定位属性,则该绝对定位元素会相对于body体进行定位;如果给其父元素加上一个定位属性,则该绝对定位元素会相对于这个父元素
- fixed:绝对定位,相对于相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
- relative:相对定位,相对于其正常位置进行定位。不会改变行内元素的display属性,没有脱离普通流,只是视觉上发生的偏移。
- static:默认值。没有定位
- inherit:规定应该从父元素继承 position 属性的值
- absolute:绝对定位,相对于static 定位以外的第一个父元素进行定位,元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定
-
-
Flex布局下
.flex{ display:flex; flex-direction: row //主轴为垂直方向,起点在上沿。 justify-content: center; }
-
行内元素(文本)居中:
text-align:center
-
块级元素居中
.center-me { margin: 0 auto; } // 设置 margin-left 和 margin-right 为 auto
-
父元素设置text-align:center,子元素设置display:inline-block
-
width: fit-content; margin-left: auto; margin-right: auto;
-
-
-
闭包可以用于在对象中创建私有变量
-
闭包实现单例模式
var gameInstance=(function(){ var inst=null; function getInstance(){ if(inst ==null){ inst = new myobj(); console.log("new instance"); return inst; }else{ return inst; } } function myobj(){ this.name="zjw"; this.age=24; } myobj.prototype.show = function(){ console.log("name:"+this.name+" age:"+this.age); }; return getInstance; })(); gameInstance().show(); gameInstance().show();
-
-
- 大概是 transform: rotatoY(); 然后定义帧动画
-
- em是字体排印的一个单位,也就是说如果当前选择器的font-size属性的值为 20px,那么1em=20px
- 它是字体排版的一个单位,等同于根font-size。这意味着1rem等同于中的font-size
-
- 通过传进来的event.target可以确定哪个子元素,比如event.target.id / event.target.nodeName
- 另外在父元素里添加子元素,通过事件代理就可以避免添加不上事件/ 无需手动添加事件
-
-
get请求
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","/try/ajax/ajax_info.txt",true); //第一个参数是请求方法,第二个参数是url,第三个参数是是否异步,true代表异步,false代表同步 xmlhttp.send();//如果是post请求的话这个可以写一个string参数 } </script> </head> <body>
-
-
- 管道pipe:管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。
- 命名管道FIFO:有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。
- 消息队列MessageQueue:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。
- 共享存储SharedMemory:共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。
- 信号量Semaphore:信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。
- 套接字Socket:套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。
- 信号 ( sinal ) : 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。
-
-
https://segmentfault.com/q/1010000004441720
-
意思就是用img的onerror这个参数
<img src='/xxx/xxx/xxx.png' onerror='this.parentNode.removeChild(this)' />
-
-