Heim  >  Artikel  >  Web-Frontend  >  Prägnante Version der HTML5-Studiennotizen (6): Neue Attribute (1)

Prägnante Version der HTML5-Studiennotizen (6): Neue Attribute (1)

黄舟
黄舟Original
2017-01-21 16:46:291895Durchsuche

Medienattribut unter a und area

Um die Konsistenz mit dem Link-Element aufrechtzuerhalten, fügen das a-Element und das Area-Element auch das Medienattribut hinzu, das nur gültig ist, wenn das href vorhanden ist. Das Medienattribut gibt an, für welches Medium/Gerät die Ziel-URL optimiert ist. Detaillierte Syntaxspezifikationen finden Sie unter: http://dev.w3.org/csswg/css3-mediaqueries/#media0

Codebeispiel:

<a href="att_a_media.asp?output=print" media="print and (resolution:300dpi)">
HTML5 a media attribute.
</a>

hreflang, Typ, rel-Attribute unter Bereich

Um die Konsistenz mit dem a-Element und dem Link-Element aufrechtzuerhalten, fügt das Bereichselement hreflang, typ, rel usw. Eigentum.

Attribute

Wert

Beschreibung

hreflang

Sprachcode

Gibt die Sprache der Ziel-URL an

Medien

Medienabfrage

Gibt an, für welches Medium/Gerät die Ziel-URL optimiert ist

rel

alternate, Autor, Lesezeichen, extern , help , License, next, nofollow, noreferrer, prefetch, prev, search, sidebar, tag

Gibt die Beziehung zwischen dem aktuellen Dokument und der Ziel-URL an

Typ

mime_type

Gibt den MIME-Typ der Ziel-URL an

Das Zielattribut unter base

Das Zielattribut unter base ist dasselbe wie das Zielattribut von a und viele ältere Versionen von Browsern werden seit langem unterstützt.

Hinweis 1: Ziel muss vor allen Verbindungselementen deklariert werden.

Hinweis 2: Bei mehreren Erklärungen hat die erste Vorrang.

<!DOCTYPE html>
<html>
    <head>
        <title>This is an example for the <base> element</title>
        <base href="http://www.example.com/news/index.html">
    </head>
    <body>
        <p>Visit the <a href="archives.html">archives</a>.</p>
    </body>
</html>

Wenn Sie auf den Link oben klicken, gelangen Sie zu http://www.example.com/news/archives.html.

Das charset-Attribut unter meta

charset wird verwendet, um die Kodierungsmethode des Dokuments zu definieren. Wenn dieses Attribut in XML definiert ist, muss der Wert von charset im ASCII-Format ohne Berücksichtigung der Groß- und Kleinschreibung angegeben werden UTF-8, da XML-Dokumente gezwungen sind, UTF-8 als Kodierungsmethode zu verwenden.

Hinweis: Das charset-Attribut des Meta-Attributs hat in XML-Dokumenten keine Auswirkung. Es dient nur der Bequemlichkeit der direkten Migration mit XHTML.

Es können nicht mehrere Metaelemente mit dem charset-Attribut deklariert werden.

In HTML4 müssen wir es so definieren:

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

In HTML5 definieren wir es einfach so:

<meta charset="ISO-8859-1">

Autofokus-Attribut

HTML5 fügt ein Autofokus-Attribut zu Eingabe-, Auswahl-, Textbereichs- und Schaltflächenelementen hinzu (versteckte Eingaben können nicht verwendet werden), was eine deklarative Möglichkeit bietet, dies zu definieren, wenn die Wird die Seite geladen, liegt der Fokus automatisch auf dem aktuellen Element. Die Verwendung des Autofokus kann das Benutzererlebnis verbessern, wenn wir ihn beispielsweise auf der Anmeldeseite festlegen, wird der Fokus nach dem Laden der Seite automatisch auf das Textfeld des Benutzernamens gesetzt.

<input maxlength="256" name="loginName" value="" autofocus>
<input type="submit" value="Login">

Hinweis 1: Das Autofokus-Attribut wird einmal pro Seite deklariert.

Hinweis 2: Es ist nicht notwendig, den Autofokus auf einer Seite einzustellen.

placeholder属性

input和textarea元素新增加了placeholder属性,该属性是提升用户输入内容。当用户点击的时候,该内容文本自动消失,离开焦点并且值为空的话,再次显示。以前我们都是使用JavaScript代码来实现,其实蛮复杂的,有了placeholder属性就爽了,直接写成下面下这样的代码:

<input type="username" placeholder="请输入你的用户名">

form属性

