Web前端期末复习【超实用】

教材:《Web前端开发技术——HTML、CSS、JavaScript(第2版)》

聂常红 主编 王刚 潘正军 唐远强 副主编  这本书讲得较浅,自学的话不推荐购买!对你有帮助的话记得点赞、关注哦!

我们是手机端考试。教这门课的老师很漂亮也很尽职,每节课我们都要用手机签到、做课堂习题(巩固刚讲的内容),课后还布置适量作业,这些都计入平时成绩。老师的PPT相比其他老师的更容易理解(可能是前端本身的原因),讲到什么就运行该代码,演示给我们看结果。虽然有些沮丧于我的期末成绩并不高,但这位老师无疑给我留下了较深刻的印象。

这本书的HTML内容完完整整总结如下(书上有些属性已过时)

 本复习资料适合对前端有所了解的人,代码复制到CSDN上有点排版错误,这是我手动调的(排版)。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>HTML学习总结</title>
    <meta name="keywords" content="关键字1,关键字2,..." />
    <meta name="discription" content="网站简介" />
    <meta name="copyright" content="本资料版权归Pigeon所有。All Rights Reserved">
    <meta http-equiv传送HTTP通信协议标题头="content-type" content="text/html定义文档的MIME类型" />
    <meta http-equiv键-值对="refresh" content="3" /><!--每隔3秒刷新一次-->
    <meta http-equiv="refresh" content="刷新间隔时间;url=页面地址" /><!--自动跳转-->		
</head>
<body background="图片路径" bgcolor="" bgproperties="fixed" link="" alink="" vlink="" leftmargin="">
    &quot;<!--"--> &lt;<!--<--> &copy;<!--©--> &trade;<!--™-->
    &amp;<!--&--> &gt;<!-->--> &reg;<!--®-->
    <h2 align=""><font face="隶书" color="" size="">字号默认为3</font></h2>
    <b></b><strong>粗体</strong>
    <i></i><cite></cite><em></em><var>斜体</var>
    <sup>上标</sup><sub>下标</sub><big>大号字</big><small>小号字</small><u>下划线</u>
    <s></s><strike>删除线</strike>
    <p>单标记只跟上文产生一空行间隔,双标记则与上下文都产生</p>
    两个<br />等效于一个<p>单标记
    <pre>
        预格式化标记
    </pre>
    <center>居中标记</center><blockquote>缩排标记</blockquote>
    <hr width="" size="" align="" noshade="noshade" color="" />水平线
    <ol type="1/a/A/i/I(前导符)" start="3(起始编号)">
        <li>有序列表</li>
    </ol>
    <ul type="disc●/circle○/square■">
        <li>无序列表</li>
    </ul>
    <dl><!--声明定义列表-->
	<dt>名词一</dt>
	<dd>解释一</dd>
	<dd>解释二</dd>
    </dl>
    <img src="" width="" height="" alt="提示文本" vspace="垂直间距" hspace="水平间距" border="" />
    <marquee direction="up/down/left/right滚动方向" behavior="scroll/slide/al滚动行为" scrollamount="速值默认为6" scrolldelay="默认100毫秒">滚动字幕</marquee>
    <embed src="视频路径" width="" height="" hidden="hidden">嵌入视频</embed>
    <object classid="" codebase="url">
	<param name="" value="动画路径" />
	<embed pluginspage="http://www..." src="" type="application/x-shockwave-flash"></embed><!--专门针对Netscape网景-->
    </object>
    <bgsound src="音乐路径" loop="-1循环播放"></bgsound><!--默认播放一次-->
    <applet code="xx.class">Java小程序</applet>
    <!--嵌套分割窗口-->
    <frameset name="作为超链接的target" cols="水平分割(像素/百分比)" rows="垂直分割" frameborder="默认1(0即no)" framespacing="" />
    <noframes><body>浏览器版本过低,不支持框架</body></noframes>
    <iframe name="" src="" noresize="省略时可调节窗口大小" scrolling="auto/no/yes" >若要使浮动框架在水平居中,需在外嵌套一个<div align="center"></iframe>
    <a href="目标端点" target="_blank新窗口打开/_parent/_search/_self/_top忽略框架在整个窗口中打开"></a>
    <!--http://——www进入万维网
        mailto:收件人邮址?subject=主题名&cc=抄送邮址&bcc=暗抄送邮址——E-mail启动邮件发送系统
	ftp://——FTP进入文件传输服务器
	telnet://——Telnet启动远程登录方式
	news://——News启动新闻讨论组-->
    <a name="#书签名(内部书签)/file_url#书签名(外部书签链接)" href="脚本链接/文件下载链接">
        <img src="图片链接" />
    </a>
    <!--图像映射-->
    <img src="地图链接" usemap="#Map" />
    <map name="Map">
	<area shape="rect/circle" coords="x1,y1,x2,y2前两个是顶点坐标;后两个是右下顶点/x,y,r前两个是圆心;后一个是半径" href="#Asia" alt="亚洲" />
    </map>
    <table border="像素" bordercolor="" bgcolor="" background="" cellpadding="内容边距" cellspacing="间距默认为2">
    <caption align="left/center水平居中/right" valign="top/middle垂直居中/bottom">表格标题</caption>
    <tr>
	<th></th>
    </tr>
    <tr>声明一行
	<td>声明一单元格</td>
    </tr>
    </table>
    <form name="" action="" method="post/get(P116)" οnsubmit="指定处理表单的脚本函数" enctype="设MIME类型,默认application/x-www-form-urlencoded;若需上传文件到服务器时应改为multipart/form-data">
        <input type="text/password/file/hidden隐藏域传递value值/radio/checkbox/button默认没字/submit/reset默认写“重置”/image" name="" maxlength="最多可输入" size="默认24" value="默认值" checked="checked" οnclick="delete"/>
        <script>
	    function delete(){
	        if(confirm("确定要删除吗?"))
		    window.location="delete.jsp";
	    }
        </script>
        <select name="fruits" size="2" multiple="multiple">
	    <option value="apple" selected="selected">选择列表</option>
        </select>
        <textarea name="remark" rows="行数" cols="列数"></textarea>
    </form>
	<!--html(Hypertext Markup Language)超文本传输语言
            http(Hypertext Transfer Protocol)超文本传输协议
	    URL(Uniform Resource Locator)统一资源定位符
	    W3C(World Wide Web Consortium)万维网联盟
	    CSS(Cascading Style Sheet)层叠样式表-->
