html概括

核心

  • 语义

<!DOCTYPE html>

  • 声明文档类型为html5 , 不基于SGML (通用标言) , 不需要DTD 引用 , 但是需要doctype规范浏览器行为(例如不使用怪异模式)
  • html4.01基于SGML , 因此需要DTD (一系列元素定义的规范集合) 引用

注释

  • 条件注释
    • lt lte gt gte !
    • 置于head末或body初
    • 其中可以放<style>,<link>,<script>,甚至任何html元素
    • html5shiv插件用于解决老ie不支持h5标签(当成相应的成块状或行内元素进行显示并可以为html5元素添加样式);
      • abbr header footer article section aside audio bdi canvas data datalist details dialog figcaption figure hgroup main mark meter nav output picture progress summary template time video
    • respond插件用于解决老ie不支持媒体查询
<!--[if lt IE 9]>
    <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

<head></head>

  • 示例模板
  • link来自XHTML , 除了加载css,还能定义RSS,定义rel连接属性等
  • @import url()只能用于引用css
<style>
    @import url()
    @import url()
</style>
  1. 引用的css会在页面加载完后再加载,因此网速慢时可以先把页面显示出来,不会阻断html结构加载
  2. 方便进行模块化开发,可将多个写在某个css里,再用一个link一起引入
@import url()
@import url()
@import url()

路径

  • 相对路径时,js以宿主为基准,css以自身为基准;
  • 绝对路径从根目录开始(盘)

<base href='' target=''>

  • 为页面上的所有链接规定默认地址或默认目标,包括<a>、<img>、<link>、<form>;

<body></body>

<a href=''></a>

  • 无href时等于普通文本,不会变成pointer;
  • target='_blank'在新页面打开;默认为自身'_self';
  • <a></a>间一定要填内容,否则不显示;
  • <a href='url#id'>文本</a>为锚点用法,url可以为网址或文件位置或者干脆不填;
    • ## 或 javascript:void(0),去除隐藏锚点
  • <a href='javascript:fn()'>文本</a>点击执行对应js

;

  • 上标和下标

<abbr title=''></abbr>

  • 表示缩写语义
  • 通常跟title属性

<bdo dir=''></bdo>

  • 双向流覆盖
  • 改变文字方向
  • 属性为 dir='ltr'或'rtl'

列表

  • <ul><li>无序列表
  • <ol><li>有序列表
  • <dl><dt><dd>定义列表

<iframe src=''></iframe>

  • 属性:src frameborder
  • <iframe>若浏览器不支持则显示本句</iframe>

<img src='' alt=''>

  • width='' height='' 效果同css,可仅写数字不写px
  • alt='' 为图片加载失败时的替换文本,且内容利于SEO
  • onerror='this.src="另一url"' 为图片加载失败时的替换图片
  • usemap="#+对应map的id或name" 定义客户端图像映射热区
  • ismap="#+对应map的id或name" 定义服务器端图像映射热区

<map name='' id=''>

  • 此时id和name必须同时存在且相等,为兼容不同浏览器

    <area shape=' ' coords=' ' href=' '/nohref alt=' '>

    • shape可以为rect circ poly,默认为rect
      1. rect='x1,y1,x2,y2'
      2. circ='x,y,r'
      3. poly='x1,y1,x2,y2......xn,yn'
    • 多个area重叠时先到先得,超出边界的坐标会被忽略

</map>

<table></table>

*border='' cellpadding='' frame='' rules=''

  • <tr></tr>表格行
  • <th></th>表头
  • <td></td>单元格
  • more details

