前端基础知识回顾:HTML全局属性
核心属性(Core Attributes)
class属性规定元素的类名(classname):<element class="value">
在多数情况下只想样式表中的类(class),也可以利用它通过JavaScript来改变带有指定class的HTML元素。
属性值当中可以包含多个类名,其间用空格分隔。
类名不能以数字开头,因为只有IE支持这种用法。
id属性规定HTML元素唯一标识:<element id="value">
id属性的属性值在HTML文档中必须是唯一的。
id属性可用作链接锚(link anchor),通过JavaScript(HTML DOM)或通过CSS为带有指定id的元素改变或添加样式。
style属性规定元素的行内样式(inline style):<element style="value">
style属性的属性值是一个或多个由分号分隔的CSS属性和值,行内样式的优先级高于文档内嵌样式和外联样式。
title属性规定关于原色的额外信息:<element title="value">
title属性的属性值通常会在鼠标移动到元素上时显示一段工具提示文本(tooltip text)。
title属性常与form以及a元素一同使用,以便提供关于输入格式和链接目标的信息;同时它也是abbr和arconym元素的必须属性。
其中base、head、html、meta、param、script、style、title元素不支持以上属性。
语言属性(Language Attributes)
dir属性规定元素内容的文本方向:<element dir="ltr|rtl">
dir属性的两个属性值:ltr(默认)表示从左向右,rtl表示从右向左。
lang属性 vs xml:lang属性:<element lang="value" xml:lang="value">
lang属性可以使搜索引擎了解你的页面使用了何种语言,搜索引擎可以按语言把页面归类,或者启动某些自动翻译系统;也可以使排版工具了解你的页面使用了何种语言,这样相应的排版工具就可以进行切换标点符号,转换格式等操作。
lang属性可以分为没有命名空间的和有命名空间的两种。
没有命名空间的lang属性用于定义元素的内容及其他文本属性的语言种类,它的值必须是符合BCP 47规定范围内的一个语言标签,当该属性设置成空字符串时,代表语言未知。
带有命名空间的lang属性,以在XML命名空间内的xml:lang为例,它代表xml语言声明,可以用在任何XHTML或XML标签上,它的值需要符合GNU I18N规范。
任何html元素都可以设置无命名空间的lang属性;在XML命名空间内的lang属性可以使用在XML文档中的HTML元素上。
user agents解析元素的语言属性工作顺序如下:
当元素设置了lang属性,则以lang属性为准,否则以最近的祖先元素的lang属性为准;如果同时设置了xml命名空间的lang属性和无命名空间的lang属性,则以前者为准;如果在元素的祖先元素中没有找到任何lang属性值,而在meta中设置了默认语言,则以此为准;如果meta中也没有设置,则会查看http协议传输的内容(header)中设置,如果http返回多种语言,会被视为无效,其效果相当于把lang属性设置为空字符串。
另:也可以设置一个不符合标准的lang属性,用于其它服务,例如CSS选择器:<p lang="xyzzy">test</p>将会被css的:lang(xyzzy)选择器捕获。
其中base、br、frame、frameset、hr、iframe、param、script元素不支持以上属性。
键盘属性(Keyboard Attributes)
accesskey属性设置访问元素的键盘快捷键:<element accesskey="value">
如果属性值当中包含多个键盘符可以利用空格分开,快捷键可以使元素获得焦点或者激活元素。
tabindex属性规定当使用"tab"键进行导航时元素获得焦点的顺序:<element tabindex="value">
属性值为tab键序,1代表第一。
HTML5新增属性
contenteditable属性规定元素是否可以被编辑:<element contenteditable="空字符串|true|false|inherit">
在IE8下设置表格设置可写不被支持,而其他的元素没有问题;在其他浏览器当中被正常支持。
该属性的属性值可以为空字符串(可编辑)、true(可编辑)、false(无法编辑)、inherit(默认继承父元素的contenteditable属性)。
在较新的浏览器中,contenteditable可以直接使用而不赋值也可以起到相应作用,尽管它并不合法。
对于contenteditable而言HTML5趋于xhtml,使用的是contenteditable,而HTML4使用的是contentEditable(在HTML4当中该属性不是全局属性)。
另:在浏览器地址栏输入data:text/html,<html contenteditable>即可打开一个简单的在线编辑器。
contextmenu属性为元素规定上下文菜单:<element contextmenu="menu_id">
contextmenu属性规定的这个菜单会在用户右键点击元素时出现,该属性的属性值为需要打开的<menu>元素的id。
此属性为HTML5当中的新增属性,目前无任何主流浏览器支持此属性,一般用JavaScript当中的oncontextmenu事件制作类似效果。
draggable属性规定元素是否可拖动:<element draggable="true|false|auto">
该属性的属性值ture(表示可以拖动),false(表示不可拖动),auto(表示使用浏览器默认特性);其中链接和图像默认是可以拖动的。
目前只有Firefox、Chrome、Safari支持此属性。
dropzone属性规定当被拖动的数据在拖放到元素上时,是否被赋值、移动或链接:<element dropzone="copy|move|link">
该属性的属性值copy(表示拖动数据会导致被拖数据产生副本),move(表示拖动数据会导致被拖数据移动到新位置),link(表示拖动数据会生成指向原始数据的链接)。
目前无任何主流浏览器支持dropzone属性,可以利用DropzoneJS类库实现类似效果。
hidden属性规定对元素进行隐藏:<element hidden="hidden">
此属性是布尔属性,可以将其属性值设置为true|false或直接只写hidden而不写属性值;也可以通过JavaScript来进行该属性的增加或删除,使用户在满足某些条件时才能看到某个元素。
spellcheck属性规定是否对元素内容进行拼写检查:<element spellcheck="true|false">
该属性可以对三种文本进行拼写检查:类型为text的input元素中的值(非密码);textarea元素中的值;可编辑元素中的值。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。