form属性(不是ff9c23ada1bcecdd1a0fb5d5a0f18437元素),是一个划时代的属性,它允许你将ff9c23ada1bcecdd1a0fb5d5a0f18437表单里的表单控件声明在表单外门,只需要在相应的控件上设置form属性为指定的ff9c23ada1bcecdd1a0fb5d5a0f18437表单的id就行了,不需要非得把元素声明在ff9c23ada1bcecdd1a0fb5d5a0f18437元素里了,解放啦。

代码如下:

<label>Email:
 <input type="email" form="foo" name="email">
</label>
<form id="foo"></form>
支持该属性的元素有:input, output, select, textarea, button, label, object和fieldset。

required属性

required属性是一个验证属性,表明该控件是必填项,在submit表单之前必须填写。可用的元素是:input, select和textarea(例外: type类型为hidden, image或类似submit的input元素)。

如果在select上使用required属性,那就得设置一个带有空值的占位符option。代码如下:

<label>Color: <select name=color required>
 <option value="">Choose one
 <option>Red
 <option>Green
 <option>Blue
</select></label>

fieldset下的disabled属性

当fieldset的设置disabled属性时,其所有的子控件都被禁用掉了,但不包括legend里的元素。name属性是用来脚本访问的。

代码1:

<form>
<fieldset name="clubfields" disabled>
 <legend> <label>
  <input type=checkbox name=club onchange="form.clubfields.disabled = !checked">
  Use Club Card
 </label> </legend>
 <p><label>Name on card: <input name=clubname required></label></p>
 <p><label>Card number: <input name=clubnum required pattern="[-0-9]+"></label></p>
 <p><label>Expiry date: <input name=clubexp type=month></label></p>
</fieldset>
</form>

当点击legend里的checkbox的时候,会自动切换fieldset子元素的disabled状态。

代码2:

<form>
<fieldset name="clubfields">
    <legend>
        <label>
            <input type="checkbox" name="club" onchange="form.clubfields.disabled = !checked">
            Use Club Card
        </label>
    </legend>
    <p>
        <label>
            Name on card:
            <input name="clubname" required></label></p>
    <fieldset name="numfields">
        <legend>
            <label>
                <input type="radio" checked name="clubtype" onchange="form.numfields.disabled = !checked">
                My card has numbers on it
            </label>
        </legend>
        <p>
            <label>
                Card number:
                <input name="clubnum" required pattern="[-0-9]+"></label></p>
    </fieldset>
    <fieldset name="letfields" disabled>
        <legend>
            <label>
                <input type="radio" name="clubtype" onchange="form.letfields.disabled = !checked">
                My card has letters on it
            </label>
        </legend>
        <p>
            <label>
                Card code:
                <input name="clublet" required pattern="[A-Za-z]+"></label></p>
    </fieldset>
</fieldset>
</form>

在这个例子,当你外面的 "Use Club Card" checkbox没有选中的时候,里面的子控件都是被禁用的,如果选中了,两个radiobutton都可用了,然后可以选择哪一个子fieldset你想让它可用。

input下的新属性(autocomplete, min, max, multiple, pattern, step)

input下增加了几个用于约束输入内容的属性(autocomplete, min, max, multiple, pattern和step),目前只有部分浏览器支持required和autocomplete属性,其它属性尚未支持。

autocomplete 属性规定输入字段是否应该启用自动完成功能, 自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。

<form action="demo_form.asp" method="get" autocomplete="on">
  First name:<input type="text" name="fname" /><br />
  Last name: <input type="text" name="lname" /><br />
  E-mail: <input type="email" name="email" autocomplete="off" /><br />
  <input type="submit" />
</form>

注释:autocomplete 属性适用于 ff9c23ada1bcecdd1a0fb5d5a0f18437,以及下面的 d5fd7aea971a85678ba271703566ebfd 类型:text, search, url, telephone, email, password, datepickers, range 以及 color。

另外也可以声明一个list属性,用来和存放数据的datalist元素关联:

<form>
<label>Homepage: <input name=hp type=url list=hpurls></label>
<datalist id=hpurls>
 <option value="http://www.google.com/" label="Google">
 <option value="http://www.reddit.com/" label="Reddit">
</datalist>
</form>

当input为空的时候,双击它,就会弹出提示选项(选项内容就是定义的label(Google/Reddit))。选择一个label就会将对应的value地址更新到input里(目前FF支持)。

datalist的声明形式可以有多种:

<datalist id="breeds">
   <option value="Abyssinian">
   <option value="Alpaca">
   <!-- ... -->
</datalist>
或者
<datalist id="breeds">
  <label>
   or select one from the list:
   <select name="breed">
    <option value=""> (none selected)
    <option>Abyssinian
    <option>Alpaca
    <!-- ... -->
   </select>
  </label>
 </datalist>

另外,当input的type为image的时候,input还支持width和height属性用来指定图片的大小。

Das Obige ist die prägnante Version der HTML5-Studiennotizen (6): Der Inhalt neuer Attribute (1) Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn