zoukankan      html  css  js  c++  java
  • HTML 结构

     pre:来自书《Pro Html5 and Css3 Design Patterns 》的第2章 HTML Design Patterns, 不敢称为“设计模式”,尝试着用“结构”这个轻一些的词吧。

    HTML结构

    Container Contents
    <html> <head> <body>
        <head> <title> & (<meta> | <link> | <object> | <script> | <style> | <base> )
      <body> <noscript> <div>
        <noscript> inline | block
        <article> inline | block
        <section> inline | block
        <nav> inline | block
        <div> inline | block
          <h1> inline
          <p> inline
          <ol> or <ul> <li>
            <li> inline | block
          <dl> <dt> <dd>
            <dt> inline
            <dd> inline | block
          <table> <caption> <colgroup> <thead> <tfoot> <tbody>
            <caption> inline
            <colgroup> <col>
              <col> null
            <thead> <tr>
            <tfoot> <tr>
            <tbody> <tr>
              <tr> <th> <td>
                <th> inline | block
                <td> inline | block
          <form> inline | block (excluding <form>)
          <fieldset> inline | block (excluding <form>)
            <label> inline (excluding <label>)
            <input> null
            <textarea> text
            <select> <optgroup> | <option>
              <optgroup> <option>
                <option> text
            <button> inline | block (excluding <a>, <form>, controls)
          <address> inline
    <a> inline (excluding <a>)
    <img> null
    <canvas> null
    <audio> null
    <video> null
    <map> <area>
      <area>  null
    <object> <param> | inline | block
      <param> null
    <br> null
    null

    没有内容,简单的用闭合标签 (e.g., <br />)

    text 文本
    block 包括以下三种块元素
      structural block <ol> <ul> <dl> <table> <tr> <thead> <tfoot> <tbody> <colgroup> <col>
      multi-purpose block <div> <li> <dd> <td> <th> <form> <noscript>
      terminal block <h1> <p> <dt> <caption> <address> <blockquote>
    inline 包括一下三种主要的和六种次要的行内元素
      inline-semantic  
        importance <span> <em> <strong>
        phrase <a> <cite> <code> <kbd> <samp> <var>
        word <abbr> <dfn> <cite>
        char <sub> <sup>
      inline-flow <br> <bdo>
      inline-block  
        replaced <img> <object> <embed> <iframe> <audio> <video> <canvas> <svg>
        controls

    <input> <textarea> <select> <button> <label> <video> (with controls
    attribute present)

     


    HTML结构

    HTML把元素组织成三个类别:结构元素、块元素、行内元素

    HTML的核心结构
    <!DOCTYPE DOCUMENT_TYPE_DEFINITION_USED_FOR_VALIDATION >
    <html>
      <head> METADATA </head>
      <body> CONTENT </body>
    </html>


    XHTML

    • HTML(HTML5)是大多数作者建议的格式
    • XHTML(XHTML5)是一种XML的应用

    一个XHTML5页面本质上就是一个简单的HTML5页面包含<!DOCTYPE html>的HTML文档类型声明。


    DOCTYPE

    HTML5的<!DOCTYPE> 是 <!DOCTYPE html>,使用它的好处是现在所有的浏览器(IE, FF, Opera, Safari)都支持它,并转换到标准模式,不管浏览器本身有没有实现对HTML5的支持。


    Header Elements头元素

    • 涉及 <head>中的<link>, <style>, <title>, <meta>, <base> 这些元素<script>
    • link中的media属性:media 属性可以用来指定CSS用于的设备,all-->所有设备; print-->只是打印设备(比如,去掉背景色,恢复成白底黑字,去掉导航等等);handheld-->手持设备(移动设备)

    例如:

    <head>
    <base href="http://www.example.com/">
      <link rel="stylesheet" href="FILE.CSS" media="ALL_PRINT_HANDHELD" type="text/css" />
      <link rel="alternate stylesheet" type="text/css" title="NAME_TO_SHOW_USER" href="FILE.css" />
      <style type="text/css" media="all"> STYLES </style>
    </head>


    Conditional Style Sheet条件 样式

    • 条件样式一般写在最后,所以能覆盖前面的样式
    • 条件样式只对IE浏览器适用
    • 条件样式lte--->less than or equals(<=);lt--->less than(<);gt---->greater than(>);gte---->greater than or equals(>=)

    例如:

    <!--[if lte IE 6]>
    <link rel="stylesheet" href="ie6.css" media="all" type="text/css" />
    <![endif]-->
    <!--[if gt IE 6]>
    <link rel="stylesheet" href="ie.css" media="all" type="text/css" />
    <![endif]-->


    Structural Block Elements 结构块元素

    • 主要有四种结构元素<ol>,<ul>,<dl>,<table>,它们有结构信息,但是基本没有语义信息
    • <ol>创建有序列表,包括一个或多个<li>列表
    • <ul>创建无序列表,包括一个或多个<li>列表
    • <dl>创建定义列表,包括一个或多个<dt>,一个或多个<dd>
    • <table>创建表格,包括行<tr>和行中的元细胞(<th>和<td>);也可以选择性的包括行组:一个表头<thead>,一个表尾<tfoot>,一个或多个表体<tbody>;可以选择性的包含一个或多个列组<colgroup>,<colgroup>包含一个或多个<col>
    • <div>多用途的块元素
    • <article>代表页面中独立的可重复使用的部分。比如杂志或者新闻的一个文章,博客的一个条目等。
    • <section>代表内容的专题部分,通常有标题。例子有章节、论文的不同部分。一个网站的主页可以分为几个sections比如,介绍部分、新闻部分和联系人信息部分。
    • <nav>导航部分

    Terminal Block Elements终止块元素

    • <h1>, <h2>, <h3>, <h4>, <h5>, 和 <h6>创建不同大小的标题
    • <p> 创建段落
    • <blockquote> 创建引用
    • <dt>创建一个定义项
    • <address> 创建一个文本本身的联系人记录。HTML规范允许包含任何类型的内容,如街道地址,e-mail地址,电话号码等。
    • <caption> 创建一个表格标题

    Multi-purpose Block Elements多用途块元素

    • <div>
    • <li>
    • <dd>
    • <td>和<th>
    • <form>
    • <noscript>当浏览器不支持脚本时,浏览器显示其中的部分。可能包含简单的内嵌内容,或者包含一个全结构化的内容。

    Inline Elements内联元素

    • 重要的有<span><em><strong>
    • 流控制<br />
    • 替代元素<img><object>
    • 控件<input>, <textarea>,<select>, 和 <button>

    Class and ID Attributes (Class和ID属性)

    • 一个属性内部中不能有空格,用“_”或者“-”来连接前后两部分
    • 多个属性之间用空格
    • class和id名称都应该有语义信息

    HTML Whitespace(HTML空格)

    HTML提供了5种不同宽度的space实体。它们都不是空白!&nbsp;在所有的浏览器中都有一个正常的space;其他的几种spaces(&zwnj;, &thinsp;, &ensp;, and &emsp;)在不同的浏览器中表现不同。

  • 相关阅读:
    那些离不开的 Chrome 扩展插件
    Spring Boot 实战 —— 入门
    Maven 学习笔记
    Linux lvm 分区知识笔记
    Linux 双向 SSH 免密登录
    CentOS Yum 源搭建
    Ubuntu 系统学习
    iOS 测试三方 KIF 的那些事
    Swift 网络请求数据与解析
    iOS Plist 文件的 增 删 改
  • 原文地址:https://www.cnblogs.com/lilyimage/p/2333262.html
Copyright © 2011-2022 走看看