zoukankan      html  css  js  c++  java
  • 初识HTML

    初识HTML

    <!-- 文档声明,声明当前网页的版本 -->
    <!doctype html>
    <!-- html的根标签(元素),网页中的所有内容都要写在根元素的里面 -->
    <html>
        <!-- head是网页的头部,head中的内容不会在网页直接出现,主要用来帮助浏览器或搜索引擎来解析网页 -->
        <head>
            <!-- meta标签用来设置网页的元数据(自带的最原始的数据),这里meta用来设置网页的字符集,避免乱码问题 -->
            <meta charset="utf-8">
            <!-- title中的内容会显示在浏览器的标题栏,搜索引擎会主要根据title中的内容来判断网页的主要内容 -->
            <title>网页的标题</title>
        </head>
        <!-- boby是html的子元素,表示网页的主体,网页中所有的可见内容都应该写在boby里 -->
        <boby>
            <!-- 网页中的一级标题 -->
            <h1>网页的大标题</h1>
        </boby>
    </html>
    

    meta标签:

    <meta name="keyword" content="网上购物,……">
    <meta name="description" content="京东JD.COM.专业……">
    <title>京东(JD.COM.)正品……</title>
    <meta http-equiv="refresh" content="3;url=https://www.baidu.com">
    <!-- 重定向:3秒之后跳转到百度的页面 -->
    
    image-20200709220730963

    在网页中HTML专门用来负责网页的结构,所以在使用HTML标签时,应该关注的是标签的语义而不是它的样式(即外观,由CSS控制)。

    在页面中独占一行的元素称为块元素(block element):在网页中一般通过块元素来对页面进行布局,如:<h1></h1><p></p>

    <!-- 一起出现的标题可以放在一个标题组中 -->
    <hgroup>
    	<h1>回乡偶书二首</h1>
        <h2>其一 </h2>
    </hgroup>
    
    <!-- blockquote表示一个长引用,会独占一行 -->
    李白说:<blockquote>
        天生我才必有用!
    </blockquote>
    /* 李白说:
            天生我才必有用!*/
    

    注意:<p>元素中不能放任何的块元素。(虽然在浏览中显示没问题,但不符合编码规范)

    </boby>
    </html>
    <h1>
        我就要写在html标签的外部!
    </h1>
    

    浏览器在解析网页时,会自动对网页中不符合规范的内容进行修正。如上述代码中标签写在了根元素的外部p元素中嵌套了块元素等等。

    在页面中不会独占一行的元素称为行内元素(inline element):行内元素主要用来包裹文字。

    <!-- “真”会着重标出表示语音语调的一个加重,但不会换行显示 -->
    <p>
        今天<em>真</em>凉爽
    </p>
    <!-- strong表示强调,字体会加粗 -->
    <p>
        今天真<strong>凉爽</strong>
    </p>
    <!-- q表示一个短引用,不会换行 -->
    子曰<q>学而时习之。</q>
    /*子曰 "学而时习之。" */
    

    header:表示网页的头部。

    main:表示网页的主体部分(一个页面中只会有一个main)

    footer:表示网页的底部。

    nav:表示网页的导航。

    aside:和主体相关的其他内容。

    image-20200710090819993

    article:表示一个独立的文章。

    image-20200710091058973

    section:表示一个独立的区块,上边的标签都不能使用时,可使用section。

    div:没有语义,就用来表示一个区块,可以代替以上所有的标签。

    span:行内元素,没有语义,一般用于在网页中选中文字。

    1、实体符号

    &开始,以;结束;&lt;是小于号;&gt;是大于号;等号=,空格&nbsp

    <boby>
     b&lt;a&gt;c   <!--b < a > c-->    
    <boby>
    
    2、表格

    border边框;px像素 ;大小设置成百分数会随着页面的大小变化而变化(保持占页面的百分比不变)

    cellspacing :设置单元格的间距

    <br/>表示换行;<hr/>表示分割线

    <!--使标题居中-->
    <center><h1>信息表</h1></center>
    <table border="1px" whidth="60%" height="150px" >
        <!--对齐方式-->
    <tr align="center">
    <td></td>
    <td></td>
    </tr>    
        <tr>
            <!--th 比td多的是居中和加粗-->
        <th>员工</th>
        </tr>
    </table>
    

    3、合并单元格

    只能相邻的行、列合并。

    <td rowspan="2"></td>
    <td colspan="2"></td>
    
    image-20200429235127104

    4、为什么出现乱码?

    当编写代码的编辑器用的是ANSI编码,而在代码中写了<meta charset="utf-8">是告诉浏览器用utf-8字符集打开页面,此时代码的编码方式和浏览解析的编码不一样就会出现乱码。

    注意:<meta charset="utf-8">是告诉浏览器采用哪种字符集打开当前页面,不是设置当前页面的字符编码。

    5、标签

    超链接:

    <a href="www.baidu.com" target=" ">百度</a>
    

    href:属性设置连接的地址

    target:属性设置哪个目标进行跳转。target="_self":表示当前页面(默认);target="_blank":表示打开新页面来进行跳转

    <!-- 当我们需要跳转一个服务器内部(项目内部)的页面时,一般我们都会使用相对路径,相对路径以".(也可以是./)"或"..(也可以是../)"开头 。
    ./可以省略不写,默认为写了./
    ./:表示当前文件所在目录。   ../:表示当前文件所在目录的上一级目录。-->
    目录结构:-path
              html1
               -path2
                html2
    <!-- path2在path目录下,以下代码在html2中 -->
    <a href=".html1">超链接</a> <!-- 此时html1和html2不在同一目录path2下无法跳转 -->
    <a href="..html1">超链接</a>  <!-- 访问上一级目录path,此时可以访问 -->
    
    <!-- html1中的代码 -->
    <a href="./path2/html2">超链接</a>  <!-- ./:表示当前path目录。./path2/html2:表示当前path目录中path2目录下的html2 -->
    

    javaSE中的路径表示:

    相对路径:从当前项目开始算

    绝对路径:盘符:/目录/文件名

    web中的路径表示:

    相对路径:

    .:表示当前文件所在的目录

    ..:表示当前文件所在的上一级目录

    文件名:表示当前文件所在目录的文件,相当于“./文件名”

    绝对路径:

    http://ip:port/工程名/资源路径

    回到页面顶部和底部:

    <!-- 回到顶部:写在文章底部 -->
    <a href="#">回到顶部</a>
    <!-- 回到底部:要先给回到顶部的超链接添加一个标识 -->
    <a  id="footer" href="#">回到顶部</a>
    <a href="#footer">去低部</a>
    

    id:唯一不重复,每个标签都可以添加一个 id 属性,在当前页面的不同位置跳转时,只需指定目标位置的 id 属性,然后根据属性跳转。

    <!-- 使用"javascript:;"作为href属性值,此时不会发生跳转  -->
    <a href="javascript:;">这个超链接不会发生跳转</a>
    

    无序列表:

    <ul> <!--unorder list-->
        <li></li>  <!--list item-->
        <li></li>
        <li></li>
    </ul>
    

    有序列表:

    <ol> <!--order list-->
        <li></li>
        <li></li>
        <li></li>
    </ol>
    

    <ul type="none">:去掉序号(有序无序序号)。

    img标签:

    <img src=" " width="宽" height="高" border="边框" alt="当图片找不到时的文本替代 " />
    

    alt:图片的描述,搜索引擎会根据 alt 中的内容来识别图片,如果不写则图片不会被搜索引擎所收录。

    关于修改图片大小的问题:把大图片缩小显示时,实际还是大图片存储在内存中,会浪费内存空间;小图放大会失帧。在PC端尽量裁剪图片,移动端为保证放大不失帧通常会存放大图片。

    图片的格式:

    jpeg(jpg):支持的颜色比较丰富,不支持透明效果和动图。一般用来显示照片

    gif:支持的颜色较少,支持简单的透明和动图。

    png:支持颜色丰富,支持复杂透明,不支持动图。(专为网页而生)

    webp:谷歌推出的专门用来表示网页中图片的格式。具备其他格式所有特点而且文件还小。缺点:兼容性不好。

    base64:将图片使用base64进行编码,这样可以将图片转换为字符,通过字符的形式来引用图片。一般都是一些需要和网页一起加载的图片才会使用base64

    浏览器加载网页时,遇到图片就会再次向服务器发出请求加载图片,会降低页面加载速度。使用base64可以提高加载速度。

    音视频播放

    audio:用来向页面中引入一个外部的音频文件,默认情况下不允许用户自己控制播放和停止。

    • 属性

      controls:是否允许用户控制播放。

      autoplay:音频文件是否自动播放。

      loop:音乐是否循环播放。

    <audio src="./source/audio.mp3" controls autoplay loop></audio>
    

    当浏览器不同时,音频文件的表示后缀不同,导致页面空白没有音频,解决办法:

    <!-- ".ogg"表示苹果的浏览器中的音频文件,通过source指定文件,会从上往下解析代码,当第一个source无效时会解析下一个,都不行时会输出文字 -->
    <audio controls>
      对不起,您的浏览器不支持播放音频,请升级浏览器!
        <source src="./source/audio.mp3">
        <source src="./source/audio.ogg">
    </audio>
    

    当浏览器为 IE8 时会不兼容,导致页面空白没有音频,解决办法:

    <audio controls>
      <!--对不起,您的浏览器不支持播放音频,请升级浏览器!-->
        <source src="./source/audio.mp3">
        <source src="./source/audio.ogg">
        <embed src="./source/audio.mp3" type="audio/mp3" width="" heigh="">
    </audio>
    

    使用embed标签时会自动播放,而且需要指定文件类型type和调整大小。

    video:用来向网页中引入一个视频,使用方式和audio基本是一样的。

    <!-- webm谷歌推出的视频格式 -->
    <video controls>
        <source src="./source/flower.webm">
        <source src="./source/flower.mp4">
        <embed src="./source/flower.mp4" type="video/mp4" width="" heigh="">
    </video>
    

    开发中将音频放在源代码中会一起存放在服务器中,要想用户访问不卡,就必须加大带宽和服务器容量成本较大。

    解决办法:

    1、将音频上传到专门的网站(比如七牛云等)需要购买账户,通过引用的方式来减小服务器方面的成本。

    2、上传到优酷等网站,从网页中的检查元素中获取链接,或者点击分享获取链接。

    <iframe frameborder="0" src="https://v.qq.com/……"> 
         
    </iframe>
    

    iframe标签可以在页面上开辟一个小区域显示一个单独的页面:

    iframe和a 标签组合使用的步骤:

    1、在iframe 标签中使用 name 属性定义一个名称(name="abc")

    2、在 a 标签的 target 属性上设置iframe 的 name 的属性值。若没有target="abc"则无法跳转页面。

    <iframe src="1.标题标签" width="500" height="490" name="abc">
        <ul>
            <li><a href="2.标签语法" target="abc">2.标签语法</a></li>
            <li><a href="3.font标签" target="abc">3.font标签</a></li>
            <li><a href="4.标签语法" target="abc">4.标签语法</a></li>
        </ul>
    </iframe>
    
    image-20200506112729279

    6、表单:

    1、性别选择框(单选):<input type="radio" />

    <form>
        ……
        用户名:<input type="text" value="默认值" />
        性别:<input type="radio" name="sex" checked="checked" />男<input type="radio" name="sex"  />女
    </form>
    

    name:表示 男和女 是在同一组中的,即只能选择一个,不能两个都选。

    checked:标记默认的选择是哪个。

    2、复选框:<input type="checkbox" />

    3、下拉列表:

    <form>
    <select>
        <option>--选择国籍--</option>
        <option selected="selected">中国</option>
    </select>
        </form>
    

    <option selected="selected">中国</option>:默认选中,一般情况下默认选中第一个。

    4、多行文本框

    <form>
        自我评价:<textarea rwos="10" cols="20">默认值</textarea>
    </form>
    

    textarea:表示多行文本输入框。

    rows:设置可以显示几行的高度。

    cols:设置每行可以显示几个字符宽度。

    5、按钮

    <form>
        <input type="reset" value="默认值" /><!--重置按钮-->
          <input type="sumbit"  /><!--提交按钮-->
            <input type="button"  /><!--重置按钮-->
            <input type="file"  /><!--文件上传域-->
            <input type="hidden"  /><!--是隐藏域,不需要用户参与,提交时会发送给服务器-->
    </form>
    

    7、将表单提交给服务器(将表单的样式格式化(加入<table>),使得页面整齐。)

    <form action="http://localhost:8080" method="get">
        <table> 
        ……
      <tr>
            <td>用户名:</td>
          <td> <input type="text" value="默认值"  name="username" /></td>
            </tr> 
            <td>性别:</td>
          <td>
              <input type="radio" name="sex" checked="checked" />男
              <input type="radio" name="sex"  />女
            </td>
            </tr> 
       <tr>
        <td>自我评价:</td>
           <td> <textarea rwos="10" cols="20">默认值</textarea></td>
        </tr>
                </table>
    </form>
    

    form 标签是表单标签:action 属性设置提交的服务器地址。method 属性设置提交方式 GET (默认)或POST。

    GET请求的特点:

    1、浏览器地址栏中的地址是:action属性[+?(连接符)+请求参数]

    ​ 请求参数的格式是:name=value&(连接符)name=value&

    2、不安全:所有信息可以在地址栏上看到。

    3、它有数据长度的限制。(大约是不能超过100多个字符)

    POST请求的特点:

    1、浏览器地址栏只有action属性值(http://localhost:8080)。

    2、相对于GET请求要安全,不会在地址栏显示其他信息。

    3、理论上没有数据长度的限制。

    提交后信息:action=login,是隐藏的信息(input type="hidden")

    image-20200506165322691

    表单提交时,数据没有发给服务器的三种情况:

    1、表单项没有name 属性。

    2、单选、复选(下拉列表中的option 标签)都需要添加value 属性,以便发送给服务器。

    3、表单项不在提交的form 标签中。

    8、div span p 标签的演示

    <!--默认独占一行-->
    <div> 
        div标签1
    </div>
    <div>
        div标签2
    </div>
    <!--它的长度是封装数据的长度-->
    <span>span标签1</span>
    <span>span标签2</span>
    <!--默认会在段落的上方或下方各空出一行来(如果有就不再空)-->
    <p>
        p段落标签1
    </p>
    <p>
        p段落标签2
    </p>
    <p>
        1
    </p>
    
    image-20200506171323642
  • 相关阅读:
    JSP_内置对象_out
    POJ_2186_Popular Cows_强连通分量
    POJ_2411_Mondriaan's Dream_状态压缩dp
    POJ_2115_扩展欧几里德
    HDU_5690_快速幂,同余的性质
    POJ_1061_扩展欧几里德
    HDU_5833_高斯消元
    Delphi 使用 Datasnap 的几种三层应用技术总结
    BIM 开发商 --广州
    Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台
  • 原文地址:https://www.cnblogs.com/gyunf/p/13547703.html
Copyright © 2011-2022 走看看