python04

前端

基础参考文档:https://www.cnblogs.com/Dominic-Ji/p/10864457.html

跟用户直接打交道的页面都可以称之为是前端

  • HTML
  • CSS
  • JS
  • jQuery
  • Bootstrap

HTML

超文本标记语言(前端页面基本上都是有HTML组成的)

HTML是所有网页的骨架




    
    Title





HTML标签类型

1.双标签
	Title
2.自闭和标签
	

标签重要的属性

id:定义标签的唯一ID,HTML文档树中唯一
class:为html元素定义一个或多个类名(classname)(CSS样式类名)

HTML注释




head内常用标签

# head内书写的标签不是给人看的 主要是给浏览器看的

标签	意义
	定义网页标题
	定义内部样式表
	定义JS代码或引入外部JS文件
	引入外部样式表文件或网站图标
	定义网页原信息

body内常用标签

加粗
斜体
下划线
删除

段落标签1

段落标签2


段落标签3

标题1

标题2

标题3


标题4

标题5
标题6

撒旦好看的        卡刷道具卡手机打开

大于号>

小于号<

&符号&

人民币¥

版权©

商标®

div标签与span标签

div是用来做页面的前期布局
span主要用来写局部文字

块儿级标签		div
	独占浏览器一整行
行内标签		span
	自身文本多大就占多大

img标签

这是个妹纸

src放图片的路径可以是本地也可以是网上的
alt图片加载不出来的时候提示信息
title鼠标悬浮上去之后显示的信息
width、height调一个另外一个自动调节

a标签

选我
选我
头部
尾部

列表与表格

# 无须列表
  • 1
  • 2
  • 3
  • 4
  • 5
页面有规则排列的文字等基本上用的都是无序列表 # 有序列表
  1. 第一项
  2. 第二项
# 标题列表
标题1
内容1
标题2
内容1
内容2
# 表格标签
ID 姓名 年龄
1 jason 18
2 frank 28
3 egon 84
tr表示一行 th和td都是普通文本

form表单

form能够获取用户数据并发送到后端服务器
获取用户数据的标签一般都需要有name属性 类似于字典的key,负责把数据提交给后端
前端中属性名=属性值的话,等号后面的部分可以省略可以
multiple多个
textarea可以书写多行




    
    Title


注册功能

username

password:

birthday:

gender: 其他

hobby: 篮球 足球 双色球

省份:

前女友:

附件:

个人简介:

能够触发form表达提交动作的按钮有两个 获取用户数据的标签都一个有name属性 name属性类似于字典的key 用户输入的数据会被存放到标签的value属性中
action用来控制数据提交的路径 method用来控制数据的提交的方式 get请求 朝别人要数据 eg:访问百度首页 post请求,登录,注册 朝别人提交数据 eg:提交用户名和密码 enctype 用来控制数据的编码格式 multipart/form-data 该格式支持提交文件 application/x-www-form-urlencoded 不支持文件 username 唯一指向id="d1"

CSS

# 就是用来给HTML标签添加好看的样式的,样式最好使用CSS来指定

# 注释
/*单行注释*/

/*
多行注释1
多行注释2
*/

# 三种引入css的方式

   

    

如何查找标签




    
    Title
    


选择

一上午又快过去了

何处望神州,满眼风光北鼓楼

圣诞节安徽的哈萨克的
div1
div2
div上面的span
div div>span

div>p div>p>span

div>span

div下面的p

div下面的span div下面的span div下面的span
div

p

span

选择器优先级

1.当选择器相同的时候
	采用的是就近原则

2.当选择器不同的时候,越精确,优先级越高
	内联选择器(标签内些的) >  id选择器  >  类选择器  >  标签选择器

如何设置样式




    
    Title
    


div

还是答案是

的撒结婚登记ask的

背景




    
    Document
    


头像




    
    Document
    


盒子模型




    
    Document
    


我是一个p标签

浮动

是页面布局必备的
但是浮动的元素会脱离文档流造成父标签塌陷的问题
需要你用清除浮动带来的影响 
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
谁塌陷就给谁加上clearfix类属性即可




    
    Document
    


溢出




    
    Document
    


sssssssssssssss ddddddddd fffffffffff ggggggggggggggggggggg jjjjjjjjjj

定位




    
    Document
    


sssssssssssssss ddddddddd fffffffffff ggggggggggggggggggggg jjjjjjjjjj

Z-index




    
    Document
    


sssssssssssssss ddddddddd fffffffffff ggggggggggggggggggggg jjjjjjjjjj

JavaScript

js也是一门编程语言
// 这是单行注释

/*
这是
多行注释
*/




    
    Document
	
	






变量

再js中定义变量需要使用关键字var,定义群居变量
var name = 'jason';
es6新语法,有单独的作用域
let name = 'jason';

//小牛试刀
var name = 'syy'
undefined
name
"syy"
name = 'not syy'
"not syy"
name
"not syy"

常量

const pi = 3.14

#常量不能修改

数值类型

var a = 12.34;
var b = 20;
var c = 123e5;  // 12300000
parseInt("123")  // 返回123
parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
parseFloat("123.456")  // 返回123.456

字符类型

var res = 'jason';
var res1 = "jason";

// 模板字符串
var name = 'jason';
var age = 18;
undefined
var res = `
my name is ${name} and my age is ${age} 
`
undefined
res
"
my name is jason and my age is 18 
"

#shift + 回车

布尔值(Boolean)

var a = true;
var b = false;

//空字符串 0 null undefined NaN 都是false
//null 空
//undefined 未定义

函数

// python中的函数,def
def index(a,b):
	print(a,b)

