Python入门教程:Day21-30:web前端概述

Python入门教程:web前端概述
说明:本文使用的部分插图来自Jon Duckett先生的HTML and CSS: Design and Build Websites一书,这是一本非常棒的前端入门书,有兴趣的读者可以在亚马逊或者其他网站上找到该书的购买链接。

HTML简史
1991年10月:一个非正式CERN(欧洲核子研究中心)文件首次公开18个HTML标签,这个文件的作者是物理学家蒂姆·伯纳斯-李,因此他是万维网的发明者,也是万维网联盟的主席。
1995年11月:HTML 2.0标准发布(RFC 1866)。
1997年 1月:HTML 3.2作为W3C推荐标准发布。
1997年12月:HTML 4.0作为W3C推荐标准发布。
1999年12月:HTML4.01作为W3C推荐标准发布。
2008年1月:HTML5由W3C作为工作草案发布。
2011年5月:W3C将HTML5推进至“最终征求”(Last Call)阶段。
2012年12月:W3C指定HTML5作为“候选推荐”阶段。
2014年10月:HTML5作为稳定W3C推荐标准发布,这意味着HTML5的标准化已经完成。

HTML5新特性

  1. 引入原生多媒体支持(audio和video标签)
  2. 引入可编程内容(canvas标签)
    引入语义Web(article、aside、details、figure、footer、header、nav、section、summary等标签)
  3. 引入新的表单控件(日历、邮箱、搜索、滑条等)
  4. 引入对离线存储更好的支持(localStorage和sessionStorage)
  5. 引入对定位、拖放、WebSocket、后台任务等的支持

使用标签承载内容
Python入门教程:Day21-30:web前端概述_第1张图片
Python入门教程:Day21-30:web前端概述_第2张图片
列表(list)

  • 有序列表(ordered list)- ol / li
  • 无序列表(unordered list)- ul / li
  • 定义列表(definition list)- dl / dt / dd

链接(anchor)

  • 页面链接
  • 锚链接
  • 功能链接

图像(image)

  • 图像存储位置
    Python入门教程:Day21-30:web前端概述_第3张图片

  • 图像及其宽高

  • 选择正确的图像格式
    Python入门教程

  • 矢量图

  • 语义化标签 - figure / figcaption

表格(table)
基本的表格结构 - table / tr / td
表格的标题 - caption
跨行和跨列 - rowspan属性 / colspan属性
长表格 - thead / tbody / tfoot

表单(form)

  • 重要属性 - action / method
  • 表单控件(input)- type属性

a.文本框 - text / 密码框 - password / 数字框 - number
b.邮箱 - email / 电话 - tel / 日期 - date / 滑条 - range / URL - url / 搜索 - search
c.单选按钮 - radio / 复选按钮 - checkbox
d.文件上传 - file / 隐藏域(埋点)- hidden
e.提交按钮 - submit / 图像按钮 - image / 重置按钮 - reset

  • 下拉列表 - select / option
  • 文本域(多行文本)- textarea
  • 组合表单元素 - fieldset / legend

音视频(audio / video)

  • 视频格式和播放器

  • 视频托管服务

  • 添加视频的准备工作

  • video标签和属性 - autoplay / controls / loop / muted / preload / src

  • audio标签和属性 - autoplay / controls / loop / muted / preload / src /
    width / height / poster

其他

  • 文档类型
  • 注释
  • 属性

id
class

  • 块级元素 / 行级元素

  • 内联框架(internal frame)

  • 字符实体(实体替换符)
    Python入门教程:Day21-30:web前端概述_第4张图片
    使用CSS渲染页面
    简介

  • CSS的作用

  • CSS的工作原理

  • 规则、属性和值
    Python入门教程:Day21-30:web前端概述_第5张图片

  • 常用选择器
    Python入门教程:Day21-30:web前端概述_第6张图片
    颜色(color)

  • 如何指定颜色

  • 颜色术语和颜色对比

  • 背景色

文本(text / font)

  • 文本的大小和字型(font-size / font-family)
    Python入门教程:Day21-30:web前端概述_第7张图片
    Python入门教程:Day21-30:web前端概述_第8张图片

  • 粗细、样式、拉伸和装饰(font-weight / font-style / font-stretch /
    text-decoration)
    Python入门教程:Day21-30:web前端概述_第9张图片

  • 行间距(line-height)、字母间距(letter-spacing)和单词间距(word-spacing)

  • 对齐(text-align)方式和缩进(text-ident)

  • 链接样式(:link / :visited / :active / :hover)

  • CSS3新属性

1.阴影效果 - text-shadow
2.首字母和首行文本(:first-letter / :first-line)
3.响应用户

盒子(box model)

  • 盒子大小的控制(width / height)
    Python入门教程:Day21-30:web前端概述_第10张图片

  • 盒子的边框、外边距和内边距(border / margin / padding)
    Python入门教程:Day21-30:web前端概述_第11张图片

  • 盒子的显示和隐藏(display / visibility)

  • CSS3新属性

1.边框图像(border-image)
2.投影(border-shadow)
3.圆角(border-radius)

列表、表格和表单

  • 列表的项目符号(list-style)
  • 表格的边框和背景(border-collapse)
  • 表单控件的外观
  • 表单控件的对齐
  • 浏览器的开发者工具

