最近发现阿里巴巴的Web前端开发面试题,共分三部分:CSS部分,JavaScript部分,紧急处理部分,分享给你们作个参考~ javascript
第一部分:用CSS实现布局 前端
让咱们一块儿来作一个页面 java
首先,咱们须要一个布局。 面试
请使用CSS控制3个div,实现以下图的布局。 函数
第二部分:用javascript优化布局 布局
因为咱们的用户群喜欢放大看页面 优化
因而咱们给上一题的布局作一次优化。 this
当鼠标略过某个区块的时候,该区块会放大25%, spa
而且其余的区块仍然固定不动。 调试
提示:
也许,咱们其余的布局也会用到这个放大的效果哦。可使用任何开源代码,包括曾经你本身写的。
关键字: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代码没有放在页面的后面,加载速度慢还没有显示出来。或者是页面地址出错了。