前端day02


1、 html标签

1、 span标签设置宽高

设置宽高后,字体不会发生变化。

2、 盒模型

padding是border里面的距离;
margin 是border边框外头的了属于。

2、CSS

1、权重

数数:  id > class > 标签名字

p中只能放行内的 表单标签

2、background

background-position: 相对原来的位置,原来的边框。
background-repeat: 默认水平、垂直都平铺。
屏幕: 一屏一屏的
网页F12代码顺序: 从下向上看的
background: url("http://i1.umei.cc/uploads/tu/201805/9999/04adc186d3.jpg") no-repeat 0 0 ; 综合属性,一行代码
background-attachment: fixed; 让背景图固定定位。 position: 相对原来的位置,相对定位;
fixed:固定定位 背景图上有文字,就是这样实现。

3、定位

相对定位: 做父相子绝的参考,
position:relative 以原来的位置为参考点的;相对定位不做压盖现象;
只有设置了position,才能用top、left等值对其进行定位。 绝对定位:做压盖了,脱离文档流;
单独设置绝对定位,是以页面的左上角为参考点;
页面 > 浏览器,页面还有滚动,浏览器就是显示的那一屏 父相子绝: 以最近的相对父辈盒子做参考点。
脱标了,下边的模块会自动浮上来,自己不会改变,需要设置top等参数改变。
结合图片position,relative + absolute调整位置。 固定定位: 广告、回到顶部
固定定位也脱标了;
大的盒子用浮动去做;小的用定位;
position:fixed;
参考点是浏览器; z-index: 父亲怂了,儿子再大也不管用;
默认后边的position覆盖前边的;

3、 JS

介绍

ECMAScript
console.log(变量名) 相当于print打印
alert(变量名) 弹出框测试 一个变量,先声明,后定义
typeof 相当于type
特殊情况:var b = 5/0 b是Infinity,无穷大,也是数字类型;
还有一个特殊的数据类型,undefined; 引用数据类型:
Function===def
Object===字典
Araay===list,列表
Date===模块time 比较运算符:
=== 相当于is,比较值和类型,类型即内存地址; 数据类型转换:
var a = 1; var str = a + '' # 当一个数值和字符串拼接,空不空无所谓,浏览器自动把数值转换成字符串做字符串的拼接。 //隐士转换 var str2 = a.toString() var a = 1;
console.log(a); var b = '123asd';
var num = Number(b);
console.log(num); //NaN NOT A NUMBER
console.log(typeof (num)); //number类型还是
console.log(Boolean (num)); //结果是false var c = 5/0;
console.log(typeof (c)); //number类型还是
console.log(Boolean (c)); //结果是true 未定义的也是false。 var a = 1;
var c = a++;
console.log(a); //先把a=1,赋值给c,在执行a++
console.log(c); var a = 1;
var c = ++a; //先++,后赋值,先把a+1,然后再赋值给c

流程控制

if、 else if、else

var name='houbinglei';

if(name==='alex'){
console.log('nimei')
}else if(name==='houbinglei'){ # 三个等号判断是否相等。
console.log(name)
}else {
console.log('failed')
}
alert('you must work hard')

while

while循环三步走:

1.初始化循环变量

2.判断循环条件

3.更新循环变量

var i=1;

while(i<=100){
if(i%2===0){
console.log(i)
}
i++;
}

switch:

一个case完了,必须有一个break;

JS中的数组

1 数组的合并 concat()

var north = ['北京','山东','天津'];
var south = ['东莞','深圳','上海']; var newCity = north.concat(south);
console.log(newCity)

2 join() 将数组中的元素使用指定的字符串连接起来,它会形成一个新的字符串

var north = ['北京','山东','天津'];
var str = north.join('---');
console.log(str)

3 将数组转换成字符串 toString()

var score = [98,78,76,100,0];
//toString() 直接转换为字符串 每个元素之间使用逗号隔开 var str = score.toString();
console.log(str);//98,78,76,100,0

4 slice(start,end); 返回数组的一段,顾头不顾尾

var arr = ['张三','李四','王文','赵六'];
var newArr = arr.slice(1,3);
console.log(newArr);//["李四", "王文"]

5 pop 移除数组的最后一个元素

var north = ['北京','山东','天津'];
var del = north.pop();
console.log(del); // 结果是删除的元素,天津

6 push() 向数组最后添加一个元素

相当于append
var arr = ['张三','李四','王文','赵六'];
var newArr = arr.push('小马哥');
console.log(newArr);//["张三", "李四","王文","赵六","小马哥"]

7 reverse() 翻转数组

var names = ['alex','xiaoma','tanhuang','angle'];