</body>
</html>

这本书的CSS内容总结(书本只列举最常用的东西)

 一、标记选择器

                        

二、字体属性

                         font-size(绝对大小、相对大小、百分数、具体值pt、px、in)

                         font-family

                         font-weight(normal、lighter、bold、bolder)

                         font-style(normal、italic=oblique)

三、文本属性

                         text-indent首行缩进,常用单位是pt

                         line-height行间距,常用单位是pt

                         letter-spacing字间距,常用单位是pt

                         text-decoration(underline、overline、line-through、none)

                         text-align(left、center、right、justify两端对齐)

四、列表属性

                         list-style-image用图像作为列表项的引导符号

                         list-style-position决定缩进程度(outside列表贴近左侧边框显示、inside列表缩进显示)

                         list-style-type(none、disc●、circle○、square■、decimal普通数字、lower-roman小写罗马字、upper-roman大写罗马字、lower-alpha小写英文、upper-alpha大写英文)

 五、颜色和背景

                         color

                         background-color

                         background-image

                         background-repeat(repeat-x横向重复、repeat-y纵向、repeat、no-repeat)

                         background-position(left、right、center、top、bottom)                      

六、区块

                         width、height、float让文字环绕周围、clear禁止浮动元素出现在所属对象旁边、padding内边距、margin外边距(top、bottom、left、right)

七、层属性(允许盒子重叠)

                         top(单位px)、left、width、height、Z-index包含正负数,决定层的先后顺序和覆盖关系,值高的覆盖较低的

                         clip限定只显示裁切出来的区域,该区域是矩形。只要设置两点即可(矩形左上角顶点由top和left设置、右下角由bottom和right设置)

                         overflow(visible当层内的内容超出层所能容纳的范围时可见、hidden、scroll、auto)

                      ★定位流position(static静态定位、relative相对定位、absolute绝对定位、fixed固定定位)

static:默认属性值,盒子按照标准流(包括浮动方式)进行布局。

relative:相对于自己以前在标准流中的位置偏移指定距离。通过left、right、top、bottom指定偏移量。

                         在相对定位中同一方向上的定位属性只能使用一个;

                         ∵相对定位是不脱离标准流的,会继续在标准流中占用空间 ∴区分块级元素、行内元素、行内块级元素且设margin、padding等属性会影响标准流的布局。

                         一般用于盒子位置的微调。

