第一部分:用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. 武汉科技大学ACM :1007: 华科版C语言程序设计教程(第二版)习题7.10

    Problem Description 输入n(n<100)个字符串,每个字符串长度不超过1000,将他们按字典顺序输出. Input 多组测试样例. 每组第一行有一个整数n表示有n个字符串. ...

  2. Libevent源码分析(一):最小堆

    Libevent中的timeout事件是使用最小堆来管理维护的.代码位于<minheap-internal.h>. 看函数命名和代码风格应该是一个C++程序员,函数名都挺好懂的,只是下面这 ...

  3. 发布一款仿天猫产品放大镜JQuery插件

    效果如下图: 1.原图 2.放大镜效果: 插件源码如下: /* * * JQUERY 简洁无极放大镜插件-zoomer * Author:盛世游侠 * QQ:418873053 * Date:2013 ...

  4. validate插件深入篇

    1.使用valid()来验证表单是否填写正确: <form id="mainform"> <button id="check">< ...

  5. python笔记——第二天

    早上6:40起床,睡眼惺忪,学学代码提提神.学完了条件语句. input函数输入值为字符串,处理前转化为int()或float()或其他. if else elif 注意书写格式,否则容易出现synt ...

  6. 成功启动了Apache却没有启动apache服务器

    原因没有用管理员身份运行...

  7. 【GoLang】golang 微服务框架 go-kit

    golang-Microservice Go kit - A toolkit for microservices kubernetes go-kit_百度搜索 Peter Bourgon谈使用Go和& ...

  8. Special Pythagorean triplet

    这个比较简单,慢慢进入状态. A Pythagorean triplet is a set of three natural numbers, a b c, for which, a2 + b2 = ...

  9. nginx入门配置

    user www www; worker_processes 4; error_log logs/error.log; #pid logs/nginx.pid; events { worker_con ...

  10. 俄罗斯方块:Python实现

    网上搜到一个Pygame写的俄罗斯方块(tetris),大部分看懂的前提下增加了注释,Fedora19下运行OK的 主程序: #coding:utf8 #! /usr/bin/env python # ...