// js中的函数,function
function index(a,b){
    console.log(a,b)
    return 666
}

// 箭头函数
var f = v => v;
// 等同于
var f = function(v){
  return v;
}

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2){
  return num1 + num2;  //这里的return只能返回一个值,如果想返回多个值需要自己手动给他们包一个数组或对象中
}


运算符

var x=10;
var res1=x++;		//先赋值,后x自增,增1次
var res2=++x;		//先x自增,后赋值,增2次

res1
10
res2
12

//弱等于中,数据类型可以转化,强等于中,不再转化
'5' == 5
true
'5' === 5
false
5 === 5
true

//且或非
&& || !
    
//赋值运算符
= == === += -= /=

//判断,if-else
var a = 10;
if (a>5){
    console.log('yes')
}
else {
    console.log('no')
}
yes

//if-else if-else
var a = 10;
if (a>5){
    console.log('大于5')
}
else if (a<5){
    console.log('小于5')
}
else {
    console.log('等于5')
}
VM1811:3 大于5

//判断,case
var day = new Date().getDay();
switch (day) {
    case 0:
    console.log('Sunday');
    break;
    case 1:
    console.log('Monday');
    break;
    default:
    console.log('...')
}
...

//循环
for (var i=0;i<10;i++) {
    console.log(i);
}
VM2198:2 0
VM2198:2 1
VM2198:2 2
VM2198:2 3
VM2198:2 4
VM2198:2 5
VM2198:2 6
VM2198:2 7
VM2198:2 8
VM2198:2 9

var i=0;
while (i<10) {
    console.log(i);
    i++;
}
VM130:3 0
VM130:3 1
VM130:3 2
VM130:3 3
VM130:3 4
VM130:3 5
VM130:3 6
VM130:3 7
VM130:3 8
VM130:3 9

自定义对象 == python中的字典

// js中创建自定义对象的方式

// 方式1
var obj1 = {'username':'jason','password':123}
obj1.username
"jason"

// 方式2
var obj2 = new Object();
obj2.name = 'frank'
obj2.age = 66
obj2.name

JSON对象

var str1 = '{"name": "Alex", "age": 18}';
var obj1 = {"name": "Alex", "age": 18};
// JSON字符串转换成对象	    json.loads()
var obj = JSON.parse(str1); 
// 对象转换成JSON字符串		json.dumps()
var str = JSON.stringify(obj1);

//对应关系
python				 json
dict字典				object对象
list,tuple列表元组	   array数组
str			         string
int,float整形 浮点型	  number数值类型 
True				true
False				false

js与Windows交互

//打开,关闭窗口
window.open('http://www.baidu.com','','width=4')
window.close('http://www.baidu.com','','width=4')

//前进
history.forward()
//后退
history.back()

//获取当前的URL
location.href
"https://miaosha.jd.com/pinpailist.html"

//使用js代码实现Windows页面跳转
location.href = 'http://www.baidu.com'

//刷新当前页面
location.reload

//弹出指定值,所在窗口不一定支持窗口弹出
alter('hello')
confirm('请输入密码:')
prompt('请在下方输入','拿的答案')

//计时器



    
    Document
    






//清除定时器



    
    Document
    






//循环弹出弹窗



    
    Document
    






//弹4次



    
    Document
    





    
//通过id查找标签
docunent.getElementById('d1')

//通过类查找标签
docunent.getElementsByClassName('c1')

//通过标签查找标签
docunent.getElementsByTagName('div')

//动态的设置链接
var aEle = document.createElement('a');
aEle
aEle.href = 'https://www.baidu.com'
aEle
aEle.innerText = '百度'
aEle
​百度​​
//把动态链接添加到指定标签
document.getElementsByTagName('div')[0].append(aEle)

//只拿标签内部的文本
var divEle = document.getElementsByTagName('div')[0]
undefined
divEle.innerText
"d1

c1 > d1"
//拿标签内部的文本,再解析内容
divEle.innerHTML
"d1
    

c1 > d1

" //通过js代码动态获取用户输入的内容 Document
document.getElementById('d1').value "777" //按钮绑定事件,script标签要放到body的最后面 Document

jQuery

# 需要提前下载才能使用或者使用网上提供的CDN服务

#下载


#网上的cdn,cdn的作用就是使文件不需要下载,直接可以被用户使用
https://www.bootcdn.cn/

js与jQuery绑定事件的区别

//使用js给指定内容加颜色



    
    Document
    


ppp

$('#d1').css('color','red') //统计标签 Document

ppp

1
2
3
$('#d1').nextAll() //开关灯 $('.c1').hasClass('c1') true $('.c1').removeClass('bg_green') k.fn.init [div.c1.bg_red, prevObject: k.fn.init(1)] $('.c1').toggleClass('bg_green') k.fn.init [div.c1.bg_red.bg_green, prevObject: k.fn.init(1)] $('.c1').toggleClass('bg_green') // js var pEle = document.getElementById('d1'); pEle.onclick = function(){ alert('123') } // jQuery $('#d1').click(function(){ alert('123') }) $('#d1').on('click',function(){ alert(123) })

Bootstrap

需要提前下载或者使用CDN
Bootstrap里面的动态效果是基于jQuery实现的
也就意味着你再使用Boostrap的时候也需要导入jQuery


使用前端框架所有的标签样式你都可以不用自己写css代码
都是通过书写class属性值来操作的

布局容器

左右两边有留白
左右两边没有留白

栅格系统





获取用户数据的标签

添加样式就用
class='form-control'

额外的图标

也是需要提前下载才能用
http://www.fontawesome.com.cn/icons/qq/

你可能感兴趣的:(python04)