html5该怎么样学习?大牛程序员分享html5入门学习顺序
1、css3新增选择器
结构选择器
-
:nth-child(n)
:父元素下的第n个子元素 -
:nth-child(odd)
:奇数子元素(同nth-child(2n-1)) -
:nth-child(even)
:偶数子元素(同nth-child(2n)) -
:nth-child(an+b)
:公式 -
:nth-last-child(n)
:倒数第n个子元素 -
:nth-of-type(n)
:父元素下的第n个指定类型的子元素 -
:nth-last-of-type
:父元素下的数第n个指定类型的子元素 -
:first-child
:选择父元素下的第一个子元素 -
:last-child
:选择父元素下的最后一个子元素 -
:only-child
:选择父元素下唯一的子元素 -
:only-of-type
:选择父元素下指定类型的唯一子元素 -
:root
:选择文档的根目录,返回html
属性选择器:
-
:E[attr]
:属性名,不确定具体属性值 -
:E[attr="value"]
:指定属性名,并指定其对应属性值 -
:E[attr ~="value"]
:指定属性名,其具有多个属性值空格隔开,并包含value值 -
:E[attr ^= "value"]
:指定属性名,属性值以value开头 -
:E[attr $="value"]
:指定属性名,属性值以value结束 -
:E[attr *="value"]
:指定了属性名,属性值中包含了value -
:E[attr |= "value"]
:指定属性名,属性值以value-开头
UI伪类选择器:
-
:enabled
:选择启用状态元素 -
:disabled
:选择禁用状态元素 -
:checked
:选择被选中的input元素(单选按钮或复选框) -
:default
:选择默认元素 -
:valid、invalid
:根据输入验证选择有效或无效的input元素 -
:in-range、out-of-range
:选择指定范围之内或者之外受限的元素 -
:required、optional
:根据是否允许 -
:required
:属性选择input元素
动态伪类选择器:
-
:link
:选择链接元素 -
:visited
:选择用户以访问的元素 -
:hover
:鼠标悬停其上的元素 -
:active
:鼠标点击时触发的事件 -
:focus
:当前获取焦点的元素
其他伪类选择器:
-
:not()
:对括号内选择器的选择取反 -
:lang()
:基于lang全局属性的元素 -
:target
:url片段标识符指向的元素 -
:empty
:选择内容为空的元素 -
:selection
:鼠标光标选择元素内容
2、背景
-
background-size
:背景尺寸 -
background:url() 0 0,url() 0 100%;
:多背景 -
background-origin
:背景区域定位 -
background-clip
:背景绘制区域颜色渐变 -
background-image:linear-gradient()
:线性渐变 -
background-image:radial-gradient()
:径向性渐变
3、文本属性
-
color:rgba();
-
text-overflow:
:是否使用一个省略标记(…)标示对象内文本的溢出(单行文本溢出、多行文本溢出) -
text-align
:文本的对齐方式 -
text-transform
:文字的大小写 -
text-decoration
:文本的装饰线,复合属性 -
text-shadow
:文本阴影 -
text-fill-color
:文字填充颜色 -
text-stroke
:复合属性。设置文字的描边 -
tab-size
:制表符的长度 -
word-wrap
:当前行超过指定容器的边界时是否断开转行 -
word-break
:规定自动换行的处理方法
4、弹性盒模型
box布局设置给父元素属性:
-
display:box/display:inline-box;
-
box-orient
:定义盒模型的布局方向 -
box-direction
:元素排列顺序 -
box-pack
:对盒子富裕的空间进行管理 -
box-align
:在垂直方向上对元素的位置进行管理
box布局设置给子元素属性:
-
box-ordinal-group
:设置元素的具体位置 -
box-flex
:定义盒子的弹性空间
flex布局设置给父元素属性:
-
flex-direction
:属性决定显示的方向(即项目的排列方向) -
flex-wrapflex-wrap
:属性定义,如果一行排不下,如何换行。 -
flex-flow
:属性是flex-direction
属性和flex-wrap
属性的简写形式,默认值为row nowrap
。 -
justify-content
:属性定义了项目在水平方向的对齐方式。 -
align-items
:属性定义项目在竖直方向上如何对齐。 -
`align-content 属性定义了多行的对齐方式。如果项目只在一行,该属性不起作用。
flex布局设置给子元素:
-
order
:属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。可为负值 -
flex-grow
:属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。 -
flex-shrink
:属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 -
flex-basis
:属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。 -
flex
:属性是flex-grow
,flex-shrink
和flex-basis
的简写,默认值为0 1 auto
。后两个属性可选。 -
align-self
:属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items
属性。默认值为auto
,表示继承父元素的align-items
属性,如果没有父元素,则等同于stretch
。
5、怪异盒模型(box-sizing)
-
box-sizing
:盒模型解析模式 -
content-box
:标准盒模型(和css2一样的计算),计算方法:width/height=border+padding+content
-
border-box
:怪异盒模型width/height
与设置的值一样 ,content减小3、2D变换、3D变换
6、盒子阴影、倒影
box-shadow
:阴影box-reflect
倒影
7、2D+3D变换
2D变换
-
ransform:rotate()
:旋转函数(deg) deg:度数 -
skew(X,Y)
:倾斜函数 (deg) -
skewX()
-
skewY()
-
scale(X,Y)
:缩放函数 (正数、负数和小数) -
scaleX()
-
scaleY()
-
translate(X,Y)
:位移函数(px) -
translateX()
-
translateY()
-
matrix(a,b,c,d,e,f)
:矩阵函数
3D变换
-
transform-style(preserve-3d)
:建立3D空间 -
perspective
:视镜 -
perspective-origin
:视镜基点x:left/center/right/length/%
y:top/center/bottom/length/%
-
transform
:新增函数rotateZ()
translateZ()
scaleZ()translate3d(x,y,z)
-
backface-visibility: hidden;
8、动画过渡
-
transition:property duration timing-function delay;
-
transition-property
:过渡属性的名称 -
transition-duration
:过渡属性花费的时间 -
transition-timing-function
:过渡效果速度曲线(贝塞尔曲线详解) -
transition-delay
:过渡效果延迟时间 -
过渡完成事件
:transitionend
9、自定义动画
-
animation-name
:动画名称 -
animation-duration
:动画执行时间 -
animation-timing-function
:动画速度曲线(贝塞尔曲线详解) -
animation-delay
:动画效果延迟时间 -
animation-iteration-count
:动画执行次数 -
animation-direction
:动画执行方向 -
animation-play-state
:动画执行状态 -
animation-fill-mode
:动画执行过程效果是否可见 -
@keyframes
:规定动画关键帧from{}
to{}
0%{}
100%{}
-
动画事件:
animationstart/animationiteration/animationend
10、布局
分栏布局
-
column-width
:栏目宽度 -
column-count
:栏目列数 -
column-gap
:栏目距离 -
column-rule
:栏目间隔线
响应式布局:媒体类型
-
*all
:所有媒体 -
braille
:盲文触觉设备 -
embossed
:盲文打印机 -
*print
:手持设备 -
projection
:打印预览 -
*screen
:彩屏设备 -
speech
:'听觉’类似的媒体类型 -
tty
:不适用像素的设备 -
tv
:电视
关键字:
-
and
-
not
:关键字是用来排除某种制定的媒体类型 -
only
:用来定某种特定的媒体类型
样式引入@media screen
----此处内容重点太多,暂保密
11、智能表单及表单验证反馈
input表单type属性值:
-
type = "email"
:限制用户输入必须为Email类型 -
type="url"
:限制用户输入必须为URL类型 -
type="date"
:限制用户输入必须为日期类型 -
type="datetime"
:显示完整日期 含时区 -
type="datetime-local"
:显示完整日期 不含时区 -
type="time"
:限制用户输入必须为时间类型 -
type="month"
:限制用户输入必须为月类型 -
type="week"
:限制用户输入必须为周类型 -
type="number"
:限制用户输入必须为数字类型 -
type="range"
:生成一个滑动条 -
type="search"
:具有搜索意义的表单results="n"属性 -
type="color"
:生成一个颜色选择表单 -
type="tel"
:显示电话号码
新增属性:
-
equired: required
:内容不能为空 -
placeholder
:表单提示信息 -
autofocus
:自动聚焦 -
pattern
:正则表达式 输入的内容必须匹配到指定正则范围 -
autocomplete
:是否保存用户输入值默认为on,关闭提示选择 off -
formaction
:在submit里定义提交地址 -
datalist
:输入框选择列表配合list使用 list值为datalist的id值
表单验证反馈:
-
Invalid 事件
:validity对象(valid查看验证是否通过)input.addEventListener('invalid',fn,false)
-
阻止默认验证:
ev.preventDefault()` -
formnovalidate 属性
:关闭验证oText.addEventListener("invalid",fn1,false);
ev.preventDefault()
-
valueMissing
:输入值为空时 -
typeMismatch
:控件值与预期类型不匹配 -
patternMismatch
:输入值不满足pattern正则 -
customError
:不符合自定义验证 -
setCustomValidity();
自定义验证
-
tooLong
:超过maxLength最大限制 -
rangeUnderflow
:验证的range最小值 -
rangeOverflow
:验证的range最大值 -
stepMismatch
:验证range 的当前值 是否符合min、max及step的规则 -
output
:计算或脚本输出