html5有新属性吗HTML5新增属性

html5有新属性,例contextmenu、contentEditable、hidden、draggable、“data-*”、placeholder、required、pattern、autofocus、autocomplete等等。

本教程操作环境:windows7系统、HTML5版、Dell G3电脑。

HTML5新增属性

1.1、contextmenu

contextmenu的作用是指定右键菜单。

<!DOCTYPE html>
<html>
    <head>
        <meta charset=UTF-8>
        <title></title>
    </head>
    <body>
        <div id=div1 style=height:900px; background: lightgreen; contextmenu=menuShare>
        </div>
        <menu id=menuShare type=context>
            <menuitem label=分享到QQ空间 onclick=alert('QQ');></menuitem>
            <menuitem label=分享到朋友圈 onclick=alert('朋友圈');></menuitem>
            <menuitem label=分享到微博 onclick=alert('微博');></menuitem>
        </menu>
    </body>
</html>

运行效果:

contextmenu 在Html5中,每个元素新增了一个属性:contextmenu, contextmenu 是上下文菜单,即鼠标右击元素会出现一个菜单。
menu 要实现鼠标右击元素会出现一个菜单,还必须了解HTML5里新增的另一个元素:menu 顾名思义menu是定义菜单的, menu 元素属性: type :菜单类型属。 有三个值 1)context:上下文; 2)toolbar:工具栏;3)list:列表
<menuitem>
<menu> </menu>内部可以嵌入一个一个菜单项,即<menuitem></menuitem>。
menuitem 属性:
label:菜单项显示的名称
icon:在菜单项左侧显示的图标
onclick:点击菜单项触发的事件

1.2、contentEditable

规定是否可编辑元素的内容
属性值:
true -----可以编辑元素的内容
false -----无法编辑元素的内容
inherit -----继承父元素的contenteditable属性
当为空字符串时,效果和true一致。
当一个元素的contenteditable状态为true(contenteditable属性为空字符串,或为true,或为inherit且其父元素状态为true)时,意味着该元素是可编辑的。否则,该元素不可编辑。

document.body.contentEditable=true; 可以修改已发布网站

<!DOCTYPE html>
<html>
    <head>
        <meta charset=UTF-8>
        <title>contentEditable属性</title>
    </head>
    <body>
        <h2>contentEditable属性</h2>
        <div contenteditable=true>
            Hello contentEditable
        </div>
    </body>
</html>

1.3、hidden

hidden属性用于隐藏该元素。一旦使用了此属性,则该元素就不会在浏览器中被显示
2个布尔值
true 规定元素是可见。
false 规定元素是不可见。

        <div hidden=hidden>
            Hello Hidden
        </div>

为了兼容一些不支持该属性的浏览器(IE8),可以在CSS中加如下样式:

