zoukankan      html  css  js  c++  java
  • s20day12课上笔记

    day12


    前端内容:
    1. HTML
    2. CSS
    3. JavaScript



    学习计划:
    1. HTML + CSS
    2. JavaScript
    3. jQuery和Bootstrap(Vue)




    1. HTML

    C/S --> B/S (基于浏览器做业务)

    FTP: "PUT|sexart.avi|2014" ---> 同理浏览器作为一个客户端和服务端通信也要遵循一个协议(HTTP)

    HTML本质上就是一个规则。


    学习HTML主要学习标签。


    HTML标签的分类:
    1. 块儿级标签 默认独占一行(整个浏览器的宽度) 可以设置长和高
    2. 行内标签(内联标签) 长度由自己的内容来决定的。无法设置长和高

    HTML嵌套的规则:
    1. 块儿级标签可以嵌套行内标签 (div标签可以嵌套div标签)
    2. p标签不能嵌套div标签




    form表单系列:
    注意事项:
    1. form 不是 from
    2. input标签 必须要带一个name属性
    3. 如果form里面有文件提交的话 必须加一个属性:enctype="multipart/form-data", 同时使用post方式提交
    4. 提交按钮必须是 <input type="submit">

    input标签
    1. text
    2. password
    3. submit
    4. radio
    5. checkbox
    6. file

    select下拉框
    1. 普通下拉框
    2. 多选下拉框 multiple
    3. 分组的下拉框 optgroup

    textarea (大段文本)

    form表单示例

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>form表单系列</title>
    </head>
    <body>
    
    <form novalidate autocomplete="off" action="http://127.0.0.1:8000/upload/" method="post" enctype="multipart/form-data">   <!--form属性-->   
        <p>
            <label for="i1">用户名:</label>
            <input id="i1" disabled name="username" type="text">     <!--label与input结合,点这个label,就相当于点这个input--> 
        </p>
        <p>
            密码:
            <input name="password" type="password">
        </p>
        <p>邮箱:
            <input name="email" type="email">
        </p>
        <p>日期:
            <input name="join_date" type="date">
        </p>
        <p>
            <label for="r1"></label>
            <input id="r1" name="gender" type="radio" value="1">
    
            <label><input name="gender" type="radio" value="0">
            </label>
    
            <input checked name="gender" type="radio" value="2">保密     <!--value值是要上传的-->
        </p>
        <p>爱好:
            <input name="hobby" type="checkbox" value="basketball">篮球
            <input name="hobby" type="checkbox" value="football">足球
            <input checked name="hobby" type="checkbox" value="doublecolorball">双色球
        </p>
        
    <!---------------下面是select--------------->    
        
        <p>从哪儿来:
            <select name="addr" multiple> 
                <option value="010">北京</option>
                <option value="021">上海</option>
                <option selected value="0631">威海</option>
            </select>
            
            
            <select name="addr2">
                <!--select分组形式-->
                <optgroup label="北京市">
                    <option value="">朝阳区</option>
                    <option value="">海淀区</option>
                    <option value="">昌平区</option>
                </optgroup>
                <option value="021">上海</option>
                <option value="0631">威海</option>
            </select>
        </p>
        
        <p>上传头像:
            <input name="head_img" type="file">
        </p>
        <p>个人简介:
            <textarea name="memo" cols="30" rows="10">
    
            </textarea>
    
        </p>
        <p>
            <input type="submit" value="提交">
    
            <input type="reset" value="清空">
            <input type="hidden" value="隐藏的按钮">
            <input type="button" value="普通按钮">      <!--不生效-->
            <button>普通按钮</button>                  <!--生效,会和form属性action呼应-->
        </p>
    
        <!--{"username": "alex", "password": "alexdasgabi", "gender": 1, "hobby": ["basketball", "football"]}-->
    </form>
    </body>
    </html>
     


    2. CSS(改变网页的外观效果)


    0. 前提
    如何在HTML文件中使用(引入)CSS?

    三种方式
    1. 直接在标签里通过style属性来定义CSS样式
    2. 在head标签中通过 style来定义
    3. 把样式(CSS)文件单独写在一个.css文件中,然后通过 link标签来与HTML文件建立联系

    CSS语法:
    选择器 {
    样式1:值1;
    样式2:值2;
    ...
    }

    1. 找标签
    CSS选择器

    1. 基本查找
    1. 标签选择器 (改所有/设置默认样式)
    2. ID选择器 (针对某一个特定的标签修改样式)
    3. 类选择器 (根据需求修改某一类标签的样式)

    2. 通用(全选)
    1. *

    3. 组合选择器(HTML标签的层级关系)
    1. 后代选择器 (从x的子子孙孙找y标签)--> x y
    2. 儿子选择器 (x的儿子y标签) --> x>y

    3. 毗邻选择器 (紧挨在x下面的y标签) --> x+y

    4. 弟弟选择器 (下面所有的xx标签) --> x~y

    ↑上面常用

    4. 属性选择器
    更多用于找input[type="text"]

    5. 分组和嵌套
    1. 分组 (减少重复的CSS样式代码) 逗号分隔的两个选择器
    2. 上面的选择器都支持混搭使用

    6. 伪类选择器
    1. div:hover { color: red;}

    7. 伪元素选择器
    1. p:before {} 在内容前面加
    2. p:after {} 在内容后面加

    CSS选择器的优先级:
    0. 继承的优先级最低
    1. 当选择器相同的时候,谁靠近标签谁样式生效
    2. 当选择器不同的时候,我们按照权重计算公式来判断哪个样式生效
    (内联样式1000>ID选择器100>类选择器10>元素选择器1)

    不常用也不推荐使用的 !import

    2. 改样式(CSS属性)

    1. 字体相关
    1. color 修改字体颜色
    2. font-size 字体大小

    2. 文本
    1. color 字体颜色
    2. text-align 对齐方式
    3. text-decoration 文字装饰 (去掉a标签的下划线 text-decoration: none;)

    3. 背景相关属性
    1. background-color
    2. bakground-image
    1. 把很多小图片合并成一张大图片
    2. 鼠标滚动 背景不动(姑娘一直在看着你)

    4. 边框
    1. border: 1px solid red;
    2. 画圆:border-radius=宽/高的一半

    5. display
    1. block 显示成块级标签
    2. inline 显示成行内标签
    3. inline-block 既有块儿标签右有行内标签的特点
    4. none 隐藏

    6. CSS盒子模型
    由内到外:
    1. content 内容
    2. padding 内填充 (用于调整内容和边框之间的距离,撑大标签)
    3. border 边框
    4. margin 外边距 (用于调整标签和标签之间的距离)

    7. float 浮动(失去原来的位置)

    1. left 往左浮
    2. right 往右浮
    3. none 不浮(默认值)

    浮动的规则:
    1. 无论什么标签 一旦浮动就变成了块儿级标签(可以设置宽高)
    2. 浮动的标签总是浮向前一个浮动的标签,如果摆不下就挪到下一行开始

    8. 清除浮动 clear --> 指的是清除浮动带来的负面效果
    1. left 我的左边不能有浮动元素
    2. right 我的右边不能有浮动元素
    3. both 我的两边不能有浮动元素

    最常见应用:
    .clearfix {
    content: "";
    display: "block";
    clear:"both"
    }


    9. 定位
    1. 相对定位 relative (相当于标签原来所在的位置来定位)
    2. 绝对定位 absolute (相对于已经定位过的祖先标签来定位) 失去原来的位置
    3. 固定定位 fixed (固定在屏幕的某个位置) 失去原来的位置


    本周作业:
    1. 把上课的Blog的页面自己独立写一遍
    2. 尝试把小米商城的页面写完
    图片生成的网站:https://dummyimage.com/1200x500/F00/fff.png


    写作业注意:
    1. 把HTMl文件的结构先写出来,分成很多小块。(很重要,帮助理解HTML的结构)
    2. 用CSS依次调整每一块的样式
    3. 不知道用什么标签的时候,块儿级就用div,行内就用span




  • 相关阅读:
    入门命令13-字符串查找增强:findstr
    NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
    docker: "build" requires 1 argument. See 'docker build --help'.
    Mac 下 docker安装
    eclipse导入maven web 项目 但是不显示成web 项目
    @QueryParam和@PathParam比较
    JVM--详解类加载机制
    JVM--Class类文件结构
    mysql left join中where和on条件的区别
    JAVA线程锁---Synchronized
  • 原文地址:https://www.cnblogs.com/shangdelu/p/8544198.html
Copyright © 2011-2022 走看看