12月学习记录
12.20
1.background-image的background-position属性不受padding影响,只相对border计算。
2.position:absolute元素有margin,但是有padding和border,层级用z-index设定。
3.position:relative/absolute可以设置层级,而且会覆盖普通文档流元素和**********float元素(而且无法用层级改变)**************;
4.display:inline-block可以实现两个div在一行中的效果,而且不用像float那样清除浮动和考虑后一个正常元素被浮动元素覆盖的问题;
(vertical-align可能会影响该属性??可能需要加上vertical-align:top??)
.div1{
width:100px;
height:100px;
display:inline-block;
}
.div2{
width:150px;
height:100px;
display:inline-bolck;
}
5.两层div结构,如果内层div使用绝对定位,那么他相对的是父元素的border,即:父级div的padding对他而言失效(****对别的子元素有效***)。
6.定位后的元素的right/bottom属性正负是相对整个盒模型而言的,即:向盒子内侧是正值,所以:
{
right:正值----向上;
bottom:正值---向左;
}
7.background-position用两个数值定位:水平、竖直;
padding:上下、左右;
8.内联元素设置padding/margin只有水平方向生效,垂直方向必须设置宽高(display)或者position:*****absolute;float:xxx;******
9.***************************************padding不允许为负值*************************************************
10.a标签的书写顺序:
link,visited,hover,active
11.子元素因为设置了float导致父元素不能撑开的解决办法:
(1)父元素添加类名.clrfix,然后css中加入样式
.clrfix:after{
clear:both;
visibility:none;
height:0;
content:".";
display:block;
}
(2)父元素加入样式:overflow:hidden;
12.26
1.jquery中noConflict()函数必须用在引入jquery库文件之后,在另一个导致冲突的$库引入之前;
2.clearQueue()清除.queue()引入的队列;
stop()清除动画队列;
3..src获取绝对路径;.getattribute()/(jquery).attr()获取相对路径;
4.js查看checkbox是否被选中:.checked = false/true;
jquery中:.attr('checked') = checked/undefined;(自带属性,不推荐使用attr) / .prop('checked') = true/false;
5.offset()是内容实体占据位置的偏移;position()是整个盒模型的偏移;
6.x:first-child------在同级的元素中作为第一个元素的x标签;
x:first-of-type-------同级所有x标签中排在第一个的;
*****************************************nth-of-type(n)/nth-child(n)同样道理*******************************
7.jquery中的:after是在元素外部后侧添加元素;
css中:after是在被选元素内部追加内容;
8.*********************************$(this).get(0)与$(this)[0]等价******************************************
12.27
1.focusin事件跟focus事件区别在于,focusin可以在父元素上检测子元素获取焦点的情况。
2.stop()
停止所有在指定元素上正在运行的动画。
如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行
3currentTarget 当前dom元素;
target 最初触发事件的元素;
12.29
1.jquery对象转换为dom对象
(1)jquery对象.get(index);(2)jquery对象[index]
2.解决$冲突
(1)Jquery(function($){内部使用$})
(2)(function($){$(function{正常使用$})})($)
3.js原生getElement方法找不到对象会报错,但是jquery不会报错,不需要人为检测是否存在
(不管是否存在,jquery获取的都是对象,所以不能用于判断是否存在,但可以用它的长度判断或者转换为dom对象)
4.~siblings只能获取该元素后的同辈元素,但是.siblings()可以获取所有同辈元素
5.:hidden选择器选择的包括:display:none;input标签的visible:hidden;visibility:hidden
6.:nth-child()匹配元素索引从1开始;
.eq索引从0开始