zoukankan      html  css  js  c++  java
  • 初始前端

    初始前端

    一、夺命三问

    • 理论知识
    一、什么是前端?
        任何与用户直接打交道的界面都可以称之为是一个前端
        比如:
            - 电脑显示界面
            - 手机界面
            - iPad
    
    二、为什么要学前端?
        技多不压身
    
    软件开发架构
        cs
        bs(bs本质就是cs)
    
    web服务的本质
        浏览器窗口输入一个网址然后敲回车键发生了那些事
            1、朝着指定的服务端发送请求
            2、服务端接收相应的请求
            3、服务端返回相应的响应
            4、浏览器接收响应 按照特定的规则渲染页面展示给用户看
    
    

    二、HTTP协议

    • 四大特性
        1、四大特性
            1、基于请求响应
                一次请求对应一次响应
            2、基于TCP/IP作用于应用层之上的协议
            3、无状态
                不保留客户端的状态
                无论你来多少次 我都待你如初见
                cookie session token...
            4、无连接
                长连接  websocket(类似于http协议的大补丁)  比如:聊天室相关
    
    
    • 数据格式
                请求格式
                    请求首行(请求方式,协议版本)
                    请求头(一大推k,v键值对)
    
                    请求方式:
                        1、get请求
                            朝服务端要资源(获取数据)
                            类似于浏览器窗口输入www.baidu.com获取百度首页
    
                        2、post请求
                            朝服务端提交数据(提交数据)
                            类似于登录注册功能
    
                    请求体(携带的数据 并不是一直都有 有时候可能是空的 取决于你的请求方式)
    
                响应格式
                    响应首行
                    响应头(一大推k,v键值对)
    
                    响应体(浏览器展示给用户看的数据)
    
    • 响应状态码
            用数字来表示一大推展示信息
            1XX:服务端已经成功接收到客户端的数据正在处理 你也可以继续提交
            2xx:200请求成功 服务端已经返回了你想要的数据
            3xx:重定向(原本想访问A, 但是内部自动给你传到了转到B上面)
            4xx:404请求资源不存在,403资源存在但是当前你不具备请求该资源的条件
            5xx:500服务端内部错误 可能机房着火了,也可能机房死机了, 或爆炸了
            公司内部可以自己定制自己的响应状态码
    
    

    三、HTML

    • 超文本标记语言
    在学习HTML的时候 你只需要记住每一个标签是什么意思就可以了
    
        如果你想让你的页面能够被浏览器识别并且展示出好看的样子 你就必须要写HTML代码
        浏览器能够识别的语言非常少
        HTML/XML css  js
        扩展知识点:XML也可以书写前端页面  主要用于odoo框架中  书写企业内部管理软软件(ERP)
    
    
    • html注释
        HTML注释
            注释是代码之母
            单行注释:<!--单行-->
            多行注释:<!--
                    多行注释1
                    多行注释2
                    -->
    
            补充:由于HTML页面结构比较复杂 内容比较多 不便于后期的维护 修改
            通常在写页面的时候 习惯于 用下面的方式来人为的 划分代码区域
            <!--顶部导航样式开始-->
    
            <!--顶部导航样式结束-->
            <!--左侧导航样式开始-->
    
            <!--左侧导航样式开始-->
    
        HTML文档结构
            <html>
                <head></head>: head内放的内容不是给用户看的,是给浏览器去识别相应操作的
                <body></body>:body内存放的内容就是浏览器展示给用户看到的花里胡哨的页面
            </html>
    
            HTML文档打开方式
                1、pycharm自动调用浏览器打开(推荐)
                2、手动查找路径之后选择浏览器打开
    
            标签的分类1:
                1、双标签
                2、自闭和标签
    
    • 第一个HTML代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>亚洲最大的xxx网站</title>
        <meta http-equiv="refresh" content="5;URL=https://www.oldboyedu.com">
    </head>
    <body>
    <h1>
        hello big big baby~
    </h1>
    <a href="https://www.mzitu.com">click me</a>
    <img src="https://i.meizitu.net/thumbs/2019/12/216914_23b13_236.jpg" alt="">
    </body>
    </html>
    

    四、head内常用的标签

    • 常用标签
                title:定义网页标题
                style:内部支持直接写css代码
                link:引入外部的css文件
                script:
                    1、内部可以直接编写js
                    2、可以通过src属性引用外部js代码
                meta:
                    name属性
                        keywords
                        description
    
            什么是URL?
                URL:统一资源定位符
    
    

    五、body内常用标签

    • 常用标签
                你所看到的花里胡哨的页面 其实内部都是HTML代码 很丑很乱
    
                基本标签
                    h1~h6:标题标签
                    s:删除线
                    b:加粗
                    u:下划线
                    i:斜体
                    p:独占一行
                    br:换行
                    hr:分隔符
    
                特殊符号
                    &nbsp;   空格
                    <h1>001</h1>  # 1级标题
                    <h2>002</h2>  # 2级标题
                    <h3>003</h3>  # 3级标题
                    <h4>004</h4>  # 4级标题
                    <h5>005</h5>  # 5级标题
                    <h6>006</h6>  # 6级标题
                    我是普通文本
    
    
                    <s>我是s</s>  # s删除线
                    <u>我是u</u>  # u下划线
                    <b>我是b</b>  # b 加粗
                    <i>我是i</i>  # i 斜体
    
                    <p>天生我才必有用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;莫使金樽空对月</p>  #&nbsp; 空格符一个代表空一格
                    <br> # 换行符
                    <p>天生我才必有用 莫使金樽空对月</p>
                    <hr> # 分隔符
                    <p>天生我才必有用 莫使金樽空对月</p>
                    <p>天生我才必有用 莫使金樽空对月</p>
    
    
    
                    <p>a 大于 b    a &gt; b</p>   # a > b
                    <p>a 小于 b    a &lt; b</p>   # a < b
                    <p>a&b        a &amp; b</p>   # a 交 b
                    <p>人民币   &yen; 1000000000</p>    # ¥
                    <p>版权标识   &copy;</p>
                    <p>注册商标    &reg;</p>
    
    
                常用标签
                    div 块儿级标签
                    span 行内标签
                    注:这两个标签本身没有任何特殊意义,但是这两个标签确实用的最多的 因为这两个标签是用来做前期的页面布局的
    
                    img 图片标签
                        src
                            1、可以写一个网站图片地址
                            2、还可以写本地的图片地址
                            3、url(自动朝该url发送get请求要数据)
    
                        alt
                            当图片加载不出来的时候 默认展示的提示信息
    
                        title
                            当鼠标悬浮在图片上的时候 展示的提示信息
    
                        width,height
                            修改一个 另一个会自动等比例缩放
                            若两个都修改图片就会失真
    
                    a 链接标签
                        href
                            1、放一个url
                                点击就会跳到该url所对应的资源
    
                        target
                            控制是否在当前页跳转
                                默认是在当前页跳转
                                    _self
    
                                新建页跳转
                                    _blank
    
                        锚点功能
                            href不单单是可以写url 也可以写另外一个a标签的id值
                            点击就会跳转到该id值所对应的a标签所在的位置
    
                标签应该具备的属性
                    1、id属性:类似于身份证号 用来唯一标识当前HTML页面的某一个标签
                        在同一个HTML页面中 id值不能重复
    
                    2、class属性:类似于面向对象的继承
                        直接引用别的类的方式
    



    • body类常用标签
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>001</h1>  # 1级标题
    <h2>002</h2>  # 2级标题
    <h3>003</h3>  # 3级标题
    <h4>004</h4>  # 4级标题
    <h5>005</h5>  # 5级标题
    <h6>006</h6>  # 6级标题
    我是普通文本
    
    <s>我是s</s>  # s删除线
    <u>我是u</u>  # u下划线
    <b>我是b</b>  # b 加粗
    <i>我是i</i>  # i 斜体
    
    <p>天生我才必有用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;莫使金樽空对月</p>  #&nbsp; 空格符一个代表空一格
    <br> # 换行符
    <p>天生我才必有用 莫使金樽空对月</p>
    <hr> # 分隔符
    <p>天生我才必有用 莫使金樽空对月</p>
    <p>天生我才必有用 莫使金樽空对月</p>
    
    <p>a 大于 b    a &gt; b</p>   # a > b
    <p>a 小于 b    a &lt; b</p>   # a < b
    <p>a&b        a &amp; b</p>   # a 交 b
    <p>人民币   &yen; 1000000000</p>    # ¥
    <p>版权标识   &copy;</p>
    <p>注册商标    &reg;</p>
    </body>
    </html>
    
    • 常用标签1
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div>
        <div>
            <div>
                <p>
                    <a href=""></a>
                    <s></s>
                </p>
            </div>
        </div>
    </div>
    <p>
        我是p
        <a href="">alshfkaak</a>
    </p>
    <a href="">111
        <a href=""></a>
    </a>
    </body>
    </html>
    
    • 常用标签2
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <img src="https://i.meizitu.net/thumbs/2019/12/201498_05a05_236.jpg" alt="这是一张美女图片" width="150px">
    <img src="download.jpg" alt="这是个葫芦娃专门收妖精" width="200px">
    <a href="https://www.mzitu.com/" target="_self" id="" class="">点我有你好看的哦</a>
    <a href="https://www.mzitu.com/" target="_blank">点我有你好看的哦</a>
    <a href="" id="d1">页首</a>
    <div style="height: 150px;background-color: red"></div>
    <a href="" id="d2">中间</a>
    <div style="height: 150px;background-color: green"></div>
    <a href="#d1">回到顶部</a>  # 点击可以回到页首
    <a href="#d2">回到中间</a>  # 点击可以回到中间
    
    </body>
    </html>
    


    六、列表标签

    • 列表标签
                    无序列表(较多)
                        ul
                            li
                            只要页面上出现了比较有规则排列的文本 基本上都可以用无序列表来实现
    
                    有序列表
                        ol
                            li
    
                    标题列表
                        dl
                            dt标题
                            dd内容
    
    • 列表标签
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p>无序列表</p>
    <ul>
        <li>111</li>
        <li>222</li>
        <li>333</li>
    </ul>
    <p>有序列表</p>
    <ol type="1">
        <li>哈哈哈</li>
        <li>呵呵呵</li>
        <li>嘿嘿嘿</li>
    </ol>
    <p>标题列表</p>
    <dl>
        <dt>标题1</dt>
        <dd>内容1</dd>
        <dd>内容2</dd>
        <dt>标题2</dt>
        <dd>内容1</dd>
        <dd>内容2</dd>
        <dt>标题3</dt>
        <dd>内容1</dd>
        <dd>内容2</dd>
        <dd>内容3</dd>
    </dl>
    </body>
    </html>
    



    七、表格标签

    • 演示
      展示网站数据的时候 一盘情况下可以使用表格标签
                <table>
                    <thead>
                        <tr>
                            <th></th>
                        <tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td></td>
                        <tr>
                    </tbody>
                </table>
    
                先写表格标签  在写结构 然后写数据
    
                一个str 就是一行
                th和td的区别
                一个加粗 一个不加粗
                通常情况下表头用th 表单内容用td
    
    
    • 表格标签
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <table border="5">  # 设置边框的尺寸
        <thead>
            <tr>  # 一个tr就是一行
                <th>用户名</th>  # 表头用th加粗
                <th>年龄</th>
                <th>爱好</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>yafeng</td>  # 表内容用td不加粗
                <td>18</td>
                <td>study</td>
            </tr>
            <tr>
                <td rowspan="2">Jason</td>  # rowspan行宽为2,所以总共就2行
                <td>73</td>
                <td colspan="2">DBJ</td>
            </tr>
            <tr>
                <td>tank</td>
                <td>84</td>
                <td>piao</td>
            </tr>
    
        </tbody>
    </table>
    </body>
    </html>
    


    八、表单标签

    • 演示
      form标签
                获取用户输入(输入 选择 上传文件....)并且将数据打包发送给后端
                action参数:
                    用来控制数据提交的路径(到底是哪个后端服务器提交数据)
                    三种写法:
                        1、不写 默认就是朝着当前页面所在的地址提交数据
                        2、全路径比如(http://www.baidu.com)
                        3、只写路径后缀(/index/)
    
                获取用户输入的 input标签 该标签是一个行内标签
    
                input类似于前端的变形金刚
                    type属性
                        text 普通文本
                        password 密文
                        date 日期
                        radio 多选一
                        checkbox 多选多
                            默认选种  checked="checked"
                            当标签的属性名和属性值相同的时候 可以只写属性名
                            女<input type="radio" name="gender" checked="checked">
                            简写
                            女<input type="radio" name="gender" checked>
                        reset 重置
                        button 普通按钮
                        submit 触发form表单提交动作
                        file 获取文件
    
                select标签 下拉框
                    一个个选项就是一个个option标签
                    默认是单选的
                    可以加一个multiple该成多选
                        <select name="" id="" multiple>
                            <option value="" selected="selected">新恒结衣</option>
                            <option value="">三上悠亚</option>
                            <option value="" selected>三上悠亚</option>
                            <option value="">波老师</option>
                            <option value="">苍老师</option>
                        </select>
                    如何让option标签默认选中
                        加selected="selected"也可简写selected
                        <select name="" id="" multiple>
                            <option value="" selected="selected">新恒结衣</option>
                            <option value="">三上悠亚</option>
                            <option value="" selected>三上悠亚</option>
                            <option value="">波老师</option>
                            <option value="">苍老师</option>
                        </select>
    
                textarea标签 获取大段文本
    
                label 通常是配合input一起使用的
                    for用来填写对应的input标签id值
                    点击label标签的内容 会自动让对应的input标签聚焦
    
                    能耐触发form表单提交数据的按钮
                        <input type='submit'>
                            可以通过value属性来指定按钮文本内容
                            <input type='submit' value='注册'>
    
                        <button>点我</button>
    
                    input获取到的用户输入就类似于是字典中的value
                    input中的name属性就类似于是字典中的key
    
    
    • form表单
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p>注册功能</p>
    <form action="">
        <p>
            <label for="d1">用户名:<input type="text" id="d1" name="username"></label>
        </p>
        <p>密码:<input type="password" name="password"></p>
        <p>生日:<input type="date"></p>
        <p>性别:
            男<input type="radio" name="gender" checked>
            女<input type="radio" name="gender">  # radio多选一
            其他<input type="radio" name="gender">
        </p>
        <p>爱好:
            篮球<input type="checkbox" name="hobby" checked>
            足球<input type="checkbox" name="hobby">    # checkbox多选多
            双色球<input type="checkbox" name="hobby">
            肉球<input type="checkbox" name="hobby" checked>
        </p>
        <p>省份:
            <select name="province" id="">
                <option value="">北京</option>
                <option value="">上海</option>
                <option value="">深圳</option>
            </select>
        </p>
        <p>前女友:
            <select name="" id="" multiple>  # multiple多选
                <option value="" selected="selected">新恒结衣</option>
                <option value="">三上悠亚</option>
                <option value="" selected>三上悠亚</option>  #社默认值
                <option value="">波老师</option>
                <option value="">苍老师</option>
            </select>
        </p>
        <p>个人简介:
            <textarea name="" id="" cols="30" rows="10"></textarea>
        </p>
        <p>个人简历:
            <input type="file">
        </p>
        
        <p>
            <input type="submit" value="注册">
            <input type="reset" value="重置">
            <input type="button" value="按钮">
            <button>点我</button>
        </p>
    </form>
    </body>
    </html>
    

    九、标签的分类2

    • 演示
    	标签的分类2
    		1.块儿级标签
    			独占一行  h1~h6  p   br   hr   div
    
    			1.块儿级标签内部可以嵌套任意的块儿级标签和行内标签
    			2.特列:p虽然是块儿级标签 但是它的内部只能嵌套行内标签 不能嵌套块儿级标签
    				如果嵌套了 没有问题 知识不符合html语法规范
    
    		2.行内标签    u  s  i  b  span
    			自身文本多大 就占多大
    			行内标签内部不能嵌套块儿级标签和行内标签
    
    	书写标签的时候 你只需要写标签的名字 之后tab键就可以自动补全
    		emmet插件
    
    Only you can control your future You're not alone. You still have family,peopel who care for you and want to save you.
  • 相关阅读:
    【数据结构】平衡二叉树之AVL树
    【数据结构】二叉排序树BST
    【数据结构】二叉树
    【算法】堆排序
    【数据结构】堆
    第五百八十一天 how can I 坚持
    第五百八十天 how can I 坚持
    第五百七十八、九天 how can I 坚持
    第五百七十七天 how can I 坚持
    第五百七十五、六天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/yafeng666/p/12099518.html
Copyright © 2011-2022 走看看