absolute:相对于body或某定位流(非static属性)中的祖先元素来偏移。默认是相对于body定位的,会随着页面的滚动而滚动。

                         ∵脱离标准流,不会占用标准流的位置 ∴不区分 ~

                         绝对定位元素会忽略祖先元素的padding

                         一般配合相对定位来使用,不会单独出现 eg.做覆盖效果

fixed:盒子位置固定在浏览器窗口上。

                         ∵脱离标准流,不占位 ∴不区分


当给一个元素设置的宽高无效时,可以通过display将模式转换:块↔行内 ;块、行内→行内块

块级元素display="block"独占一行。可任意设置其大小、内外边距(宽度默认为所在容器的100%),是用于搭建网页布局的必须部分,使网页结构更紧凑。常见的块级元素有<div>、<h1>~<h6>、<p>、<ul>、<table>等,其中<div>是最常用最典型的。可容纳行内元素和其他块元素。特殊:文字类的块级元素不能放块元素,例如<p>/<h1>~<h6>/<dt>。

行内/内联元素display="inline":和相邻的行内元素在同一行上。设置宽高无效(默认宽高是他自身内容的宽高)。水平方向的padding和margin属性可以设置,但垂直方向上的无效。行内元素只能容纳其他行内元素或者文本。特殊:<a>可以放块级元素,但是链接里面不能再放链接。

行内块级元素display="inline-block"和相邻行内元素在同一行,但是之间会有空白缝隙。默认宽度是他本身内容的宽度。宽度、高度、行高、内外边距和对齐模式都可以手动设置。如<img>、<input>、<td>。


八、盒子模型  

                        

                         border-color

                         border-width

                         border-style:none、hidden、dotted、dashed、solid、double

                         padding设置1个属性值:表示上下左右4个内边距。

                         padding设置2个属性值:前者表示上下内边距,后者表示左右内边距。

                         padding设置3个属性值:前者表示上内边距,中间者表示左右内边距,后者表示下边距。

                         padding设置4个属性值:依次表示上、右、下、左内边距(顺时针)。

padding是内边距,不会影响盒子的外部,而margin是外边距,直接影响。

       两个行内元素间的水平间距 = 左边元素的右外边距 + 右边元素的左外边距

       两个块级元素间垂直间距 = Max(上边元素的下外边距,下边元素的上外边距) 称为margin的"塌陷"现象,即较小margin塌陷到较大margin中了的块级元素间的垂直定位。

        父子盒子嵌套,当子div的margin为正值时:父盒子宽度随浏览器自由延伸,子盒子宽度随父盒子之变而变

                        

        当子div的margin为负值时:①子盒子本身没有宽度,会增加元素宽度 ②子盒子本身有宽度,会产生位移

                          情况①               情况②

        ③margin-top= -100px 却产生了向上50px的位移  (挠头疑惑!

                                   

                         float:none、left、right,非none的属性值将所有对象视作“块对象block-level”,忽略它原有的display值,并脱离标准流。默认情况下,根据对象内容来决定其宽、高。非浮动对象会代替浮动对象在标准流中的位置,且其文字内容会围绕浮动对象。

九、Div标记&Span标记

                         <div>是区块容器标记,块级元素,<div>内的元素会自动换行,这是与<span>的区别所在。<div>容器装的是内容,CSS作为装饰内容的样式。

                         <span>是相对<div>较小的容器,行内元素,在它前后不会自动换行,没有结构意义,纯粹应用CSS。

                         DIV+CSS布局&表格布局の比较:

                        ●通过<table>各个单元格可轻松划分模块,制作简单;CSS通过<div>来划分模块,同时需要调整各模块间的位置及排列。

                        ●各模块放在<table>内,会随着单元格的大小自动调整,背景颜色等设置比较简单;DIV+CSS的模块层层嵌套,背景颜色等样式属性设置比较复杂。

                        ●单元格可加入CSS的margin和padding等属性控制效果。

                        ●表格布局比DIV+CSS布局维护要困难。eg.要对换left和right的内容,表格布局的工作量与制作新的页面相当,而DIV+CSS布局只需修改位置即可。

十、鼠标属性

                         cursor:default、pointer手形状、crosshair十字交叉、text文本选择、wait为Windows的沙漏形、help问号、e-resize指向东的箭头、ne-resize东北、n-resize北、nw-resize西北、w-resize西、sw-resize西南、s-resize南、se-resize东南)

