HTML5의 새로운 속성과 기능 중 일부는 코드를 더욱 간결하게 만들어줍니다. 이는 항상 좋은 점이며 이 HTML5 문서가 여러분에게 도움이 되기를 바랍니다.
1. 새 Doctype 선언
XHTML 선언이 너무 깁니다. 이 Doctype 선언을 직접 작성할 수 있는 프런트엔드 개발자는 거의 없습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
HTML5의 Doctype 선언은 매우 짧습니다. 이 선언을 본 후에는 길고 다소 비정상적인 Doctype 선언을 기억하기 위해 두뇌 세포를 낭비할 필요가 없습니다. XHTML의.
<!DOCTYPE html>
HTML5의 짧은 DOCTYPE 문을 사용하면 Firefox, Chrome과 같은 최신 브라우저 및 IE6/7/8과 같은 브라우저가 (준) 표준 모드로 들어갈 수 있습니다. 7은 실제로 HTML5 Doctype을 지원할 수 있습니다. 실제로 IE는 Doctype이 이 형식을 준수하는 한 표준 모드로 들어갑니다.
2. a7e92aa379a95c24a947f9b436d5f4f4 태그
<img alt="About image" src="path/to/image"> <h6>Image of Mars.</h6>
다음의 간단한 코드를 살펴보세요.
안타깝게도 여기 h6 태그가 있습니다. img 태그와 아무 관련이 없는 것 같고 의미가 충분히 명확하지 않습니다. HTML5는 이를 깨닫고 a7e92aa379a95c24a947f9b436d5f4f4 태그를 채택했습니다. 614eb9dc63b3fb809437a716aa228d24 태그와 함께 사용하면 h6 태그와 img 태그를 결합할 수 있어 코드의 의미가 더욱 커집니다.
<figure> <img alt="About image" src="path/to/image"> <figcaption> <h6>This is an image of something interesting. </h6> </figcaption> </figure>
3. d015d241ae6d34c34210679b5204fe85
얼마 전 d015d241ae6d34c34210679b5204fe85 로고. 그러나 HTML5에서는 태그를 재정의하여 의 글꼴 크기를 더 작게 만들었습니다. 웹사이트.
4. Javascript 및 CSS 태그의 유형 속성을 제거했습니다.
일반적으로 유형 속성을 2cdf5bf648cf2f33323966d7f58a7f3f 및 3f1c4e4b6b16bbbd69b2ee476dc4f83a에 추가합니다.
<link rel=stylesheet type=text/css href="path/to/stylesheet.css"> <script type=text/javascript src="path/to/script.js"></script>
HTML5에서는 type 속성이 약간 중복되어 보이기 때문에 더 이상 필요하지 않습니다. 이를 제거하면 코드가 더 간결해집니다.
<link href="path/to/stylesheet.css"> <script src="path/to/script.js"></script>
5. 큰따옴표 사용 여부
좀 헷갈리네요. HTML5는 XTHML이 아니므로 태그에서 큰따옴표를 생략해도 됩니다. . 나는 나를 포함한 대부분의 동지들이 큰따옴표를 추가하는 데 익숙하다고 믿습니다. 왜냐하면 코드를 더 표준적으로 보이게 만들기 때문입니다. 그러나 큰따옴표를 사용할지 여부는 개인 취향에 따라 다릅니다.
<h6 id=someId class=myClass> Start the reactor.</h6>
6. 웹 콘텐츠를 편집 가능하게 만듭니다
<h2>To-D0 List</h2> <ul contenteditable> <li>Break mechanical cab driver</li> <li>Drive to abandoned factory</li> <li>Watc</li> </ul>
7. 이메일 입력 상자
HMTL5에는 입력 내용이 이메일의 쓰기 형식과 일치하는지 여부를 감지할 수 있는 새로운 이메일 속성이 추가되었습니다. 강력합니다. HTML5 이전에는 탐지를 위해 JS에만 의존할 수 있었습니다. 내장된 양식 유효성 검사가 곧 현실화되겠지만, 많은 브라우저는 아직 이 속성을 지원하지 않으며 이를 일반 텍스트 입력 상자로만 처리합니다.
<FORM method=get> <LABEL for=email>Email:</LABEL> <INPUT id=email type=email name=email> <BUTTON type=submit> Submit Form </BUTTON> </FORM>
현재까지 이 속성은 최신 브라우저를 포함하여 지원되지 않으므로 이 속성은 당분간 신뢰할 수 없습니다.
8. 자리 표시자
텍스트 상자의 자리 표시자(이 블로그의 검색 상자 효과 참조)는 이전에 사용자 경험을 개선하는 데 도움이 됩니다. 자리 표시자 효과를 얻으려면 JS를 사용하세요. 자리 표시자 속성 자리 표시자가 HTML5에 추가되었습니다. 이 속성에 대한 자세한 소개를 보려면 여기를 클릭하세요. HTML5 양식 자리 표시자 속성.
<INPUT type=email name=email placeholder="doug@givethesepeopleair.com">
마찬가지로 현재 주류 최신 브라우저는 이 속성을 잘 지원하지 않습니다. 현재 Chrome과 Safari만 이 속성을 지원하고 Firefox와 Opera는 이 속성을 지원하지 않습니다.
9. 로컬 저장소
HTML5의 로컬 저장소 기능을 사용하면 최신 브라우저가 "기억"할 수 있습니다. " 입력한 내용은 브라우저를 닫고 새로 고쳐도 영향을 받지 않습니다. 일부 브라우저에서는 이 기능을 지원하지 않지만 IE8, Safari 4 및 Firefox 3.5에서는 여전히 이 기능을 테스트할 수 있습니다.
10. 더 의미 있는 머리글과 바닥글
다음 코드는 HTML5에 더 이상 존재하지 않습니다
<p id=header> ... </p> <p id=footer> ... </p
일반적으로 머리글과 바닥글에 대해 p를 정의한 다음 ID를 추가하지만 HTML5에서는 1aa9e5d373740b65a0cc8f0a02150c53 및 c37f8231a37e88427e62669260f0074d 태그를 직접 사용할 수 있으므로 위 코드를 다음과 같이 다시 작성할 수 있습니다. >
<HEADER> ... </HEADER> <FOOTER> ... </FOOTER>
要注意不要将这两个标签和网站的头部和页脚混淆起来,它们只是代表它们的容器。
11. IE对HTML5的支持
IE浏览器目前对HTML5的支持并不好,也是阻碍HTML5的更快普及的一大绊脚石,不过,IE9对HTML5的支持度还是很不错的。
IE把HTML5新增的标签都解析成内联元素,而实际上它们是块级元素,所以有必要为它们定义一个样式:
header, footer, article, section, nav, menu, hgroup { display: block; }
尽管如此,IE还是不能解析这些新增的HTML5标签,这个时候就需要借助Javascript来解决这个问题:
document.createElement("article"); document.createElement("footer"); document.createElement("header"); document.createElement("hgroup"); document.createElement("nav"); document.createElement("menu");
你可以借助这一段Javascript代码来修复IE更好的解析HTML5
<SCRIPT mce_src="http://html5shim.googlecode.com/svn/trunk/html5.js"></SCRIPT> _fcksavedurl=""http://html5shim.googlecode.com/svn/trunk/html5.js"></SCRIPT>" _fcksavedurl=""http://html5shim.googlecode.com/svn/trunk/html5.js"></SCRIPT>"
12. 标题群( hgroup)
这个类似于第二点技巧。如果用h1和h2标签分别表示网站的名称和副标题,但这会让两个本义上密切相关的标题并没有关联起来。这个时候可以使用d8eccd9ed644b68a6460a2bb84548c82标签将它们组合起来,这样代码会更有语义。
<HEADER> <HGROUP> <H1> Recall Fan Page </H1> <H2> Only for people who want the memory of a lifetime. </H2> </HGROUP> </HEADER>
13. 必填项属性
前端人员肯定做过不少表单验证的项目,其中很重要的一点就是有些输入框的内容是必须填写的,这里就需要使用Javascript来检查。在 HTML5中,新增了一个“必须填写”的属性:required。required属性有两种使用方法,第二种方法显得更有结构性,而第一种更简洁。
<input type="text" name="someInput" required> <input type="text" name="someInput" required="required">
有了这个属性,使表单的提交验证变得更简单了,看看下面简单的例子:
<from method=post> <label for=someInput> Your Name: </label> <input id=someInput type=text name=someInput placeholder="Douglas Quaid" required="required"> <button type=submit>Go</button> </form>
如果输入框为空,表单将无法提交成功。
14. 自动获取焦点
同样的,HTML5也不再需要Javascript来解决输入框的自动获取焦点,如果某个输入框应当被选择或是获取到输入焦点,HTML5新增了自动获取焦点属性autofocus:
<INPUT type=text name=someInput placeholder="Douglas Quaid" required="required" autofocus="autofocus">
autofocus也同样可以写成”autofocus=autofocus”,这样看起来标准些,这个根据自己的个人喜好而定。
15. 音频播放的支持
HTML5中提供了b97864c2e0ef2353a16c4d64c7734e92标签,解决了以往必须依靠第三方插件才能播放音频文件的问题。目前为止,还只有少数的最新浏览器支持该标签。
<audio controls="controls" autoplay="autoplay"> <source src="file.ogg" _fcksavedurl=""file.ogg"" _fcksavedurl=""file.ogg"" /> <source src="file.mp3" /> <a href="file.mp3">Download this file.</a> </audio>
为什么会有两种格式的音频文件?因为Firefox和Webkit浏览器所支持的格式存在差异,Firefox只能支持.ogg文件,而 Webkit只支持.mp3的文件,解决的办法就是创建两个版本的音频文件,这样就可以兼容Firefox和Webkit的浏览器了,需要注意的是IE不 支持该标签。
16. 视频播放的支持
和b97864c2e0ef2353a16c4d64c7734e92标签一样,HTML5也提供了39000f942b2545a5315c57fa3276f220标签对播放视频文件的支持。YouTube也宣布了一项新的 HTML5的视频嵌入。不过有点遗憾,HTML5的规范并没有指定特定的视频播放器,而是让浏览器自己来决定。这就造成了个浏览器的兼容问题,虽然 Safari和IE9都支持还H.264格式的视频( Flash 播放器可以可以播放),Firefox和Opera则支持开源的Theora和Vorbis格式。因此,当显示HTML5视频的时候,也得准备2种格式。
<video controls preload> <source src="cohagenPhoneCall.ogv" type="video/ogg; codecs='vorbis, theora'" /> <source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" /> <p> Your browser is old. <a href="cohagenPhoneCall.mp4"> Download this video instead. </a> </p> ... </video>
需要注意的是,type属性虽然可以省略掉,但是如果加上的话,浏览器就可以更快的准确的解析该视频文件。并不是所有的浏览器都支持HTML5的视频,所以得做好使用Flash版本来代替,当然,这个决定权在于你。
17. 预加载视频
预加载属性:preload,首先要确定是否需要预先加载视频,假如,访客在访问一个有很多视频展示的页面,那么就有必要预先加载一段视频,这样可 以节省访客的等待时间,提高用户体验。你可以给39000f942b2545a5315c57fa3276f220标签添加一个preload属性来实现预先加载的功能。
<video preload="preload"> ... </video>
18. 显示控件
显示控件属性可以给视频添加一个播放暂停的控件,需要注意的是每个浏览器显示的效果可能会有些差异。
<video controls="controls" preload="preload"> ... </video>
19. 使用正则表达式
在HTML5中,我们可以直接使用正则表达式。
<form method=post action=""> <label for=username>Create a Username: </label> <input id=username type=text name=username placeholder="4 <> 10" required="required" autofocus="autofocus" pattern="[A-Za-z]{4,10}"> <button type=submit>Go </button> </form>
20. 检测浏览器对HTML5属性的支持
由于各浏览器对HTML5属性的支持度不同,这就造成了一些兼容问题。但是可以使用方法来检测该浏览器是否支持这些属性,上例中的代码如果要检测pattern属性是否被浏览器识别,可以使用Javascript代码来检测。
alert( 'pattern' in document.createElement('input') ) // boolean;
其实这是确定浏览器兼容常用的方法,jQuery库就经常使用这种方法。上面的代码中创建了一个input标签,并检测pattern属性是否被浏览器支持,如果能支持的话,浏览器就支持这个功能,否则就不支持。
<script> if (!'pattern' in document.createElement('input') ) { // do client/server side validation } </script>
21. Mark标签
f920514e6447cf1d171079d1371f007f标签用于高亮显示那些需要在视觉上向用户突出其重要性的文字,包裹在此标签里的字符串必须与用户当前的行为相关。
例如,如 果我在一些博客中搜索“Open your Mind” ,我可以使用在f920514e6447cf1d171079d1371f007f标签里使用JavaScript来包裹每一次动作。
<h3> Search Results </h3> <h6> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </h6>
22. 该如何正确的使用p标签
有些人可能会有疑问,有了1aa9e5d373740b65a0cc8f0a02150c53和c37f8231a37e88427e62669260f0074d等这些标签,e388a4556c0f65e1904146cc1a846bee标签在HTML5中还有 用吗?答案是肯定的,比如你想创建一个能包裹特殊内容的容器自由灵活的e388a4556c0f65e1904146cc1a846bee肯定是首选,而你要创建一篇文章或者一个导航菜单,建议你使 用更有语义的23c3de37f2f9ebcb477c4a90aac6fffd和c787b9a589a3ece771e842a6176cf8e9标签。
很多人认为HTML5可能还是很遥远的事,所以直接无视,其实不然,现在很多网站都已经开始使用HTML5了,事实上,HTML5的一些新增属性和功能是让代码变得更简洁,这总归是一件好事,应该值得我们推崇。最后感谢你阅读了这篇HTML5的文章,希望这篇文章对你有一些帮助。
以上就是本章的全部内容,更多相关教程请访问Html5视频教程!