1、disabled。HTML input 标签有一个 disabled 属性,该属性规定是否禁用 input 元素,被禁用的 input 元素既不可用,也不可点击,值为“disabled”。如果要启用该 input 元素,可通过 JavaScript 来删除 disabled 的值。被disabled禁用的元素,不能获得光标或者焦点,值只能通过JavaScript去设置,用户无法在界面上修改,且提交时该值不会提交到后台。
2、readonly。HTML input 标签有一个 readonly 属性,该属性规定输入字段是否为只读,只读元素不能输入,值为“readonly”。如果要使其变为可写,只能通过 JavaScript 来清除 readonly 的值。通过 readonly 设置为只读的元素,其值只能通过JavaScript去设置,用户无法在界面上修改,可以获得光标或者焦点,提交时该值会提交到后台,这是与disabled最大的区别。
3、hidden。该属性的值有true和false。该属性值为true时,元素在界面上处于隐藏状态,只能通过JavaScript去设置该元素的值,用户在界面上看不到该元素。这是与disabled和readonly的区别。提交时该值会提交到后台。
4、display。该属性用于设置元素如何显示。常用的值有:none、block、inline、inline-table。none表示此元素不会被显示;block表示此元素将显示为块级元素,此元素前后会带有换行符;inline表示此元素会被显示为内联元素,元素前后没有换行符,这是默认值;inline-table表示此元素会作为内联表格来显示(类似 table),表格前后没有换行符。当设置为none时,元素会隐藏起来,且不会占用页面空间。假如页面中从上到下有三个div元素,第二个div元素的display属性设置为none,那么界面上只能看到两个div元素,且是紧挨着。
5、visibility。该属性设置元素是否可见。常用的值有:visible、hidden。visible为默认值,表示元素框是可见的。hidden表示元素框不可见,但仍然影响布局。visibility设置为hidden会隐藏元素,但是仍然会占用页面空间。假如页面中从上到下有三个div元素,第二个div元素的visibility属性设置为hidden,那么界面上只能看到两个div元素,但这两个元素不是紧挨着,中间会隔着第二个div的空间,即第二个div不会显示,但是仍然会占用页面空间,导致第一个和第三个div之间出现一片空白。这是与display属性设置为none的区别。