在移动端html中经常出现横向/纵向滚动的效果,但是在iPhone中滚动速度很慢,感觉不流畅,有种卡卡的感觉,但是在安卓设备上没有这种感觉;
要解决这个问题很简单:
一行代码搞定
1 | -webkit-overflow-scrolling : touch; |
在移动端html中经常出现横向/纵向滚动的效果,但是在iPhone中滚动速度很慢,感觉不流畅,有种卡卡的感觉,但是在安卓设备上没有这种感觉;
要解决这个问题很简单:
一行代码搞定
1 | -webkit-overflow-scrolling : touch; |
1 | flex-direction:row | row-reverse | column | column-reverse |
默认值:++row++
适用于:flex容器
1 | flex-wrap:nowrap | wrap | wrap-reverse |
默认值:++nowrap++
适用于:flex容器
1 | justify-content:flex-start | flex-end | center | space-between | space-around |
默认值:flex-start
适用于:flex容器
1 | align-items:flex-start | flex-end | center | baseline | stretch |
默认值:stretch
适用于:flex容器
1 | align-content:flex-start | flex-end | center | space-between | space-around | stretch |
默认值:stretch
适用于:多行的弹性盒模型容器
1 | flex-flow:<' flex-direction '> || <' flex-wrap '> |
默认值:看各分拆属性
适用于:flex容器
1 | flex-grow:<number> |
默认值:0
适用于:flex子项
取值:
用数值来定义扩展比率。不允许负值
flex-shrink:
默认值:1
适用于:flex子项
取值:
用数值来定义收缩比率。不允许负值
1 | flex-basis:<length> | <percentage> | auto | content |
默认值:auto
适用于:flex子项
1 | flex:none | <' flex-grow '> <' flex-shrink >'? || <' flex-basis '> |
默认值:看各分拆属性
适用于:flex子项
1 | order:<integer> |
默认值:0
适用于:flex子项和flex容器中的绝对定位子元素
取值:
用整数值来定义排列顺序,数值小的排在前面。可以为负值。
1 | align-self:auto | flex-start | flex-end | center | baseline | stretch |
默认值:auto
适用于:flex子项
display:box 或者 inline-box
1 | box-orient:horizontal | vertical | inline-axis | block-axis |
默认值:horizontal
适用于:伸缩盒容器
horizontal:
设置伸缩盒对象的子元素从左到右水平排列
vertical:
设置伸缩盒对象的子元素从上到下纵向排列
inline-axis:
设置伸缩盒对象的子元素沿行轴排列
block-axis:
设置伸缩盒对象的子元素沿块轴排列
1 | box-direction:normal | reverse |
默认值:normal
适用于:伸缩盒容器
取值:
normal:
设置伸缩盒对象的子元素按正常顺序排列
reverse:
反转伸缩盒对象的子元素的排列顺序
1 | box-pack:start | center | end | justify |
默认值:start
适用于:伸缩盒容器
取值:
start:
设置伸缩盒对象的子元素从开始位置对齐(大部分情况等同于左对齐,受)
center:
设置伸缩盒对象的子元素居中对齐
end:
设置伸缩盒对象的子元素从结束位置对齐(大部分情况等同于右对齐)
justify:
设置或伸缩盒对象的子元素两端对齐
1 | box-align:start | end | center | baseline | stretch |
默认值:stretch
适用于:伸缩盒容器
取值:
start:
设置伸缩盒对象的子元素从开始位置对齐
center:
设置伸缩盒对象的子元素居中对齐
end:
设置伸缩盒对象的子元素从结束位置对齐
baseline:
设置伸缩盒对象的子元素基线对齐
stretch:
设置伸缩盒对象的子元素自适应父元素尺寸
1 | box-lines:single | multiple |
默认值:single
适用于:伸缩盒容器
取值:
single:
伸缩盒对象的子元素只在一行内显示
multiple:
伸缩盒对象的子元素超出父元素的空间时换行显示
1 | box-ordinal-group:<integer> |
默认值:1
适用于:伸缩盒子元素
取值:
用整数值来定义伸缩盒对象的子元素显示顺序。
box-flex:
默认值:0
适用于:伸缩盒子元素
取值:
使用浮点数指定对象所分配其父元素剩余空间的比例。
1 | .test{background:url("图片链接") center center no-repeat; background-color:#000;} |
1 | .test{background:url("图片链接") #000000 center center no-repeat;} |
- 背景图片需要在背景颜色之前;
- 需要设置多个值时使用background,只需图片链接时可直接用background-img链接;
可以按顺序设置如下属性:
这个属性是用来对齐行内内容的,所以,==不应该对块级内容起作用==。
块状元素用==margin: 0 auto;==
跟正常盒子一样,从边框接触处算起,不占边框
1 | .goods_tab{float: right;height: 34px;margin-top: 5px;border:1px solid #ededed;border-bottom: none;z-index: 1;line-height: 34px;} |
1 | import { lastName as surname } from './profile'; |
import后面的from指定模块文件的位置,可以是相对路径,也可以是绝对路径,.js后缀可以省略。
如果只是模块名,不带有路径,那么必须有配置文件,告诉 JavaScript 引擎该模块的位置。
1 | import {myMethod} from 'util'; |
上面代码中,util是模块文件名,由于不带有路径,必须通过配置,告诉引擎怎么取到这个模块。
如果父级设定position:relative
,子级设定position:absolute
要设父级高度,否则高度撑不开;
$(".div1").on('click', function(event) {
// console.log($(this)[0].tagName);
// console.log($(this).attr('class'));
// $(this).html("hello");
// event.preventDefault();
console.log(event.target.tagName+" : "+$(event.target).attr('class')+" "+$(this).attr('class'));
// $(this)指的是绑定事件的元素,也就是.div1
});
$(this)[0].tagName
如果委托的元素没有写出来,那么$(this)指的是 $(“.div1”),如果有写委托元素,那么$(this)指的是委托元素
$().text()是特例,会获取所有选中元素的文本内容,不包括html标签
阻止默认事件
event.preventDefault();
又阻止冒泡event.stopPropagation();
offset().left
//获取到屏幕的左距离position().left
//自己转换为定位元素,忽略margin值
Parent()
//获取父级offsetParent()
//获取有定位的父级
//outerWidth():可以获取到隐藏元素的值
//offsetWidth : 是获取不到隐藏元素的值
clone(true)会把绑定到原来元素的事件也一并克隆.
wrap() : 包装
wrapAll() : 整体包装
wrapInner() : 内部包装
unwrap() : 删除包装 ( 删除父级 : 不包括body )
1 | //console.log($('form').serialize()); //string : a=1&b=2&c=3 |
$(‘#div1’).stop(); //默认 : 只会阻止当前运动
$(‘#div1’).stop(true); //阻止后续的运动
$(‘#div1’).stop(true,true); //可以立即停止到指定的目标点
$(‘#div1’).finish(); //立即停止到所有指定的目标点
1 | $.ajax({ |
$.extend({})
//工具方法$.fn.extend({})
//$()方法1 | jQuery.grep( array, function [, invert ] ) |
1 | $( ".selector" ).button({ |
2.传入参数:
1 | $( ".selector" ).button( "disable" ); |
3.事件绑定:1
$( ".selector" ).on( "buttoncreate", function( event, ui ) {} );
1 | <ul> |
$().css().html().click()
==针对设置的时候==
size() ★
length ★★★★★
==$()获取到的都是一个集合==
prev() next() ★★★★★
prevAll() nextAll() ★★★
siblings() ★★★
参数的筛选功能
first() ★★★
last() ★★★
slice() ★
children() 针对子节点,不针对孙节点 ★★★
find() :查找范围更加广泛 ★★★★★
parent() ★★★
parents() ★
closest() ★★★★★
精准的查找能力,实战开发之王
找的是最近的唯一一个元素(包括自身)
例子 : 点击查找指定节点
insertBefore() before() ★★★★★
insertAfter() after() ★★★★★
appendTo() append() ★★★★★
prependTo() prepend() ★★★★★
两种写法的区别
index() ★★★★★
each() ★★★★★
回调函数的两个参数 (value返回的是原生js对象)
this指向 == value
return false;
//wrap() : 包装
//wrapAll() : 整体包装
//wrapInner() : 内部包装
//unwrap() : 删除包装( 相当于删除父节点 , body是不能被删 )
1 | //$('span').wrap('<div>'); |
get() ★★★★★
与eq的区别
为什么要转,比如:
获取内容的高度
元素之间的比较
1 | $nowLi.get(0) == $nowLi.parent().children().eq(0).get(0) |