第一部分:用CSS实现布局

让我们一起来做一个页面

首先,我们需要一个布局。

请使用CSS控制3个div,实现如下图的布局。

第二部分:用javascript优化布局

由于我们的用户群喜欢放大看页面

于是我们给上一题的布局做一次优化。

当鼠标略过某个区块的时候,该区块会放大25%,

并且其他的区块仍然固定不动。

提示:

也许,我们其他的布局也会用到这个放大的效果哦。可以使用任何开源代码,包括曾经你自己写的。

关键字:javascript、封装、复用

第三部分:处理紧急情况

好了,我们的页面完成了。

于是我们将页面发布上网。

突然,晴天霹雳,页面无法访问了,这时候,你会怎么做?

面试题到此为止,你是否能够对答如流呢,仔细想一下,然后在翻页看一下答案。

答案部分

第一题:主要考虑几个问题:1. IE6 的 3 像素 BUG;2. 清楚浮动;

CSS代码:

div{background:#CCCCCC;}

#first{float:left;width:100px; height:150px}

#second{clear:left;float:left;margin-top:10px;width:100px;height:150px}

#third{zoom:1; width:200px;margin-left:110px;_margin-left:107px; height:310px}

XML/HTML代码

<div id="first"></div>

<div id="second"></div>

<div id="third"></div>

 第二题:用javascript优化布局

提示:

也许,我们其他的布局也会用到这个放大的效果哦。

可以使用任何开源代码,包括曾经你自己写的。

关键字:javascript、封装、复用

惭愧啊,用上边那个布局我怎么也没把它优化出来,硬这头皮用绝对定位改了布局;

所以样式改成了这样:

body{ margin:0; padding:0}

div{background:#CCCCCC; position:absolute}

#first{width:100px; height:150px}

#second{top:160px;width:100px;height:150px}

#third{ width:200px; height:310px; left:110px}

javascript 要考虑封装、复用

function zoom(id,x,y){ // 设置缩放函数参数:容器id、横向缩放倍数、纵向缩放倍数(等比例缩放时也可以设定一个参数)

var obj=document.getElementById(id); // 获取元素对象值

var dW=obj.clientWidth; // 获取元素宽度

var dH=obj.clientHeight; // 获取元素高度

//var oTop=obj.offsetTop;

//var oLeft=obj.offsetLeft;

obj.onmouseover=function(){ // 鼠标移入

this.style.width=dW*x+"px"; // 横向缩放

this.style.height=dH*y+"px"; // 纵向缩放

this.style.backgroundColor="#f00″; // 设置调试背景

this.style.zIndex=1; // 设置z轴优先

}

obj.onmouseout=function(){ // 鼠标移出,设回默认值

this.style.width="";

this.style.height="";

this.style.padding="";

this.style.backgroundColor="";

this.style.zIndex="";

}

}

zoom("first",1.25,1.25);

zoom("second",1.25,1.25);

zoom("third",1.25,1.25);

第三题也许是JS代码没有放在页面的后面,加载速度慢尚未显示出来。或者是页面地址出错了。

Web前端开发面试题赋答案的更多相关文章

  1. web前端开发面试题(答案)

    1.xhtml和html有什么区别? HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套.XHTML 元素必须被关闭.标签名必须 ...

  2. web前端开发面试题(附答案)-3

    1.用纯css创建一个三角形的原理: .demo{ width:0; height: 0; border: 5px solid transparent; border-left-color: red; ...

  3. web前端开发面试题(附答案)-1

    1.浏览器中输入url到网页显示,整个过程发生了什么 域名解析 发起tcp三次握手 建立tcp连接之后发起htttp请求 服务器端响应http请求,浏览器得到html代码 浏览器器解析html代码,并 ...

  4. web前端开发面试题(附答案)-2

    1.label是什么标签,有什么作用?和for属性使用的作用? label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上. label 元素不会向用户呈现 ...

  5. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  6. 【编码题篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    编写一个方法 求一个字符串的字节长度假设:一个英文字符占用一个字节,一个中文字符占用两个字节 function GetBytes(str){ var len = str.length; var byt ...

  7. web前端开发面试题(Vue.js)

    1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数?  ...

  8. Web前端开发面试题

    1. 以下的代码有问题吗?如果有你觉着应该如何修改? for(int i=0; i<list.size(); i++) {  .....  .....  if(...)  {   list.re ...

  9. 最全的前端开发面试题及答案(js,css等等)

    点击链接 https://github.com/HerbertKarajan/Fe-Interview-questions 我会不断的更新...... 若想自己留着,可以fork一下. 如果觉得不错, ...

随机推荐

  1. CSS 解决<td>里面内容太多把表格弄变形的原因,设置 自动换行。

    1 < style="word-break:break-all"> 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congra ...

  2. 修改MYSQL最大连接数的2种方法

    mysql默认最大连接数是100,增加加默认MYSQL连接数的方法有两个 方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini(windows) 或 my.cnf(linux环境)查找 ...

  3. zabbix 通过smtp 邮件报警

    注:sendemail 不是sendmail....sendemail是用perl语言写的一个smtp发邮件的小程序....详情可自行查阅..... 1. media 用户配置下的media. Adm ...

  4. 前端要怎么学createjs!!!???

    前端想做js开发,可以.但是思维要变通,思维要重塑.为啥?因为被div+css坑的有点深.这些都是我自己总结的,不知道其他人是不是这样. 在我看来div+css算是开发吗?肯定不是,这些东西有难的东西 ...

  5. 为什么要刷新一下才能获取cookie

    首先编写以下简单的代码: <?php setcookie('a','value'); print $_COOKIE['a']; 第一次访问时,报错: 报错的原因是$_COOKIE['a']的值不 ...

  6. OpenStack镜像制作-CentOS

    云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.p ...

  7. 关于接口使用getType的方法的问题

    C#代码如下:    public interface IConfigInfo    {    }    public class A : IConfigInfo    { }    public c ...

  8. 安卓u8800刷机

    一篇非常好的帖子:http://bbs.anzhi.com/thread-5113728-1-1.html 虽然不是什么大神,不过在两个QQ群里和这里解答过N多刷机和ROOT中遇到的问题了...而且伸 ...

  9. Windows 注册表操作

    经常操作注册表,然后得到一份操作注册表函数实现.这里备份下. #ifndef _REGEDIT_H #define _REGEDIT_H int RegRead_S (struct HKEY__*Re ...

  10. sicily 4379 bicoloring

    题意:输入一个简单(无多重边和自环)的连通无向图,判断该图是否能用黑白两种颜色对顶点染色,使得每条边的两个端点为不同颜色. 解法:由于无自连通节点存在,所以只需进行一次宽搜,遍历所有的点和所有的边,判 ...