记录一下HTML5的新特性、移除元素。还有经常容易搞混的CSS伪元素和伪类。
- 选择器 .querySelector() .querySelectorAll()
- 拖拽释放 drag and drop
- 媒体播放 audio and vidio
- 本地存储 localStorage sessionStorage
- 离线应用 manifest
- 桌面通知 Notifications
- 语义化标签 article footer header nav section
- 增强表单控件 calendar date time email url search
- 地理位置 geolocation
- 多任务 webworker
- 全双工通信协议 websocket
- 历史管理 history
- 跨域资源共享 CORS Access-Control-Allow-Origin
- 页面可见性改变事件 visibilitychange
- 跨窗口通信 PostMessage
- FormData对象
- 绘画 canvas
H5移除的元素
表现的元素:basefont、big、center、font、s、strike、tt、u.
可用性低元素:frame、frameset、noframes.
伪类 pseudo-classes 用于已有元素处于某种状态时为其添加对应样式。伪类名称不区分大小写,单冒号前面和后面不能有空格。
① 比如 a链接的不同状态,未点击过、已点过、聚焦等等。
a链接的不同状态, 有效的顺序是:link visited hover focus active 。
② 比如元素所在位置状态,属于第一个、最后一个、不包含某个等等.
③ 比如表单的状态,选中、禁用等等。
p:first-child 父元素的第一个子元素
p:first-child { color: blue; } P标签集合中第一个p标签字体蓝色。
p > i:first-child { color: blue; } 所有P标签里的第一个I标签字体颜色蓝色。
p:last-child 最后一个子元素
q:lang(no) {quotes: "" "";} :lang 伪类 为语言属性值为 no 的q元素定义引号类型。
p:empty 没有子元素的p元素
p:first-of-type 选择所有 p元素是其父元素的第一个p元素
p:last-of-type 选择每个p元素是其母元素的最后一个p元素
div:not(.one) 选择所有不包含类名one的 div 标签
:is(.one,.two) p{} 选择类one、two下P元素
input:checked 所有选中的表单元素
input:disabled 所有禁用的表单
input:in-range 定义input 根据max和min属性范围内的样式
input:invalid 所有无效的元素
input:enabled 所有启用的表单元素
input:optional 选择没有 “required”的input元素
input:out-of-range 选择指定范围以外的值的元素属性
input:read-only 选择只读属性的元素属性
input:read-write 选择没有只读属性的元素属性
input:required 选择有"required"属性指定的元素属性
input:valid 选择所有有效值的属性
p:nth-child(2) 选择所有p元素的父元素内第二个子元素是P的元素(第二个不是P元素,则无法选中)
p:nth-last-child(3) 选择所有p元素的父元素内倒数第二个子元素是P的元素(倒数第二个不是P元素,则无法选中)
p:only-child 选择所有仅有一个子元素的p元素(如果有其他元素,则无法选中)
p:nth-of-type(2) 选择每个p元素是其母元素内第2个p元素(忽略其他元素)
p:nth-last-of-type(2) 选择每个p元素是其母元素内倒数第2个p元素(忽略其他元素)
p:only-of-type 选择所有仅有一个子元素为p的元素 (忽略其他元素)
#news:target 选择当前活动#news元素(点击URL包含锚的名字)
伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一层,也因此它的动态性比伪类要低得多。实际上,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。
伪元素一般以两个冒号表示:
p::first-letter 选择每个
元素的第一个字母
p::first-line 选择每个
元素的第一行
p::before 在每个
元素之前插入内容
p::after 在每个
元素之后插入内容
未完待续。