//4.反转数组
names.reverse();
console.log(names); // ["angle", "tanhuang", "xiaoma", "alex"]

8 sort对数组排序

9 判断是否为数组:isArray()

JS中的字符串

1 chartAt() 返回指定索引的位置的字符

2 concat 返回字符串值,表示两个或多个字符串的拼接

var str1 = 'al';
var str2 = 'ex';
console.log(str1.concat(str2,str2));//alexex

3 replace(a,b) 将字符串a替换成字符串b

var a = '1234567755';
var newStr = a.replace("4567","****");
console.log(newStr);//123****755

4 indexof() 查找字符的下标,如果找到返回字符串的下标,找不到则返回-1 。跟seach()方法用法一样

var str = 'alex';
console.log(str.indexOf('e'));//2
console.log(str.indexOf('p'));//-1

5 slice(start,end) 左闭右开 分割字符串

6 split('a',1) 以字符串a分割字符串,并返回新的数组。

var  str =  '我的天呢,a是嘛,你在说什么呢?a哈哈哈';
console.log(str.split('a'));//["我的天呢,", "是嘛,你在说什么呢?", "哈哈哈"]

8 toLowerCase()转小写

9 toUpperCase()转大写

Date

var mydate = new Date();
var time = mydate.toLocaleString(mydate)
console.log(time)
2018/8/22 下午5:25:03

Math内置对象

var a = 123.267;
console.log(Math.ceil(a)); //124
console.log(Math.floor(a)); // 123 求随机数:
200~500之间 min-max min +Math.random()*(max-min)
console.log(200+Math.random()*(500-200)); Math.random() // 0-1之间的数

函数

声明函数: 关键字 function add(){

//函数名字叫add

};

所有声明的变量、函数都挂载到全局对象了,window.add。

伪数组

console.log(arguments);
console.log([]); 函数循环arguments:
function hao() { //伪数组
for(var i = 0; i < arguments.length;i++){
console.log(arguments[i]); }; document.write("*"); // 往文档对象上写*,文档页面就是html。

4、 DOM

文档对象模型,标签就是对象

window上去解析,顶层对象 ==》 document ==》 html ==》 head+body等

//    1. 找 获取DOM对象
// 2.事件
// 3.驱动程序 执行的动作
var isGreen = true;
oDiv.onclick = function () {
// 驱动程序 console.log(oDiv.style);
//样式操作 if (isGreen) {
oDiv.style.backgroundColor = 'red';
isGreen = false;
}else{
oDiv.style.backgroundColor = 'green';
isGreen = true;
}
// oDiv.style.width = '300px';
// oDiv.style.display = 'none'; };

样式操作

<body>
<button>隐藏</button>
<div class="box" id="name">content</div>
<script>
var ob = document.getElementsByTagName('button')[0];
var odiv = document.getElementById('name'); ob.onclick = function () {
odiv.style.display='none';
}
</script>
</body> 点击隐藏后,相当于在原来的div标签内添加了行内样式。优先级最高。干掉了内接样式

属性操作

className

oDiv.className = 'box';  替换成box
oDiv.className += ' active'; 字符串拼接,后边加active;

DOM总结

1.获取Window

console.log(window)

2.获取Document

console.log(document)

3.获取html

console.log(document.documentElement);

4.获取body

console.log(document.body);

5.获取DOM的三种方式

id获取: document.getElementById(id的值)
类获取: document.getElementsByClassName('类名');获取的是伪数组
标签获取:document.getElementsByTagName(标签名)

6.事件

onclick 点击事件
onmouseover 鼠标的时候
onmouseout 鼠标离开的时候 鼠标小手: CSS属性,cursor:point;

7.驱动程序

样式的操作
oDiv.style.xxx = '值' 属性操作:
oDiv.id = 'box'
oDiv.className = 'box'
oImg.src = './1.png'
oA.href = 'http://www.baidu.com' 值的操作:
innerText 对文本的操作
innerHTML 对标签和文本的操作
value 对值的操作 点语法: get方法和set方法 oDiv.innerText = '123';
console.log(oDiv.innerText); 数据驱动视图

技巧

阻止a标签默认的跳转:

href = "javascript:void(0)"

如果是href = "#",意思是回到顶部。如果有滚动条。

问题1:

用pycharm打开background的url时候,因为pycharm自己它内部自己加了一个虚拟服务器,你的c盘的图片啊 你要把你的图片放在你打开页面之后的服务器目录下面啊。 不能使用C盘什么的绝对路径。

day14_雷神_前端02的更多相关文章

  1. day16_雷神_前端04

    前端day04 链接前端的一些库,一些资源,从bootcdn上搜,有前端所有的库. 前端工作流程: jquery的DOM文档操作 <!DOCTYPE html> <html lang ...

  2. day15_雷神_前端03

    # 前端 day03 内容回顾 javascript: 1.ECMAScript5.0 es6(阮一峰) es7 es8 (1)声明变量 var let (2)内置函数 Date Math.rando ...

  3. day13_雷神_前端01

    #前端 html 服务器端返回的就是一个字符串,浏览器根据html规则去渲染这个字符串. html 是超文本标记语言,相当于定义统一的一套规则,大家都遵守它,这样就可以让浏览器根据标记语言的规则去解释 ...

  4. 为什么fis没有freemarker的解决方案啊?_前端吧_百度贴吧

    为什么fis没有freemarker的解决方案啊?_前端吧_百度贴吧 fis-plus:适用于PHP+Smarty后端选型jello:适用于Java+Velocity后端选型goiz:适用于go+ma ...

  5. Python web前端 02 CSS

    Python web前端 02 CSS 一.选择器 1.CSS的几种样式(CSS用来修饰.美化网页的) #建立模板 复制内容--->SETTING---> Editor -----> ...

  6. 前端02 /HTML标签

    前端02 /HTML标签 目录 前端02 /HTML标签 1.特殊字符 2.标签分类 标签嵌套 1.块级标签(行内标签) 1.1div标签(块标签) 1.2p标签(块标签) 2.内联标签 2.1 sp ...

  7. day07_雷神_面向对象进阶

    day07 1.接口类(抽象类) 接口类和抽象类是一种规范,写代码时的规范. 两个思想: 一个是统一接口,一个是定义规则. 最终版本:接口类,抽象类,是一种规范,写代码时的规范 强制性的规定. fro ...

  8. 一个简单的Webservice的demo(中)_前端页面调用

    首先新建项目,这里有两种调用方式,为了能方便理解,新建页面WebserviceTest如下图: 先引用写好的服务,这里用上次写好的服务.见上次写的一个简单的Webservice的demo,简单模拟服务 ...

  9. day17_雷神_数据库 小全

    # 数据库 1.mysql 介绍 一 数据库管理软件的由来 程序的所有组件不可能只在一个机子上,性能问题和单点故障, 程序分散了,还需要解决数据共享问题, 基于网络访问这台共享的机器,用socket. ...

随机推荐

  1. [UnityShader基础]03.透明度混合

    如果要渲染半透明物体,那么就需要用到透明度混合. 需要注意的有这几点: 1.设置标签:Tags { "Queue"="Transparent" "Ig ...

  2. Java面试——线程池

    1.类比介绍 假如有一个工厂,工厂里面有10个工人,每个工人同时只能做一件任务. 因此只要当10个工人中有工人是空闲的,来了任务就分配给空闲的工人做: 当10个工人都有任务在做时,如果还来了任务,就把 ...

  3. <记录> PHP读取命令行参数

    方法一:使用$argv or $argc参数接收 echo "接收到{$argc}个参数"; print_r($argv); [root@DELL113 lee]# /usr/lo ...

  4. python批量处理文件夹中文件的问题

    用os模块读取文件夹中文件 原来的代码: import osfrom scipy.misc import imread filenames=os.listdir(r'./unprocess')for ...

  5. Linux命令:mapfile

    mapfile [-n 计数] [-O 起始序号] [-s 计数] [-t] [-u fd] [-C 回调] [-c 量子] [数组] 两个作用: 一是给index数组读取标准输入来赋值:二是文件描述 ...

  6. PHP对接微信支付采坑

    第一次做PHP商城项目对接微信支付接口,踩了N次坑,这也不对,那也不对,搞了很久,查了一些资料,终于实现了支付功能,小小总结一下,万一下次遇到就不用到处找资料了. 微信扫码支付 前期准备: 1.微信公 ...

  7. funny故事

    name1 = input('请输入一个名字:') name2 = input('请输入一个名字:') vehicle = input('请输入一种车子:') print('\n上近代史的{}刚下课, ...

  8. Shiro HashedCredentialsMatcher 认证匹配

    Shiro 提供了用于加密密码和验证密码服务的 CredentialsMatcher 接口,而 HashedCredentialsMatcher 正是 CredentialsMatcher 的一个实现 ...

  9. Servlet中获取Spring管理的bean

    描述: 在Servlet中调用Spring管理的接口,可以使Dao/Service/ServiceImpl. 前提是在调用的bean中有注解: @Repository("beanName&q ...

  10. 二十一、proxyDesign 代理模式

    原理: 时序图: 代码清单: Printable public interface Printable { void setPrinterName(String name); String getPr ...