十一、滤镜属性

                        filter:mark为对象建立一个覆盖于表面的膜、blur模糊效果、chroma设对象中指定的颜色为透明色、dropShadow阴影效果、flipH水平翻转、flipV垂直翻转、glow光晕、invert对象的可视化属性全部翻转,包括色彩、饱和度和亮度、shadow在指定方向建立物体投影、wave把对象按垂直波纹样式打乱、xray使对象产生X光片效果、alpha设透明度

十二、在HTML中用CSS                                 

                         解决CSS冲突:

                         ●优先级:内联式(直接在<body>标签里写style="...") > 内嵌式(写在<head>里的<style>里) > 外部链接(<link href="..." type="text/css" rel="stylesheet">实现了页面框架代码与CSS代码完全分离,使得前期制作和后期维护都十分方便) > 导入式(在<head>中的<style>里写@import url(xx.css))

                         ●在多个外部样式中,后出现的样式的优先级高于先出现的样式

                         ●在样式中,选择器的优先级:ID样式 > class样式 > 标记样式

                         导入式&链接式の区别:

                         ■被导入的HTML文件在初始化时,会将该CSS文件导入HTML文件中,作为此HTML文件的一部分,类似于内嵌式。

                         ■链接式是在HTML文件的标记需要CSS时才会以链接方式被导入进来。

JavaScript目前我不想写了

部分课堂作业(献丑了,不放代码,纯属留念)

 

实验课实验三作业(其它的没保留)

1、将1~10之间的奇偶数分开,页面呈现方式如下:

<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>将1~10之间的奇偶数分开</title>
     <script type="text/javascript">
     for(var i=1;i<=10;i++){
         if(i%2==0){
	      document.write("i="+i+"是偶数"+"<br>");
	 }else{
	      document.write("i="+i+"是奇数"+"<br>");
	 }
     }
     </script>
</head>
<body>
</body>
</html>

 

2、任意输入一个年份,判断是否为闰年。

<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>任意输入一个年份,判断是否为闰年</title>
     <script type="text/javascript">
      	  function check(){
	       var date=year.value;
	       if(date%4==0 && date%100!=0){
	            alert(date+"是闰年");
 	       }else if(date%400==0){
		    alert(date+"是闰年");
	       }else{
		    alert(date+"不是闰年");
	       }
          }
         
     </script>
</head>
<body>
    请输入年份:
    <input name="year"type="text"id="year">
    <input type="button"value="是否是闰年"οnclick="return check()">
</body>
</html>

 

3、任意输入一个字符串,单击“确定”按钮,输出字符串的长度。

<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>任意输入一个字符串,单击“确定”按钮,输出字符串的长度</title>
     <script type="text/javascript">
          function measure(){
		var s=string.value;
		alert("字符串"+s+"的长度是"+s.length);
	  }
     </script>
</head>
<body>
    请输入一个字符串:
    <input name="string"type="text"id="string">
    <input type="button"value="确定"οnclick="return measure()">
</body>
</html>

 

4、设计实现一个带开关的时钟。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>带开关的时钟</title>
    <script>
        var a = 0;  //0:开 1:关
        function time() {
            T = window.setTimeout("time()", 1000);
            var today = new Date();
            document.clock.disp.value = today.toLocaleString();
            if (a == 1) {
                document.clock.disp.value = '';
                clearTimeout(T);
                a = 0;
            } else {
                if (a == 0) {
                    var T = setTimeout('time()', 1000);
                    a = 1;
                }
            }
        }
    </script>
</head>
<body>
    <form name="clock">
        <input type="text" name="disp" value="" size=30 onFocus="this.blur()">
        <br>
        <input type="radio" name="sjq" value="off" onClick="time()" checked>
        关
        <input type="radio" name="sjq" value="on" onClick="time()">
        开
    </form>
</body>
</html>

5、设计实现一个页面,要求如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>欢迎光临</title>
    <script language="javascript">
        function check(){
                var name= document.form1.name.value;
                var pwd= document.form1.pwd.value;
                if((name=="") || (name==null)){
                    alert("请输入用户名:");
                    document.form1.name.focus();
                    return;
                }else if ((pwd=="") || (pwd==null)){
                    alert("请输入密码:");
                    document.form1.pwd.focus();
                    return;  
                }else{
                    document.form1.submit();
                }
       }