<form action='' method=''></form>

  • 自身属性:

    • action
    • method
    • target:_self / _blank(提交时新页面打开方式)
    • ==autocomplete==(仅对有name的表单元素生效,默认为on,用off关闭)
    • ==novalidate==(无值属性,使email等不再验证)
  • 表单元素通用属性:

    • name
    • disabled;
  • input 专用属性:

    • maxlength
    • readonly;
    • ==autocomplete==(仅对有name的表单元素生效,默认为on,用off关闭);
    • ==autofocus==
    • ==form==(值为对应<form>的id,将该input套入该form)
    • ==formaction==(改变action目标)
    • ==formmethod==(改变method方式)
    • ==formnovalidate==(免验证)
    • ==formtarget==(仅对submit按钮生效,覆盖target方式)
    • ==max/min==(数字/日期的范围)
    • ==step==(数字/日期的间隔)
    • ==pattern==(规定输入内容的正则,无则提交时警示)
      • 如pattern=" \d+ "
      • 警示内容即title
    • ==required==(必须有值时才可以提交,无则提交时警示)
    • ==placeholder==(不支持ie9及以下)
  • readonly的元素值可以被get/post提交,通常用于一些替用户固定好的预设值;disabled的元素值无法被提交

  • <input type='reset'>重置

  • <input type='submit' value=''>按钮-提交表单

  • <input type='image' src=''>图片-提交表单

  • <input type='button' value=''>普通

  • <input type='file' ==multiple==>提交文件

  • <input type='hidden'>隐藏

  • <input type='password' value=''>密码(内容会显示成*)

  • ==<input type='color'>自定义拾色器==

  • ==<input type='date'>==

  • ==<input type='month'>==

  • ==<input type='time'>==

  • ==<input type='week'>==

  • ==<input type='number' max='' min='' step='' value=''>数字加上下箭头==

  • ==<input type='range' value=''>滑块==

  • ==<input type='search' value=''>搜索(仅有语义)==

  • ==<input type='url' value=''>submit时不合格时会有警示==

  • ==<input type='email' value=''>submit时不合格时会有警示==

    单/复选框<input type='radio'/checkbox name='' value=''>

  • 选中时为checked或checked='checked';

  • js中判断为if(oInput.checked)或if(oInput.checked==true)

  • js中赋值为oInput.checked=true

  • jQ中判断为if($(ele).is(':checked'))

  • jQ中赋值为(ele).attr("checked","checked")或(ele).attr("checked",true);

  • jQ中有$(":checked")选择器,选中所有checked的单复选框

    <button></button>

    • <button value='名字'>名字</button> value用于兼容浏览器
    1. <button value=''>名字</button>缺省为submit
    2. <button type='submit' value=''>名字</button>
    3. <button type='button' value=''>名字</button>普通
    4. <button type='reset' value=''>名字</button>

    <textarea><textarea>

    • rows=' ' cols=' ' 可见行列
    • 本身没有value属性,初始内部文字可为innerHTML;但一经修改,仅能通过value读取和调用

    <select></select>下拉菜单

    • size=''可见项目数
    • multipe 多选

      <optgroup label=''><optgroup>

      • <optgroup>可有可无,用于对选项分组,不可被选中
      • label用于描述分组
        <option value='用户选了马'>马</option>
        • value为后台接受
        • selected表示已选中
        • jQ中有$(":selected")选择器,选中所有selected的option元素,其余js和jQ类似checked

    <label></label>

    • 使文本点击时,自动将焦点转到对应的表单控件上
    <label>
        用户名:<input type='text'>
    </label>
    * 此时单击'用户名',就会focus到text输入框中
    * 此时不能用for属性,否则失效
    
    <label for='对应id'>男</label>
    <input type='radio' id=''>
    * 此时单击'男',就会使radio控件checked
    

    ==<datalist></datalist>==

<input type='text' list='car'>
<datalist id='car'>
    <option value='宝马'>宝马</option>
    <option value='坏马'>坏马</option>
</datalist>

==<progess></progress>==

  • max
  • value

==<ruby></ruby>==

  • 不支持ruby的浏览器会显示rp中的内容,否则不显示rp
<ruby>
    汗<rp>替</rp><rt> HAN </rt><rp>换</rp>
</ruby>

==多媒体==

  • <audio>替换文本</audio>
  • <video>替换文本</video>
    • src
    • controls
    • autoplay
    • loop
    • muted
    • preload (有autoplay时失效,必然加载)
      • auto(随着页面加载时加载)
      • meta(只加载元数据)
      • none(不加载)
    • poster (video播放前显示的图像)
    • height/width(仅对video有效)
  • <source src=''>
    • 插在audio或video的innerHTML中代替其src;
<audio controls>
<source src="/i/horse.ogg" type="audio/ogg">
<source src="/i/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>

全局属性

  • dir
  • tabindex(由小到大,负数无效,默认为0最后显示)
  • data-*
    • 自定义属性,可用于储存数据
    • 不要包含大写字母
  • visibility: hidden

事件属性

  • <div onclick=' ++content++ '>,等于oDiv.onclick=function(){
    content
    }
    • <div onclick='fn1()'></div>
    • <div onclick='alert(123)'></div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,700评论 1 92
  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 11,026评论 0 106
  • •前端面试题汇总 一、HTML和CSS 21 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? ...
    Simon_s阅读 6,682评论 0 8
  • “我可以站在你身后像影子追着光梦游我可以等在这路口不管你会不会经过。” 让人心疼的陆之昂,他原本那么阳光帅气的大男...
    山山山山有木兮木有枝阅读 3,785评论 0 3
  • 狗是人类的朋友 我不是人 所以 狗不是我的朋友 请你 离开 。
    like_a_dogout阅读 1,301评论 0 0

友情链接更多精彩内容