*[hidden]{
   display: none;
}
var p1=document.querySelector(body #p1);
p1.innerHTML+= +++;

1.4、draggable

规定元素是否可拖拽
3个枚举值
true 规定元素是可拖动的。
false 规定元素是不可拖动的。
auto 使用浏览器的默认特性。

示例:

<!DOCTYPE html><html>

    <head>
        <meta charset=utf-8>
        <script src=Scripts/jquery-1.11.3.min.js type=text/javascript charset=utf-8></script>    
        <title></title>
        <style>
            #p1,
            #p3 {
                height: 200px;
                width: 200px;
                border: 1px solid #00f;
                margin-bottom: 10px;
            }
            #p2 {
                height: 100px;
                width: 100px;
                background: yellow;
            }
        </style>
        <script>
            var p1, p2, p3, msg;
            window.onload = function() {
                p1 = document.getElementById(p1);
                p2 = document.getElementById(p2);
                p3 = document.getElementById(p3);
                msg = document.getElementById(msg);
                
                p2.ondragstart=function(){
                    msg.innerHTML+=p2开始拖动了<br/>;
                }
                p2.ondrag=function(){
                    msg.innerHTML+=拖动中<br/>;
                }
                p2.ondragend=function(){
                    msg.innerHTML+=拖动结束<br/>;
                }
                
                p1.ondragover = function(e) {
                    e.preventDefault();
                }
                p1.ondrop = function(e) {
                    p1.appendChild(p2);
                }
                p3.ondragover = function(e) {
                    e.preventDefault();
                }
                p3.ondrop = function(e) {
                    p3.appendChild(p2);
                }
                
                $(#p1).data(name,电池);
                alert($(#p1).data(name));
                
                p1.setAttribute(data-order-price,998.7);
                alert(p1.getAttribute(data-order-price));
            }        </script>
    </head>

    <body>
        <p id=p1 data-order-price=98.5 data-name=充电宝></p>
        <p id=p3></p>
        <p id=p2 draggable=true></p>
        <h3 id=msg></h3>
    </body></html>

运行结果:

<!DOCTYPE html><html lang=en><head>
    <meta charset=UTF-8>
    <meta name=viewport content=width=device-width, initial-scale=1.0>
    <title>Document</title></head><body>
    <p style=height: 300px; background: lightgoldenrodyellow;  ondrop=ondropEvent(event) ondragover=ondragoverEvent(event)></p>
    <img src=img/x.png width=200 draggable=true ondragstart=ondragstartEvent(event)/>
    <img src=img/tv.png width=200 draggable=true ondragstart=ondragstartEvent(event)/>
    <script>
        var target;        function ondragstartEvent(e){
            target=e.target;            //记住当前被拖动的对象            console.log(e.target);
        }        function ondropEvent(e){
            e.preventDefault();
            e.target.appendChild(target);

        }        function ondragoverEvent(e){
            e.preventDefault();
        }    </script></body></html>

1.5、data-*

data-*属性能让用户自定义属性的方式来存储数据
<span data-order-amount=100></span>
取值:
getAttribute('data-order-amount')
dataset.orderAmount
jQuery中的data()方法同样可以访问

使用jQuery与javascript添加与获取data属性示例:

<!DOCTYPE html><html>
    <head>
        <meta charset=UTF-8>
        <title>data-*</title>
        <script src=js/jquery-1.11.3.min.js type=text/javascript charset=utf-8></script>
    </head>
    <body>
        <h2>data-*</h2>
        <p id=p1 data-student-name=Tom data-stu='{a:1,b:2}'></p>
        <button onclick=addData()>添加数据</button>
        <button onclick=getData()>获取数据</button>
        <script type=text/javascript>
            var p1=document.getElementById(p1);            function addData()
            {                //给p1添加属性data-student-name,值为rose                p1.setAttribute(data-student-name,Rose);
                $(#p1).data(stu-mark,99分);
            }            function getData()
            {                //原生JavaScript
                //alert(p1.getAttribute(data-student-name));
                
                //jQuery                alert($(#p1).data(student-name));
                alert($(#p1).data(stu).a);
                alert($(#p1).data(stu-mark));
            }            
            
            var x={a:1};
            alert(eval((+x+)).a);        </script>
    </body></html>

运行效果:

1.6、placeholder占位属性

这是一个很实用的属性,免去了用JS去实现点击清除表单初始值.浏览器支持也还不错,除了Firefox,其他标准浏览器都能很好的支持
<input placeholder=请输入用户名>

            <p>
                <label>邮箱:</label>
                <input type=email name=mail id=mail value= placeholder=请输入邮箱/>
            </p>

1.7、required必填属性

约束表单元在提交前必须输入值。

            <p>
                <label>博客:</label>
                <input type=url name=blog id=blog value= required=required/>
            </p>

1.8、pattern正则属性

约束用户输入的值必须与正则表达式匹配。

            <p>
                <label>帐号:</label>
                <input type=text required=required pattern=^[0-9a-zA-Z]{6,16}$ />请输入a-zA-Z0-9且长度6-16位的字符            
                </p>

1.9、autofocus自动聚焦属性

            <p>
                <label>博客:</label>
                <input type=url name=blog id=blog value= required=required autofocus=autofocus/>
            </p>

让指定的表单元素获得焦点。

1.10、autocomplete自动补全属性

当表单元素设置了自动完成功能后,会记录用户输入过的内容,双击表单元素会显示历史输入。

<input type=text name=username autocomplete=on/off />

该属性默认是打开的。

1.11、novalidate不验证属性

novalidate 属性规定在提交表单时不应该验证 form 或 input 域。

<form action=demo_form.asp method=get novalidate=true>
<button formnovalidate=formnovalidate >提交</button>

1.12、multiple多选属性

multiple 属性规定输入域中可选择多个内容,如:email 和 file

<input type=file multiple=multiple” />

            <p>
                <label>相片:</label>
                <input type=file multiple=multiple/>
            </p>

<!DOCTYPE html><html>

    <head>
        <meta charset=UTF-8>
        <title>HTML5新的表单元素</title>
    </head>

    <body>
        <h2>HTML5新的表单元素</h2>
        <form>
            <p>
                <label>姓名:</label>
                <input type=text required=required/>
            </p>
            <p>
                <label>相片:</label>
                <input type=file multiple=multiple/>
            </p>
            <p>
                <label>帐号:</label>
                <input type=text name=username autocomplete=on required=required pattern=^[0-9a-zA-Z]{6,16}$ />请输入a-zA-Z0-9且长度6-16位的字符            </p>
            <p>
                <label>邮箱:</label>
                <input type=email name=mail id=mail value= placeholder=请输入邮箱/>
            </p>
            <p>
                <label>博客:</label>
                <input type=url name=blog id=blog value= required=required autofocus=autofocus/>
            </p>
            <p>
                <label>生日:</label>
                <input type=date>
            </p>
            <p>
                <label>身高:</label>
                <input type=number max=226 min=80 step=10 value=170 />
            </p>
            <p>
                <label>肤色:</label>
                <input type=color onchange=document.bgColor=this.value />
            </p>
            <p>
                <label>体重:</label>
                <input type=range max=500 min=30 step=5 value=65 onchange=showValue(this.value)/>
                <span id=rangeValue></span>
            </p>
            <button formnovalidate=formnovalidate>提交</button>
            <script type=text/javascript>
                function showValue(val){
                    document.getElementById(rangeValue).innerHTML=val;
                }            </script>
        </form>
    </body></html>

推荐教程:html视频教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


HTML代码中要想改变字体颜色,常常需要使用CSS样式表。CSS是一门用来描述网页上样式的语言,通过编写CSS代码可以实现网页中各元素的大小、颜色、字体等各种样式的控制。那么如何在HTML代码中应用CSS样式来改变字体颜色呢?这里为大家介绍一下。 首先,在HTML代码...
HTML代码如何让字体盖住图片呢?需要使用CSS的position属性及z-index属性。 img { position: relative; z-index: -1; } p { position: absolute; to...
HTML代码字体设置 在HTML中,我们可以使用标签来设置网页中的文字字体。常用的字体标签是font和style,下面我们来学习如何使用这些标签。 1. font标签 使用font标签可以改变文字的字体、颜色和大小。它有三个属性font-family、color和...
在网页设计中,HTML代码的字体和字号选择是非常重要的一个环节,因为它们直接关系到页面的可读性和视觉效果。 要指定文本的字体和字号,可以使用HTML中的样式属性。使用样式属性设置字体和字号,如下所示: <p style="font-family: Aria...
HTML(Hypertext Markup Language,超文本标记语言)是一种用于创建网页的标准语言。它由许多标签(一对尖括号包围的关键字)组成,这些标签告诉浏览器如何显示内容。使用HTML代码,我们可以轻松地创建各种类型的图像和图形,如太极图。 在HTM...
外链是指在一个网页中添加一个指向其他网站的链接,用户可以通过这个链接直接跳转到其他网站。在HTML中,实现外链的方法很简单,只需要使用标签就可以了。 <a href="http://www.example.com">这是一个外链,点击跳转到www.ex...
HTML代码是实现网页界面的基础,而网页中的各种表单则是用户和网站进行交互的重要方式之一。下面我们来介绍如何使用HTML代码实现一个简单的报名表格。 <form action="submit.php" method="post"> &lt...
HTML是一种标记语言,用于开发网站和其他互联网内容。字体是网站设计中的关键元素之一,它可以决定网站的整体风格和呈现效果。HTML提供了字体编辑器,使网站设计变得更加容易。 <font face="Arial"> 这里是Arial字体 &...
HTML代码中,字体样式是开发者们必备的一部分。在HTML中,我们可以通过特定的标签和属性设置字体的样式、颜色和大小,以达到更好的排版效果。 <p style="font-size: 14px; color: #333; font-family:...
HTML中的字体可以设为粗体,以强调文本信息。我们可以通过使用一些标签来实现这一功能。其中,常用的标签包括: 1. 标签:该标签会把文本加粗显示,语法如下: 这是一段加粗的文本 2. 标签:与标签作用相同,但语义更强,表示该文本内容的重要性。语法如下:...
HTML代码可以实现文件的上传和下载,在网页开发中相当常见。通过使用<input>标签和<form>标签,我们可以轻松创建一个文件上传表单。 <form action="upload.php" method="post" enct...
HTML代码非常常见于网页设计中。在一些需要处理时间相关数据的场景下,可能需要将时间戳转换为实际时间,这时候就需要使用一些特定的HTML代码。 function timeStamp2Time(time){ var date = new Date(time...
HTML是一种用于创建网页的标记语言。在HTML中,我们可以使用超链接标签实现下载文件到本地的功能。 具体实现步骤如下: <a href="文件的URL" download="文件名">下载文件</a> 其中,href属性是文件...
在HTML代码中,对于字体靠左对齐有各种方法。其中最简单的方式之一是使用pre标签。 使用pre标签可以保留一段文本中的空格和换行符,从而使代码排版更加整齐。下面是一个例子: <p>这是一个段落。</p> &lt...
HTML代码字典是一本解释HTML标记和属性的参考文献。这本字典中包含了最常用的HTML代码以及它们的属性和值的详细描述。 例如,以下是HTML代码字典中的一部分内容: <a href="url">link text</a> 在...
在网页开发过程中,遇到一些需要用户复制的内容,我们通常都会提供复制按钮,让用户更方便地复制所需内容。下面我们来介绍如何使用html代码实现一键复制的功能。 var copyBtn = document.querySelector('#copy-bt...
用户登录 欢迎来到公司登录界面,请输入用户名和密码登录 用户名: 密码: 代码解释: 第1行:定义了一个 HTML 文档 第2行:开始了 HTML 头部 第3行:定义了...
HTML 代码是用来创建网页的语言,它包含了许多不同的元素和属性,让我们可以在网页中添加各种不同的元素和内容,如文字、图片、链接等等。在编写 HTML 代码时,我们可以使用各种不同的样式来美化我们的网页,例如更改字体、颜色、大小等等。 font-family:...
HTML代码中的字体转移 在编写HTML代码时,我们经常会使用各种字体来增强页面的可读性和视觉效果。但是,有些字符或特殊符号可能会在HTML中具有不同的含义,这就需要使用字体转义转换成HTML可以正常显示的字符。 在HTML中,使用"&"符号表示一个特殊字符将要被转...
HTML 编程语言中,你可以使用字体属性来更改文本的字体大小、颜色和样式。其中,字体颜色是最常用的样式更改。在 HTML 中,你可以使用 "color" 属性来更改文本的颜色。下面是一个使用 "pre" 标签的代码示例,演示如何使用 "color" 属性来更改字体颜色...