图像

  • 控制图像的大小(display: inline-block)
  • 对齐图像
  • 背景图像(background / background-image / background-repeat /
    background-position)

布局

  • 控制元素的位置(position / z-index)

1.普通流
2.相对定位
3.绝对定位
4.固定定位
5.浮动元素(float / clear)

  • 网站布局

HTML5布局
Python入门教程:Day21-30:web前端概述_第12张图片

  • 适配屏幕尺寸

1.固定宽度布局
2.流体布局
3.布局网格

使用JavaScript控制行为

JavaScript基本语法
Python入门教程:Day21-30:web前端概述_第13张图片
Python入门教程:Day21-30:web前端概述_第14张图片

面向对象
Python入门教程:Day21-30:web前端概述_第15张图片
BOM
Python入门教程:Day21-30:web前端概述_第16张图片
DOM
Python入门教程:Day21-30:web前端概述_第17张图片
Python入门教程:Day21-30:web前端概述_第18张图片
JavaScript API

  • 客户端存储
    localStoragesessionstorage

    localStorage.colorSetting = ‘#a4509b’;
    localStorage[‘colorSetting’] = ‘#a4509b’;
    localStorage.setItem(‘colorSetting’, ‘#a4509b’);

  • 获取位置信息geolocation

    navigator.geolocation.getCurrentPosition(function(pos) {
    console.log(pos.coords.latitude)
    console.log(pos.coords.longitude)
    })

  • 从服务器获取数据
    Fetch API

  • 绘制图形
    的API

  • 音视频
    的API

使用jQuery
jQuery概述
1.Write Less Do More(用更少的代码来完成更多的工作)
2.使用CSS选择器来查找元素(更简单更方便)
3.使用jQuery方法来操作元素(解决浏览器兼容性问题、应用于所有元素并施加多个方法)

引入jQuery

  • 下载jQuery的开发版和压缩版
  • 从CDN加载jQuery
    Python入门教程:Day21-30:web前端概述_第19张图片

查找元素
Python入门教程:Day21-30:web前端概述_第20张图片

执行操作
Python入门教程:Day21-30:web前端概述_第21张图片
链式操作
检测页面是否可用



jQuery插件

  • jQuery Validation
  • jQuery Treeview
  • jQuery Autocomplete
  • jQuery UI

避免和其他库的冲突
先引入其他库再引入jQuery的情况。




先引入jQuery再引入其他库的情况。




使用Ajax
Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

  • 原生的Ajax
  • 基于jQuery的Ajax

1.加载内容
2.提交表单

前端框架
渐进式框架 - Vue.js

前后端分离开发(前端渲染)必选框架。

快速上手

  1. 引入Vue的JavaScript文件,我们仍然推荐从CDN服务器加载它。

  2. 数据绑定(声明式渲染 )。

Python入门教程:Day21-30:web前端概述_第22张图片

  1. 条件与循环。
    Python入门教程:Day21-30:web前端概述_第23张图片

  2. 计算属性。
    Python入门教程:Day21-30:web前端概述_第24张图片
    Python入门教程:Day21-30:web前端概述_第25张图片

  3. 处理事件。
    Python入门教程:Day21-30:web前端概述_第26张图片
    Python入门教程:Day21-30:web前端概述_第27张图片

  4. 用户输入。
    Python入门教程:Day21-30:web前端概述_第28张图片
    Python入门教程:Day21-30:web前端概述_第29张图片

  5. 通过网络加载JSON数据。
    Python入门教程:Day21-30:web前端概述_第30张图片
    使用脚手架 - vue-cli
    Vue为商业项目开发提供了非常便捷的脚手架工具vue-cli,通过工具可以省去手工配置开发环境、测试环境和运行环境的步骤,让开发者只需要关注要解决的问题。

  6. 安装脚手架。

  7. 创建项目。

  8. 安装依赖包。

  9. 运行项目。

UI框架 - Element
基于Vue 2.0的桌面端组件库,用于构造用户界面,支持响应式布局。

  1. 引入Element的CSS和JavaScript文件。

  2. 一个简单的例子。
    Python入门教程:Day21-30:web前端概述_第31张图片

  3. 使用组件。
    Python入门教程:Day21-30:web前端概述_第32张图片
    Python入门教程:Day21-30:web前端概述_第33张图片
    报表框架 - ECharts
    百度出品的开源可视化库,常用于生成各种类型的报表。
    Python入门教程:Day21-30:web前端概述_第34张图片
    基于弹性盒子的CSS框架 - Bulma
    Bulma是一个基于Flexbox的现代化的CSS框架,其初衷就是移动优先(Mobile First),模块化设计,可以轻松用来实现各种简单或者复杂的内容布局,即使不懂CSS的开发者也能够使用它定制出漂亮的页面。
    Python入门教程:Day21-30:web前端概述_第35张图片
    响应式布局框架 - Bootstrap
    用于快速开发Web应用程序的前端框架,支持响应式布局。

1. 特点

支持主流的浏览器和移动设备
容易上手
响应式设计

2.内容

网格系统
封装的CSS
现成的组件
JavaScript插件

3. 可视化
Python入门教程:Day21-30:web前端概述_第36张图片

你可能感兴趣的:(Python,100,Days)