首页 > 开发 > HTML > 正文

html里标签里属性相关的困惑

2017-09-09 13:56:34  来源: 网友分享
html<div id="banner" class="slide-1" coor-rate="0.1" coor="default-banner" role="banner" data-banner="false"></div>

对于上面的代码中,有几个疑惑:

  1. data开头的属性,经常看到data-xxx这样的定义
    比如上面的:data-banner="false"
    这样的定义有什么目的,哪种情况下用到等

  2. role
    定义这个起到什么作用?

  3. 完全自定义的属性
    比如:coor-rate="0.1" coor="default-banner"
    这样的定义有什么目的,哪种情况下用到等

求各位大神指导下,谢谢~

解决方案

问题1

u3000data开头的属性一般是用于控件的数据绑定.避免对dom元素进行自定义属性的数据绑定u3000造成不必要的阅读障碍,用data-*来进行额外的属性定义.u3000这样的定义一般是个js使用.这里举一个图片懒加载的例子加以说明

<img src="default.png" data-src="xxxx/xx.png">

当该元素没有显示在用户界面时采用默认图片,一旦出现在用户视野,就将data-src的地址替换src.u3000这样是不是很方便?u3000比用id来标示寻找元素u3000在来绑定数据更简单?

问题2

role属于html5属性,具体可参考http://www.w3.org/TR/wai-aria/host_languages#host_general_role
主要用来u3000定义u3000dom元素角色.u3000从而便于写css时使用选择器进行选择,u3000也能在一定程度上提升代码可读性

问题3

3.完全自定义属性.u3000这种属性的定义,在我遇到的情况下u3000一般是服务于js的.用来针对性进行dom元素修改.最直观的例子就是angualr里面的directive