overflow溢出属性
visible:默认值,内容不会被修剪,会呈现在元素框之外。
hidden:内容会被修剪,并且其余内容是不可见的。
scroll:内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto: 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。● overflow(水平和垂直均设置)
● overflow-x(设置水平方向)
● overflow-y(设置垂直方向)<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> p{ width: 500px; height: 100px; border: 1px solid #e879da; /*overflow:visible ;*/ /*overflow: hidden;*/ /*overflow: auto;*/ overflow: scroll; } </style> </head> <body> <p>别太敏感,你很好,一点都不糟糕,希望你被这个世界爱着,希望你笑了是真的快乐,希望你遇见过山的浑浊,眼泪依然有海的清澈</p> </body> </html>
圆形头像示例
<!DOCTYPE HTML> <html> <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>圆形的头像示例</title> <style> * { margin: 0; padding: 0; /*background-color: hotpink;*/ } .hhh{ width: 700px; height: 600px; /*background-color: plum;*/ background-image:url("https://img1.baidu.com/it/u=408846158,4184724936&fm=253&fmt=auto&app=138&f=JPEG?w=720&h=500"); position: relative; top: 100px; } .header-img { width: 150px; height: 150px; /*边框*/ border: 3px solid white; /*矩形变圆形*/ border-radius: 50%; /*超出多余隐藏*/ overflow: hidden; position: absolute; top: 0; bottom: 0; left: 0; right: 80%; /*居中*/ margin: auto; } /*儿子标签*/ .header-img>img { width: 100%; } </style> </head> <body> <div class="hhh"> <div class="header-img"> <img src="https://img1.baidu.com/it/u=3533698366,4262741630&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500" alt=""> </div> </div> </body> </html>
定位
static: 静态定位,默认情况下,所有的标签都是静止的,不能够移动
relative:相对定位,相对自己原来的位置进行移动
absolute:绝对定位,相对于是父标签移动的,如果没有父元素,那就按照body移动
fixed:固定定位: 相对于浏览器窗口定位
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .d1{ width: 100px; height: 100px; background: green; /*如果想移动标签必须先把标签的性质改掉,从原来静止位置改为可移动,默认情况下:static*/ /*relative把不能移动改成了可移动,相对*/ position: relative; /*离左边100px,就是往右边移了100px*/ left: 100px; top: 100px; /*right: 20px;*/ /*bottom: 50px;*/ } .d2{ width: 50px; height: 50px; background: red; /*绝对定位就是相对于父标移动*/ position: absolute; left: 100px; top: 100px; } </style> </head> <body> <!--<div class="d1"></div>--> <!-- <div class="d2"></div>--> <div style="height: 500px;background: red"></div> <div style="height: 500px;background: green"></div> <div style="height: 500px;background: blue"></div> <!--固定定位--> <div style="width: 80px;height: 80px;border: 3px solid orange;position:fixed;right: 20px;bottom: 20px ">回到顶部</div> <div style="width: 80px;height: 500px;border: 3px solid orange;position:fixed;right: 0px;bottom: 150px "> <div style="width: 100%;height: 100px;background: blueviolet">手机app;</div> <div style="width: 100%;height: 100px;background: hotpink">手机app</div> <div style="width: 100%;height: 100px;background: lemonchiffon">手机app</div> <div style="width: 100%;height: 100px;background: darkviolet">手机app</div> <div style="width: 100%;height: 100px;background: plum">手机app</div> </div> </body> </html>
顶部导航示例
<!DOCTYPE HTML> <html> <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>li标签的float示例</title> <style> /*清除浏览器默认外边距和内填充*/ * { margin: 0; padding: 0; } a { text-decoration: none; /*去除a标签默认的下划线*/ } .nav { background-color: #eeeeee; height: 40px; width: 100%; position: fixed; /*紧贴上面*/ top: 0; } ul { list-style-type: none; /*删除列表默认的圆点样式*/ margin: 0; /*删除列表默认的外边距*/ padding: 0; /*删除列表默认的内填充*/ } /*li元素向左浮动*/ li { float: left; } li > a { display: block; /*让链接显示为块级标签*/ padding: 0 15px; /*设置左右各15像素的填充*/ color: plum; /*设置字体颜色*/ line-height: 40px; /*设置行高*/ } /*鼠标移上去颜色变白*/ li > a:hover { color: darkviolet; } /*清除浮动 解决父级塌陷问题*/ .clearfix:after { content: ""; display: block; clear: both; } </style> </head> <body> <!-- 顶部导航栏 开始 --> <div class="nav"> <ul class="clearfix"> <li><a href="">玉米商城</a></li> <li><a href="">MIUI</a></li> <li><a href="">ioT</a></li> <li><a href="">云服务</a></li> <li><a href="">水滴</a></li> <li><a href="">金融</a></li> <li><a href="">优品</a></li> </ul> </div> <!-- 顶部导航栏 结束 --> </body> </html>
前端基础之JavaScript
# 实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:
● 核心(ECMAScript)
● 文档对象模型(DOM) Document object model (整合js,css,html)
● 浏览器对象模型(BOM) Broswer object model(整合js和浏览器)# Script标签内写代码:<script src="myscript.js"></script>
# 注释:// 这是单行注释
/*
这是
多行注释
*/# 变量:1. JavaScript的变量名可以使用_,数字,字母,$组成,不能以数字开头。
2. 声明变量使用 var 变量名; 的格式来进行声明a=1 var a=1; # es5的语法 let a=1; # es6的语法
# 常量:const PI=3.14
JavaScript数据类型
# JavaScript拥有动态类型:JavaScript不区分整型和浮点型,就只有一种数字类型
var x; // 此时x是undefined var x = 1; // 此时x是数字 var x = "Alex" // 此时x是字符串
# 常用方法:
parseInt("123") // 返回123 parseInt("ABC") // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。 parseFloat("123.456") // 返回123.456
# 字符串(String)常用方法:
.length 返回长度 .trim() 移除空白 .trimLeft() 移除左边的空白 .trimRight() 移除右边的空白 .charAt(n) 返回第n个字符 .concat(value, ...) 拼接 .indexOf(substring, start) 子序列位置 .substring(from, to) 根据索引获取子序列 .slice(start, end) 切片 .toLowerCase() 小写 .toUpperCase() 大写 .split(delimiter, limit) 分割
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- scrip里都是js--> <script> //这是注释 // alert(123); var x='12.34'; var y='12' // parseFloat(x); parseInt(y) // console.log(parseFloat(x)); // console.log(parseFloat(y)); // console.log(typeof parseInt(y)); // console.log(parseInt('sd1234ddasd')); var a='hello'; var b="world"; var c='java|script|script' console.log(a+b); // 长度 console.log(a.length); // 去空格去别的 console.log(a.trim()); console.log(a.trimLeft()); console.log(a.trimRight()); // 取出某个字符 console.log(b.charAt(1)); // 拼接 console.log(a.concat(b)); console.log(b.concat(a)); console.log(b.concat(a,c)); // 如果里面子字符串在打字符串中时,会显示他的索引位置 // 判断某个字符串在不在另外一个字符串中 // 当不存在找不到时,为假时为-1 console.log(c.indexOf('java')) console.log(c.indexOf('script')) // 切片 console.log(c.substring(0,3)) //jav,不能使用负数 console.log(c.slice(3)) //ascriptscript,全部 console.log(c.slice(3,5)) //as console.log(c.slice(-3)) //ipt // 全大写或小写 console.log(c.toUpperCase(c)) console.log(c.toLowerCase(c)) // 分割 console.log(c.split('|')) //['java', 'script', 'script'] </script> </head> <body> </body> </html>
# // ES6中引入了模板字符串:
var name = 'kevin'; var age = 20; // var res = 'my name is %s, my age is %s'; var res = `my name is ${name}, my age is ${age}`; console.log(res);
# 布尔值(Boolean): 在js中,什么是真、什么是假
null:原来有,没了 undefined:什么都没有
假:""(空字符串)、0、null、undefined、NaN都是false
var a = true; var b = false; var a=1; var a; undefined
# // 数组的常用方法
.length 数组的大小 .push(ele) 尾部追加元素 .pop() 获取尾部的元素 .unshift(ele) 头部插入元素 .shift() 头部移除元素 .slice(start, end) 切片 .reverse() 反转 .join(seq) 将数组元素连接成字符串 .concat(val, ...) 连接数组 .sort() 排序 .forEach() 将数组的每个元素传递给回调函数 .splice() 删除元素,并向数组添加新元素。 .map() 返回一个数组元素调用函数处理后的值的新数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div></div> <script> var arr = ['kevin','tony','jason','jerry'] console.log(arr[0]) console.log(arr[1]) console.log(arr[2]) console.log(arr.length) // // 插入元素 arr.push('oscar'); arr.unshift('hello'); // // 删除 arr.shift() // // 拼接 console.log(arr.join(',')) //['kevin', 'tony', 'jason', 'jerry', 'oscar'] var arr1 = [1,2,3,4] console.log(arr.concat(arr1)) // ['kevin', 'tony', 'jason', 'jerry', 'oscar', 1, 2, 3, 4] console.log(arr) // 循环 arr.forEach(function (value,index,array) { console.log(value,index,array) }); arr.map(function (value,index,array){ console.log(value,index,array) }) </script> </body> </html>
# 运算符:+ - * / % ++ --
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> var x=10; var res1= x++; var res2= ++x; console.log(res1) //10 console.log(res2) //12 console.log(2>1 && 4>3); //&&=and console.log(2>1 || 4>3); //||=or console.log(2>1 != 4>3); //! = 不等于 </script> </body> </html>
# // 比较运算符:> >= < <= != == === !==
逻辑运算符: && || !
赋值运算符:= += -= *= /=
# 流程控制:if-else、f-else if-else、switch
var a = 10; if (a > 5){ console.log("yes"); }else { console.log("no"); } var a = 10; if (a > 5){ console.log("a > 5"); }else if (a < 5) { console.log("a < 5"); }else { console.log("a = 5"); } var day = new Date().getDay(); console.log(day); //3 switch (day) { case 0: console.log("Sunday"); break; case 3: console.log("Monday"); break; default: console.log("...")
# for、while:
for (var i=0;i<10;i++) { console.log(i); } var i = 0; while (i < 10) { console.log(i); i++; }
# 三元运算:
var a = 1; var b = 2; var c = a > b ? a : b //这里的三元运算顺序是先写判断条件a>b再写条件成立返回的值为a,条件不成立返回的值为b;三元运算可以嵌套使用; var a=10,b=20; var x=a>b ?a:(b=="20")?a:b; x 10
函数
1、
2、
3、
JSON对象
# 在JavaScript中,对象是拥有属性和方法的数据
json.dumps ------------------->JSON.stringify()
json.loads--------------------->JSON.parse()
1. 先序列化var res=JSON.stringify(obj1) # '{"name": "Alex", "age": 18};' python: json.loads(res) # {"name": "Alex", "age": 18};
2. 反序列化
var str1 = '{"name": "Alex", "age": 18}'; # json.dumps js反序列化: JSON.parse(str1) # {"name": "Alex", "age": 18}