咔斯Sama
文章32
标签14
分类6
web学习笔记1 - html基础

web学习笔记1 - html基础

html基础 自学总结
封面画师:唏嘘的星辰 p站ID:13312138

前端技术概括:

  1. HTML/CSS
  2. JavaScript
  3. 各种脚本库,如:jQuery
  4. Node.js
  5. 各种框架,如:Vue, React, 小程序、uniapp

web应用开发流程(仅作了解)

  1. 合理安排人员(项目经理,产品经理、UI设计师(美工),后端,前端,测试人员)
  2. 沟通了解需求(角色一般是产品经理或项目经理,主要了解做什么,谁做,何时做,为什么做的问题)
  3. 需求分析(角色一般是项目经理,解决怎样做,成本工期效率等问题)
  4. 项目设计(角色一般是UI设计师和后端,UI设计师进行界面设计,后端进行数据库设计)
  5. 项目开发(使用各种工具开始动手编码)
  6. 项目测试(测试人员使用各种测试工具测试代码,发现BUG,提交给开发人员)
  7. 运行维护(开发人员根据测试结果,维护代码,真至项目完美)

详细文档:
https://www.cnblogs.com/ceshi2016/p/9212749.html

浏览器从输入URL到渲染完页面过程:

  1. DNS解析URL的过程

    把IP地址解析成容易记忆的域名。
    如:220.181.38.150 -> www.baidu.com
  2. 浏览器与服务器交互过程

    浏览器通过三次握手和服务器进行交互
  3. 浏览器页面渲染过程

    当html被加载到浏览器中,解析html构建dom tree,通过link解析css,构建render tree。把这俩个组合在一起,渲染出看到的页面

参考文档:
https://www.cnblogs.com/qing-5/p/11126524.html

语义化标签:

html5建议程序员多去使用语义化标签,有助于seo搜索引擎进行搜索,但是目前语义花标签不太普及

  1. 语义化标签:

    • main 内容区域
    • address 地址
    • footer 页尾
    • video 视频
    • audio 音频
    • strong 加粗
    • b 加粗
    • i 倾斜
    • del 删除
    • sub 下标
    • sup 上标
  2. 语义化标签的作用:

    <b>加粗</b>
    <i>倾斜</i>
    <span style="text-decoration: line-through;">我是使用css实现的删除线!</span>
    <del>语义化删除线</del>

    加粗
    倾斜
    我是使用css实现的删除线!
    语义化删除线


  3. 锚点 a进行页面内的跳转
    a实现页面内的跳转 通过a标签的href的属性设置对应的元素id,可以把对应的元素的显示页面上边
    点我回到语义化标签

    <a href="#语义化标签:">点我回到<b style="color: #000">语义化标签</b>!</a>

From表单

form 表单 action属性:提交数据的目标一般是接口地址
mehtod:提交的方式:get:获取服务器数据,post:提交数据到服务器。
目前暂且作为了解

  • for属性 点击用户名 输入框获取焦点
    autocomplete on 开启自动填充账号 ,off关闭
    maxlength 输入最大长度
    minlength 输入最小长度
    name 会把name属性的内容提交到服务器,格式位 username=xxxx,passwd=xxxx
    <label for="i1">用户名</label>
    <input type="text" placeholder="请输入用户名" id="i1" autocomplete="on"  maxlength="9" minlength="1" name="username">
    <label for="i2">密码</label>
    <input type="password" placeholder="请输入密码" id="i2" autocomplete="on"  maxlength="9" minlength="1" name="password">

