前端的编辑器很多,选择自己喜欢的或者实际需求使用的编辑器都可,VS、SublimeText3、VScode都可。这里只提一下VScode的配置,因为其他的基本都是下载之后就随便能用,不需要其他附属操作。
属性type可设为以下值
type=‘A’:字母排序type=‘I’:罗马排序start=“3” 序列从几开始可通过CSS将 样式设为无样式。如list-style:none;
type=“disc”:默认,实心圆type=“square”:方块type=“circle”:空心圆img常用属性:
src 代表的图片的路径width 图片的宽度height 图片的高度border 用于设置图片的边框alt 如果图片不可以显示时,默认显示的文本信息title鼠标悬停图片上,默认显示的文本信息align 图片附件文字的对齐方式,可取值有 left:把图像对齐到左边right:把图像对齐到右边middle:把图像与中央对齐top:把图像与顶部对齐bottom:把图像与底部对齐(默认)功能性链接:
1. 发邮件 <a href="mailto:sunguoan@163.com">联系站长</a> ``` 2. 唤起QQ聊天窗口 ```html <a href="tencent://message/?uin=19998539&Menu=yes"> <img border="0" src="http://wpa.qq.com/pa?p=1:615050000:7"/> </a>合并效果:
input元素的type属性
text:默认值,普通的文本输入框placeholder:提示文本maxlength:最多能输入字符数量password:密码输入框checkbox:多选框/复选框checked:被选中radio:单选按钮file:上传文件reset:重置按钮submit:提交按钮button:普通按钮select:下拉列表/下拉框 option:列表中的项selected:被选中 textarea:文本域(多行文本框) 可以通过 cols 和 rows 属性来规定 textarea 的尺寸,不过更好的办法是使用 CSS 的height和 width 属性。 button: 按钮在form表单中,作用和submit一样不在form表单中,就是普通按钮(配合后期的javascript,可扩展性更高示例代码(来源拉勾教育):
<form action="baidu" method="GET"> <p>帐号:<input name="a" type="text" placeholder="请输入帐号..." maxlength="5" ></p> <p>密码:<input name="b" type="password"></p> <p>爱好: <input name="hobby" type="checkbox"> 抽烟 <input name="hobby" type="checkbox" checked="checked"> 喝酒 <input name="hobby" type="checkbox"> 烫头 <input name="hobby" type="checkbox"> 泡澡 </p> <p>性别: <input type="radio" name="sex"> 男 <input type="radio" name="sex" checked="checked"> 女 </p> <p>身份: <input type="radio" name="role"> ceo <input type="radio" name="role"> cto <input type="radio" name="role"> coo <input type="radio" name="role" checked="checked"> ufo </p> <p>头像: <input type="file"> </p> <p>血型: <select> <option>A型</option> <option>B型</option> <option>C型</option> <option selected="selected">O型</option> </select> </p> <p>个人简介: <textarea cols="10" rows="5"></textarea> </p> <p> <input type="reset" value="清空"> <input type="submit" value="提交"> <input type="button" value="取消"> <button>保存</button> </p> </form> <button>测试</button>补充说明
所有表单中的元素都要具有名称(否则提交到服务器之后,服务器无法区识别多个元素之间的不同)单选框要想可以一次只选择一个,要具有相同的name值所有的复选框以组为单位,组内的每个复选框都应该具有相同的name值frameset和frame框架标签可以将多个页面即html文件 拼成一个页面,与JSP include指令类似,但框架标签不与body共存,在使用框架标签时,用frameset或frame代替body
(1) 标签 (2) 属性 (3) 属性的值
新增许多语义化标签,让div“见名知意”
section标签:表示页面中的内容区域,部分,页面的主体部分article标签:文章aside标签:文章内容之外的,标题header标签:头部,页眉,页面的顶部hgroup标签:内容与标题的组合nav标签:导航figure标签:图文并茂foot:页脚,页面的底部,修改type属性:
color:调色板date:日历month:月历week:周历number:数值域min:最小值(默认值是1)max:最大值(默认值无上限)step:递增量range:滑块search:搜索框(带×号,可一键删除框中内容)进度条progress高亮mark联想输入框datalist(模糊查询) 选项option引入外部一个单独的css文件,在head中使用link标签引用。这里要说的是除此之外的一种引入外部CSS文件方式的异同。
关于用link标签导入外部css文件和@import的区别: 加载顺序不同。 @import方式导入会先加载html,然后才导入css样式,那么如果网络条件不好,就会先看到没有修饰的页面,然后才看到修饰后的页面。如果使用link方式,它会先加载样式表,也就是说,我们看到的直接就是修饰的页面; @import方式导入css样式,它是不支持javascript的动态修改的。而link支持。三种样式表的优先级:满足就近原则 内联 > 内部 > 外部
<style> @import 'css/css01.css' </style>使用CSS可以进行更多样式的修改 如:
none:无标记。(去除标记)disc:默认。标记是实心圆。circle:标记是空心圆。square:标记是实心方块。decimal:标记是数字。decimal-leading-zero:0开头的数字标记。(01, 02, 03, 等。)lower-roman:小写罗马数字(i, ii, iii, iv, v, 等。)upper-roman:大写罗马数字(I, II, III, IV, V, 等。)lower-alpha:小写英文字母The marker is lower-alpha (a, b, c, d, e,等。)upper-alpha:大写英文字母The marker is upper-alpha (A, B, C, D, E,等。)CSS盒子模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒子模型允许我们在其它元素和周围元素边框之间的空间放置元素。
块级元素:h1~h6,p, div 等,自上而下,垂直排列(自动换行);可以改变宽高 示例如下:
行内元素:a,b,span,等,从左向右,水平排列(不会换行);不能改变宽高
行内块元素:行内块元素:input,img等,从左向右,水平排列(自动换行);可以改变宽高
示例如下:
示例如下:
示例如下:
box-shadow:value1 value2 value3 value4 value5; 1:水平偏移 2:垂直偏移 3:模糊半径 4:扩张半径 5:颜色
直接上示例
线性渐变 2.径向渐变transition{1 2 3 4} 1:过渡或动画模拟的css属性 2:完成过渡所使用的时间(2s内完成) 3:过渡函数。。。(图片来自拉勾教育) 4:过渡开始出现的延迟时间 例:transition: width 2s ease 1s; 长度变化 时长2S 速度逐渐降低 1S后开始过渡 以下为目前CSS3 支持的可实现过渡效果的属性列表:
关键帧:
@keyframes 动画帧 { from{} to{} } 或者{ 0%{} 20%{}… }动画属性:animation{ 1 , 2 , 3 , 4 , 5 } 1:动画帧 2:执行时间 3:过渡函数 4:动画执行的延迟(可省略) 5:动画执行的次数 示例1: 示例2 颜色渐变效果(控制中间状态): <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .action{ width: 300px; height: 300px; background: yellowgreen; animation: ac 2s linear infinite alternate; } @keyframes ac{ 0%{background: yellowgreen;} 25%{background: yellow;} 50%{background: violet;} 75%{background: turquoise;} 100%{background: saddlebrown;} } </style> </head> <body> <div class="action"></div> </body> </html>数字 + 字符串:数字转换为字符串 10+’a’ -> 10a 数字 + 布尔值:true转换为1,false转换为0 true+5->6 字符串 + 布尔值:布尔值转换为字符串true或false true+’a’->truea 布尔值 + 布尔值:布尔值转换为数值1或0 true+true->2
注意的点:
形参:一定不要带数据类型分号是用来分隔可执行JavaScript语句。 由于函数声明不是一个可执行语句,所以不以分号结束。 <script> //使用function定义函数 function 函数名( 形参列表 ){ // 函数体 return 返回值; } //有返回值 function sum(a, b) { var he = a + b; return "两数之和:" + he; } var s = sum(3,4); console.log( s ); //无返回值 function sum(a, b) { var he = a + b; console.log("两数之和:" + he); } sum(3,4); //参数对象 function func(a,b,c){ console.log( arguments.length ); // 获得参数的个数 console.log( arguments[1] ); // 获得下标为1的参数 } //构造函数 /* "a" "b" 为参数, "return a*b"是返回值 */ var myFunction = new Function("a", "b", "return a * b"); var x = myFunction(4, 3); console.log(x); //匿名函数:需要用一个变量来接收返回值 var fn=new function(a,b){ return a+b; }; //全局函数 //isNaN(args):检查其参数是否是非数字值 console.log( isNaN( 123 ) ); // 数字,false console.log( isNaN( "hello" ) ); // 非数字,true console.log( isNaN( 4-1 ) ); // 数字,false console.log( isNaN( -10 ) ); // 数字,false console.log( isNaN( "123" ) ); // 数字,false console.log( isNaN( "1a23" ) ); // 非数字,true //eval:用来转换字符串中的运算 var str = "1+3"; console.log( str ); // 1+3 , +会认定为一种字符符号而已,没有加法的作用 console.log( eval( str ) ); // 让字符串中的运算符号生效 //encodeURI 与 decodeURI 编码和解码 var test = "拉勾网"; console.log( "转码前:" + test ); name = encodeURI(test); console.log( "转码后:" + test ); name = decodeURI(test); console.log( "解码后:" + test ); </script>普通弹框 alert(“hello,拉勾”);
控制台日志输出 console.log(“谷歌浏览器按F12进入控制台”);
页面输出 document.write("<h2>我爱你中国</h2>"); 将<h2>元素输出到<body>中
确认框 confirm(“确定删除吗?”);
输入框 prompt(“请输入姓名:”);
getElementById:通过id属性获得元素节点对象 getElementsByName:通过name属性获得元素节点对象集 getElementsByTagName:通过标签名称获得元素节点对象集
可对以下内容进行修改:
改变 HTML 内容 改变 CSS 样式改变 HTML 属性创建新的 HTML 元素 <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .d1,.d2{ width: 300px; height: 300px; outline: 2px yellow solid; } </style> </head> <script> function add(){ var img=document.createElement("img");//创建<img>标签 img.setAttribute("src","img/img1.jpg");//设置src属性以及图片路径 img.style.width="300px";//设置图片宽度 img.style.height="300px";//设置图片高度 var divs=document.getElementsByTagName("div");//获得所有div元素集合 divs[0].appendChild(img);//给第一个div添加子元素 } </script> <body> <div class="d1"></div> <button onclick="add()">添加图片</button> </body>删除已有的 HTML 元素 <script> function del(){ var img = document.getElementById("image"); img.parentNode.removeChild(img); // 必须通过父节点,才能删除子节点 } </script> 改变事件(处理程序)
可用作页面跳转
<script> function go(){ console.log("当前浏览器地址:"+location.href); // location.reload();//刷新页面 location.href="http://www.baidu.com"; } </script> <body> <button onclick="go()">测试</button> </body>开启一个浏览器代表一个会话。
<script> //保存数据 sessionStorage.setItem("name", "klay"); //提取数据 var lastname = sessionStorage.getItem("name"); //删除指定键的数据 sessionStorage.removeItem("name"); //删除所有数据 sessionStorage.clear(); </script>