</script>
</head>
<body>
     <h4>请输入用户信息:</h4>
     <form name="form1" action="" method="post">
           用户名:<input type="text" name="name"><br/>
           密码: <input type="password" name="pwd" size="20"><br/>
           性别: <input type="radio" value="female" name="gender"/>女
                 <input type="radio" value="male" name="gender"/>男<br/>
           爱好:<input type="checkbox" value="music" name="m1"/>音乐
                <input type="checkbox" value="swimming" name="m2"/>游泳
                <input type="checkbox" value="playing" name="m3"/>游戏<br/>
	   城市:
           <select name="city">
		<option value="city1"selected="selected">石家庄</option>
   		<option value="city2">老马头</option>
 		<option value="city3">北京</option>
           </select><br/>
           个人简介:<textarea name="remark" row="30" cols="30">请在此处填写自己相关信息</textarea><br/>
           <input type="button" value="提交" οnclick=" return check()">     
           <input type="reset" value="重置"/>   
</form>
</body>
</html>

 

6、设计实现如下页面:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>学生信息呈现</title>
</head>
<script>
    var age;
    function alter(){
        var age = prompt("请输入年龄","20");
        document.form1.age.value=age;
    }
</script>
<body>
<form name="form1">
    张三的年龄为:<input type="text" name="age" value="20"/>
    <input type="button"  value="修改年龄" οnclick="alter()"/>
</form>
</body>
</html>

 

7、设计实现如下页面:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>计算喜欢的颜色</title>  
</head>
<script type="text/javascript">
       function form1(){
           var x=document.getElementsByName("color");
           var m=0; 
           var n=false;
           for(var i=0;i<x.length;i++)
           {
               if(x[i].checked)
               {
                  n=true;
                  m++;
               }
           }
           alert("你喜欢"+m+"种颜色");    
      }
</script>
<body>
    请选择你喜欢的颜色: <br/>      
    <input type="checkbox" id="c" name="color" value="1"/>红色
    <input type="checkbox" id="c" name="color" value="2"/>绿色
    <input type="checkbox" id="c" name="color" value="3"/>蓝色<br/> 
    <input type="button" onClick="form1()" value="请单击"/> 
</body>
</html>

 

8、设计实现如下页面:

<--index.html-->
<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>设计页面</title>
</head>
<frameset cols="17%,*">
    <frame src="menu.html"name="menu"/>
    <frameset rows="15%,*">
        <frame src="top.html"name="top"/>
        <frame src="default.html"name="right"/>
    <frameset/>
</frameset>
</html>
<--default.html-->
<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>default</title>
</head>
<body>
    <center>
    <h1><font color="red">Welcom</font></h1>
    </center>
</body>
</html>
​<--menu.html-->
<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>menu</title>
</head>
<body>
    <ul>
        <li><a href="right.html"target="right">会员登录</a></li>
        <li><a href=""target="right">热门优惠</a></li>
        <li><a href="default.html"target="right">回首页</a></li>
    </ul>
</body>
</html>​
<--right.html-->
<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>任意输入一个字符串,单击“确定”按钮,输出字符串的长度</title>
     <script type="text/javascript">
          function register(){
		
	  }
     </script>
</head>
<body>
    请输入大名:
    <input name="string"type="text"id="string">
    <input type="button"value="填写完毕"οnclick="return register()">
</body>
</html>
​<--top.html-->
<html>
<head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <title>滚动字幕</title>   
</head>
<body>
     <marquee direction="right"behavior="alternate">亲爱的<font color="red"><u>无名氏</u></font>会员,欢迎你!
    </marquee>
</body>
</html>​

 

9、设计实现如下效果:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>倒计时五秒后跳页面</title>
    <script>
        function countDown(){
            //获取初始时间
            var time = document.getElementById("Time");

            //获取到id为time标签中的数字时间
            if(time.innerHTML == 0){
                //等于0时清除计时,并跳转该指定页面
                window.location.href="http://www.ccut.edu.cn/";
            }else{
                time.innerHTML = time.innerHTML-1;
            }
        }
        //1000毫秒调用一次
        window.setInterval("countDown()",1000);
    </script>
    <style>
        #Time,#p{
            font-size: 150px;
            text-align: center;
        }
        #Font,#p{
            font-size: 100px;
            text-align: center;
        }
    </style>
</head>
<body>
    <font color="yellow"><p id="Time" >5</p></font>
    <h1>长春工业大学</h1>
    <h2>http://www.ccut.edu.cn/</h2>
    页面跳转倒计时:<span id="myspan">5</span>
    <p id="Font">将跳转至主页</p>
</body>
</html>

 

期末考试最后两大题(其它的没保留截图)

 纸上写代码

发布了45 篇原创文章 · 获赞 143 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41587612/article/details/104230324