HTML

HTML(HyperText Markup Language)

  1. DOCTYPE
    选择文档类型。
<!DOTYPE html>
  1. divspan 标签没有默认样式

  2. empty element
    在 HTML 中,通常在一个空元素上使用一个闭标签是无效的。在 HTML 中有以下这些空元素:

<area>
<base>
<br>
<col>
<colgroup>
<command>
<embed>
<hr>
<img>
<input>
<keygen>
<link>
<meta>
<param>
<source>
<track>
<wbr>
  1. <base> 指定用于一个文档中包含的所有相对URL的基本URL。一份中只能有一个<base>元素。empty element
    如果指定了多个 <base> 元素,只会使用第一个 href 和 target 值, 其余都会被忽略。
<base href="http://www.example.com/">
<base target="_blank" href="http://www.example.com/">
  1. 可替换元素(replaced element)
    在 CSS 里,可替换元素的展现不是由 CSS 来控制的。这些元素是一类外观渲染独立于 CSS 的外部对象。典型的可替换元素有 <img><object><video> 和表单元素,如 <input><textarea> 。某些元素只在一些特殊情况下才表现为可替换元素,例如 <audio><canvas>

通过 CSS
content属性来插入的对象 被称作 匿名可替换元素(anonymous replaced elements
CSS在某些情况下会对可替换元素做特殊处理,比如计算外边距和一些auto值。
需要注意的是,一部分(并非全部)可替换元素,本身具有尺寸和基线(baseline),会被像vertical-align之类的一些 CSS 属性用到。

  1. HTMLElement.contentEditable属性用于表明元素是否是可编辑的。值:

    true : 表明该元素可以编辑
    false : 表明该元素不可以编辑
    inherit : 表明该元素继承了其父元素的可编辑状态
    

语法

editable = element.contentEditable
element.contentEditable = "true"

  1. <input type='range'> 用于输入不精确值控件。如果未指定相应属性,控件使用如下缺省值:
  • max:0
  • min:100
  • value:min + (max-min)/2,或当 max 小于 min 时使用 min
  • step:1
  1. <meter> 用来显示已知范围的标量值或者分数值。
    属性
  • value:当前值
  • max:最大值
  • min:最小值
  • low:定义了低值区间的上限值。如果设置了,它必须比最小值属性大,并且不能超过high值和最大值。未设置或者比最小值还要小时,其值即为最小值。
  • high:定义了高值区间的下限值。如果设置了,它必须小于最大值,同时必须大于low值和最小值。如果没有设置,或者比最大值还大,其值即为最大值。
  • optimum:这个属性用来指示最优/最佳取值。
    -form:该属性将本元素与对应的form元素关联。
  1. <aside> 元素表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分并且可以被单独的拆分出来而不会使整体受影响。其通常表现为侧边栏或者嵌入内容。

  2. 命令行 whois 可以查看某个域名拥有者的身份。

  3. SVG 是 XML 形式。

  4. iframe HTML内联框架元素表示嵌套的浏览上下文,有效地将另一个HTML页面嵌入到当前页面中。默认高度50px,宽度100px。
    属性

    name ==> 嵌入的浏览上下文(框架)的名称。该名称可以用作*<a>标签*,*<form>标签*的`target`属性值。
    frameborder = 0;清除 iframe 的默认border。
    src ==> 可以写相对路径。src = './index2.html'
    
<iframe src="https://mdn-samples.mozilla.org/snippets/html/iframe-simple-contents.html" title="iframe example 1" width="400" height="300">
  <p>Your browser does not support iframes.</p>
</iframe>
  1. width 可以为 100% ,height 不可以为 100% 。

  2. a 可以创建一个到其他网页、文件、同一页面内的位置、电子邮件地址或任何其他URL的超链接。[ 跳转页面(HTTP GET 请求)[ 会把参数放到查询参数中 ] ]
    属性

    target = '_blank':在新窗口打开
    target = '_self':在自身窗口打开
    target = '_parent':在父窗口打开
    target = '_top':在顶层窗口打开
    download:此属性指示浏览器下载URL而不是导航到URL,因此将提示用户将其保存为本地文件。
    href:`qq.com` 不会跳转到 `qq.com` ,因为 `qq.com` 是相对地址,会跳转到 `/qq.com` 路径。
          `//qq.com` 浏览器默认添加协议,协议为当前文件为什么协议就使用什么协议。
           "" 空,跳转自身,页面刷新,发起请求。
           #xxx 锚点(页面内的跳转)。不会发起请求。当锚点为 空 时,会跳转到顶部。
           ?name=xxx 查询字符串。发起 GET 请求
           javascript:; javascript伪协议( javascrip: alert(1) ,弹出alert 警告框)。javascript:; ==> 点击 a 标签不会做任何事情
    

注意:<a target="xxx" href="xxx"></a> 是在 name 为 xxx 的窗口或者 iframe 打开新页面

  1. 下载文件两种方法:
    a. HTTP 响应:Content-Type: application/octet-stream,浏览器将以下载的形式接收请求。
    b. 如果HTTP 响应:Content-Type: text/html 时,可以使用 dowmload 属性告知浏览器进行下载文件。

  2. 安装 http-servernpm i -g http-server 之后运行 http-server
    使用:http-server -c-1 不要缓存

  3. form 表示了文档中的一个区域,这个区域包含有交互控制元件,用来向web服务器提交信息。[ 跳转页面(HTTP POST 请求 [ 会把参数放到 form data 中 ]) ]
    属性

    action:一个处理这个form信息的程序所在的URL
    method:浏览器使用这种 HTTP 方式来提交 form。值为 POST 或者 GET(不用)
    target:和 a 标签相同
    

form 表单中必须有提交按钮。
提交按钮形式

 <input type= 'submit' value= '提交' >
 <button>提交</button>(条件为:form 表单中只有这一个按钮,且没有写 type ,则 button 会升级为 submit ,若有 type= 'button' ,则 form 表单没有提交按钮。)
  1. input 用于为基于Web的表单创建交互式控件,以便接受来自用户的数据。
    属性:

    type:控件类型的显示。如果这个属性没有指定,默认的类型是 text。
        button:无缺省行为按钮。
        checkbox:复选框。必须使用 value 属性定义此控件被提交时的值。使用 checked 属性指示控件是否被选择。
        radio:单选按钮。必须使用 value 属性定义此控件被提交时的值。使用checked 必须指示控件是否缺省被选择。在同一个”单选按钮组“中,所有单选按钮的 name 属性使用同一个值; 一个单选按钮组中是,同一时间只有一个单选按钮可以被选择。
    disabled:这个布尔属性表示此表单控件不可用。
    name:控件的名称,与表单数据一起提交。
    placeholder:提示用户输入框的作用。仅适用于当type 属性为text, search, tel, url or email时; 否则会被忽略。
    required:这个属性指定用户在提交表单之前必须为该元素填充值。
    value: 控件的初始值. 此属性是可选的,除非type 属性是radio或checkbox.
    

说明:如果 type= 'radio' 或者 type= 'checkbox' 则必须提供 valuevalue 的值将作为 name 的值提交到服务器(<label>性别<input type= 'radio' name='sex' value= 'male'><label> ==> ...&sex=male&...)。

  1. inputlabel的使用
<label for= 'username'>用户名</label>
<input type= 'text' id= 'username' name= 'username' placeholder= '请输入用户名' >

最佳实践

<label>用户名<input type= 'text' name= 'username' placeholder= '请输入用户名'>
  1. button 表示一个可点击的按钮。能够在表单,或者 HTML 文档的任一需要按钮的位置。
    说明:inputbutton 的区别为 input 没有子元素,而 button 可以有子元素。

  2. select 表示一种表单控件,可创建选项菜单。
    属性

    name:控件名称。必须提供,提交表单时 `name` 的值作为参数提交给服务器。
    multiple:这个布尔值的属性标记select是否可以多选. 默认是单选.
    
  3. option 用于定义在 <select><optgroup><datalist> 元素中包含的项。
    属性

    select:如果存在, 则这个布尔属性表明,这个选项初始被选中。
    value:这个属性的内容代表这个选项选中的话,提交给表单的值。如果省略了这个属性,值就从选项元素的文本内容中获取。
    disabled:如果设置了这个布尔属性,选项就不是可选的。
    
  4. <textarea> 表示一个多行纯文本编辑控件。
    属性:

    name:元素的名称。必须提供,提交表单时 `name` 的值作为参数提交给服务器。
    resiz : none:去掉文本域右下角的默认的灰色斜杠。
    cols:文本域的可是宽度。必须为正数,默认为20 (HTML5)。[ 大概估计,推荐使用 CSS ]
    rows:元素的输入文本的行数(显示的高度)。[ 大概估计,推荐使用 CSS ]
    

说明:一般的 <textarea> 宽度高度是可以随意拉动的,但是会造成一些 bug ,所以要用 CSS 固定其大小 style= 'resize: none ; width : 200px ; height : 200px ; '

  1. table 表示表格数据 — 即通过二维数据表表示的信息。
<table border = 1 style= 'border-collapse: collapse'> 
// style= 'border-collapse: collapse'合并边框,中间没有空隙。
  <colgroup>
    <col width = 100>
    <col width = 100>
    <col width = 100>
    <col width = 100>
  </colgroup>
  <thead>
    <tr>
      <th></th><th>数学</th><th>语文</th><th>英语</th>
    <tr>
  </thead>
  <tbody>
    <tr>
      <th>小明</th><td>80</td><td>88</td><td>92</td>
    </tr>
    <tr>
      <th>小王</th><td>90</td><td>88</td><td>95</td>
    </tr>
    <tr>
      <th>小赵</th><td>70</td><td>90</td><td>86</td>
    </tr>
    <tr>
      <th>小李</th><td>99</td><td>76</td><td>80</td>
    </tr>
  </tbody>
  <tfooter>
    <tr>
      <th>总分</th><td>339</td><td>342</td><td>353</td>
    </tr>
    <tr>
      <th>平均分</th><td>84.75</td><td>85.5</td><td>88.25</td>
    </tr>
  </tfooter>
</table>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,753评论 1 92
  • 公司最近人手极度空缺,领导一声令下,让我和另一个 Android 小伙去支援 Java 组开发。秉承着“一块砖”的...
    GinkWang阅读 751评论 0 15
  • HTML、XML、XHTML 有什么区别 HTML,超文本标记语言,是语法较为松散的、不严格的Web语言; XML...
    暂时没有好名字阅读 317评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,656评论 18 139
  • 美好的一天从晨跑开始,阳光不算刺眼。送女儿上学后,陪妈妈沿着秦淮河边跑了一圈。一边跑一边聊天,妈妈这大半辈子...
    自由自在的小鱼阅读 139评论 0 0