zoukankan      html  css  js  c++  java
  • 了解HTML核心精髓(一)

    html部分

    1.html标签

    标签不区分大小写。

    如:<!doctype html>与<!DOCTYPE html >

           <div></div>与<DIV></DIV>

    PS: 建议一律使用小写字母。对于javascript的mvvm框架(vue,react,angularjs)组建标签,会采用大写母开头的标签。

    2.行内元素与块元素

    行内元素:不换行   span, strong, em, br, img , input, label
    块元素:   会换行   div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table

    两者区别:行内元素无法设置height,width,margin,padding。

    3.a标签空链接写法

    <a href="javascript:;" ></a> 

    作用:禁止空链接跳转到顶部。

    4.特殊符号要用字符实体

    如: 空格符号要使用&nbsp;(避免浏览器误认)。

    5.邮件html

       使用table布局。    

       不使用style标签,使用css内联,css内联不要写float、position(尽量少用)。       

       少用图片。              

       页面结尾需要加上“如果您无法查看邮件内容,请点击这里查看”。(再做一个html页面)

    PS:原因是大多数邮件系统有过滤机制(用于识别垃圾邮件),所以不能使用div+css这种模式的邮件网页。

    6.不用添加<noscript>标签

    一般没有不使用js脚本的网站,一般浏览器不会默认禁用js脚本。(一般用户不会手贱设置浏览器禁用js脚本,IE是个特例)

    7.后台页面使用iframe与frameset

    防止SEO后台页面。

    8.响应式iframe

    irame本身不能伸缩,所以要加两个个容器去包裹,再来响应式。

    如:.wrap{width:500px}                                                    /*第一层容器*/

         .wrap-iframe{position:relative;}                                      /* 第二层容器*/

         iframe{position:aboslute;100%;height:100%;}       /*iframe标签*/

         @media (max-500px){.wrap{800px}}

    9.img标签定义高宽

       <img src="image/abc.png" width="20" height="19">  

    PS:定义的作用是为了img标签占位高宽,防止图片没有加载出来的时候影响布局。

         如果有固定宽高的图片就定义高宽(不用css去定义)

         如果没有固定宽高的图片,如瀑布流的图片墙(就不定义高宽)

    补充:如果使用https协议的话,页面加载的资源(如图片,视频等)的url最好改成https协议(采用同源策略),防止浏览器加载不出来。

    10. input类型submit和button区别

    submit会提交表单(form),按回车提交表单。

    button不会提交表单.单纯的按钮功能。可以通过onclick事件触发表单事件。

    html5部分

    1.建议使用的标签

    结构标签

    <article> 标记定义一篇文章

    <header> 标记定义一个页面或一个区域的头部

    <nav> 标记定义导航链接

    <section> 标记定义一个区域

    <aside> 标记定义页面内容部分的侧边栏

    <hgroup> 标记定义文件中一个区块的相关信息

    <figure> 标记定义一组媒体内容以及它们的标题

    <figcaption> 标签定义 figure 元素的标题。

    <footer> 标记定义一个页面或一个区域的底部

    多媒体标签

    <video> 标记定义一个视频

    <audio> 标记定义音频内容

    <source> 标记定义媒体资源

    <canvas> 标记定义图片

    <embed> 标记定义外部的可交互的内容或插件 比如flash

    PS:使用以上常用html5标签,利于网页布局的改变及提升SEO。

    补充:div标签与section标签区别

               div标签表示无意义的块元素。

               section标签表示区块的元素,常用于两处,一是在<article>标签里面包裹区块,二是作为间隔内容区块。

              

    1.html5不使用的标签

    纯表现的元素: basefont,big,center,font, s,strike,tt,u。

    对可用性产生负面影响的元素: frame,frameset,noframes。

    产生混淆的元素: acronym ,applet,isindex,dir。

    已经废弃的元素:keygen

    PS:html5新特性:

           语义化标签,无需指明link的type属性,无需DTD文件,新增html5地理定位,本地存储,拖拽,音视频,图形绘制,表单输入类型API。兼容性提高。

    2.html5离线缓存与浏览器缓存区别

    html5离线缓存可以缓存整个网站,而浏览器的缓存将只存储你实际上已经访问过的网页缓存。

    PS:html5缓存的AppCache(已过时,不推荐使用),建议使用浏览器缓存机制来进行缓存静态资源。

           对于一些用户数据,如一些定位信息,请使用localstorage来存储。   

    4. <time>标签

        作用:利于seo的按时间检索。

    3.html5 web worker与nodejs区别

    web worker浏览器的后台(多线程),nodejs独立的服务端。

    4.html5 vedio标签里面使用MP4格式有声无画面

    转换成H264编码就可以网页正常播放了。

    5.html5 使用data-* 自定义属性

    自定义属性规范化,不要随便自定义属性名字。

    正确写法:<div data-name="waterman"></div>

                  <div name="waterman"></div>

    6.html5微数据

       作用:利于seo优化。

    7.利用data-*来存放数据,避免使用<input type="hidden" name="field_name" value="value"> 

       原因:规范属性,节省空标签。

    PS:IE需要IE 11+以上支持这属性。

    8.使用meta标签中dns-prefetch 提高页面载入速度。

    作用是告诉浏览器页面加载的时候,先解析这些域名,减少页面资源URL的DNS解析。

    如:<link rel="dns-prefetch" href="//img.sroot.com">

    PS:同域无效,跨域有效。

  • 相关阅读:
    centos yum安装报错could not resolve host: mirrorlist.centos.org
    feign拦截器和解码器
    git error:invalid path
    Codeforces Round #689 (Div. 2)
    RSA加解密,Java和C#互通
    C# WinForm遍历窗体控件的3种方法
    vs2019如何自动生成有下划线前缀的字段名?
    C# EF Core 后端代码已定义的用户实体,如何扩展字段?
    SQL Server 查询分析及优化方法
    SQL Server 新增函数大全(各版本)
  • 原文地址:https://www.cnblogs.com/Sroot/p/6830845.html
Copyright © 2011-2022 走看看