css
font-weight:bolder;//用于字体加粗
background-color: Transparent;//设置控件背景为透明色;
border-style: none;//设置控件无边框,比如按钮
border-radius: 50%;//控件形状变成圆的
相对位置绝对位置: position: absolute;绝对位置,如果设置top属性,那就是相对于父容器的绝对位置; position: relative;相对位置,如果设置top属性,那就是相对于原来本控件应该在的位置的相对位置;
relative:他定位的方式为相对于自己之前的默认的位置,
可以说成是你之前在A点站着,现在要你向左移100px到B这个100px是相对于A的位置来说的.
absolute:这个就比较好说了,说的就是他自己向上一层一层的找自己的父元素,
然后看他们的position属性,谁的position属性不是static他就以谁为标准偏移.
如果一直没有的话就会找到body,body也不是的话,但是已经是最后一层了,
所以他就只能以body的初始位置为基准了.这就是之前为什么没对齐的原因.
注:(所有的块属性的position默认为static)
默认情况下,父容器里的子容器都是根据书写的先后顺序,在父容器里靠左依次从上向下布局,也就是第二个控件会紧挨着第一个控件的下端。
如果是父容器写了position属性的值(非static),然后子容器的position为absolute,但是没有写top、left、right、bottom等位置的属性,那该子容器还是相对于父容器布局的,只不过没有占用空间,也就是该子容器不会把父容器撑起来(例如父容器定义的是height/width:100%),相对于一个悬浮起来的容器,如果写了top、left、right、bottom等位置的属性,那就是和上面框上写得情况一样。
例如一个父容器(static)里写了两个控件div,第一个div1设置absolute,第二个div2设置relative,那就是div1还是相对于父容器正常左上角布局,第二个div2也是相对于父容器的左上角布局,也就是两个div会重叠,但是如果第一个div1设置relative,第二个div2设置absolute,div1还是相对于父容器正常左上角布局,而div2是在div1的下方布局。而且absolute的控件是不会撑起来父容器的,只有relative可以。
JavaScript
function fun(){ document.getElementById("text").innerHTML=Date();//这里的这个Date()是日期信息。 }
function sleep (time) {//设置一个睡眠函数
return new Promise((resolve) => setTimeout(resolve, time));
}
window.document.body.onmouseover = function (){//这个是当鼠标碰到控件的时候,引发的函数
//也可以写成document.getElementById("button").onmouseover=function () {//当鼠标放到指定的控件上
sleep(70).then(() => {//使用睡眠函数
animation(div);// 这里写sleep之后需要去做的事情
})
}
Math.ceil(Math.random()*6)//意思是随机一个0-6的整数Math.ceil就是转换成整数的意思 Math.ceil() 向上取整 Math.floor() 向下取整 Math.round() 四舍五入
javascript:location.reload();//刷新界面
乱七八糟的知识点
window.xxx就相当于定义了一个全局变量
window.dataLayer就是定义了一个叫做dataLayer的全局变量
window.dataLayer = window.dataLayer || [];
这句的意思就是,如果window.dataLayer存在就继续使用,如果不存在,就申明为一个空数组。
IDEA软件
可以把新建的目录标记为根目录(蓝色的目录),这样使得加载配置文件的时候不需要指定路径,只需要说明文件名就好了。