From表单内部常用元素

  • 多选 name属性证明多选是一组

    <input type="checkbox" name="n1"> 打篮球
    <input type="checkbox" name="n1"> 敲代码
    <input type="checkbox" name="n1"> 写代码

    打篮球
    敲代码
    写代码

  • 下拉菜单 美化select value属性可以省掉,默认值值option的内容

    <select name="n2" id="">
      <option>河南</option>
      <option>河北</option>
      <option>山西</option>
    </select>
  • optgroup 分组 label分组名

    <select name="n3" id="">
    <optgroup label="河南">
        <option value="1">郑州</option>
        <option value="2">开封</option>
        <option value="3">洛阳</option>
    </optgroup>
    <optgroup label="河北">
        <option>唐山</option>
        <option >北京</option>
        <option >天津</option>
    </optgroup>
    </select>
  • 单选框 name属性代表 相同name是一个小组,用在多选或者单选

    <input type="radio"  name="sex"><input type="radio"  name="sex">


  • 普通按钮没有提交功能 页面不会刷新

    <input type="button" value="按钮">
  • 提交按钮默认有提交功能 点击提交按钮页面会刷新

    <input type="submit" value="提交按钮"> 提交到服务器

    提交到服务器

  • 重置按钮 把输入框的输入内容清空掉

    <input type="reset" value="重置按钮">
  • disabled 禁止标签可用

    <button disabled>普通按钮</button>

  • 提交按钮

    <button type="submit">提交按钮</button>

  • 重置按钮

    <button type="reset">重置按钮</button>

表格

  • table 表格 (一般使用在后台管理系统项目类型上 建议大家尽量不要使用table)
    tr 代表 行
    td 代表 单元格

    <table>
      <tr>
        <!-- colspan 合并列 -->
        <!-- rowspan 合并行 -->
        <td rowspan="3">第1项</td>
        <td>第2项</td>
        <td rowspan="2">第3项</td>
      </tr>
      <tr>
        <!-- <td>第1项</td> -->
        <td>第2项</td>
        <!-- <td>第3项</td> -->
      </tr>
      <tr>
        <!-- <td>第1项</td> -->
        <td colspan="2">第2项</td>
        <!-- <td>第3项</td> -->
      </tr>
    </table>
    第1项 第2项 第3项
    第2项
    第2项
  • 老的表格写法 : thead 表头 th:表头标题加粗效果

    以下特殊的标签不能加其他子元素 比如 table下只能加tr tr下只能加td,ul下只能li

    <table>
      <thead>
        <th>姓名</th>
        <th>年龄</th>
      </thead>
      <tbody>
        <tr>
          <td>张三</td>
          <td>18</td>
        </tr>
        <tr>
          <td>张三</td>
          <td>18</td>
        </tr>
      </tbody>
    </table>
    姓名 年龄
    张三 18
    张三 18

边框倒三角

#d2{
  border: 1px solid red;
  width: 100px;
  height: 100px;
  /* 网页的安全区域:顶宽居中 */
  margin: 200px auto;
  border-top-width: 0px;
  border-right: none;
  /* 变换 rotate旋转 deg度  如果正值旋转顺时针 ,负值逆时针 */
  transform: rotate(135deg);
}
#d3{
  /* 
  倒三角
  1 设置 width heigh 为 0
  2 设置4个方向上的边框的宽度
  3 把其他三个方向上边框设置成透明颜色,只留一个边框的颜色
  */
  width: 0;
  height: 0;
  border: 10px  solid;
  border-color: transparent transparent red transparent;
}

效果:

定位

relative

相对定位 自身的位置

absolute

绝对定位 以他非静态定位祖先元素为参照,

fixed

固定定位 参照物以html为参照物的

static

静态定位 不设置定位默认的就是静态定位

sticky

粘性定位 滚动一定位置之后 再去固定位置,样式是属于一个新的样式,部分浏览器兼容性不好,需要时直接用js写

z-codeing

E

元素名称(div, p);

E#id

使用id的元素(div#content, p#intro, span#error);

E.class

使用类的元素(div.header, p.error.critial). 你也可以联合使用class和idID: div#content.column.width;

E>N

子代元素(div>p, div#footer>p>span);

E+N

兄弟元素(h1+p, div#header+div#content+div#footer);

E*N

元素倍增(ul#nav>li*5>a);

E$*N

条目编号 (ul#nav>li.item-$*5);

符号关系:

> 父子关系
+ 兄弟关系
$ 是顺序
{} 表示内容
. 类
# id
用法:table>tr*3>td{第$项}*3

本文作者:咔斯Sama
本文链接:https://blog.kassama.top/webNotes1.html
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可