• Web前端开发面试题赋答案


    第一部分:用CSS实现布局

    让我们一起来做一个页面

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

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

     

    第二部分:用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{100px; height:150px}  

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

    #third{ 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代码没有放在页面的后面,加载速度慢尚未显示出来。或者是页面地址出错了。

     

  • 相关阅读:
    做事的底线和逻辑
    我在华为的十年----徐家俊
    华为的冬天
    如何当好一个师长--林彪
    Base64 的那些事儿
    流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
    软件目的需求开发与管理
    车载行业认证资质
    tcpdump抓包分析 https://www.01hai.com/note/av263669
    packages.conifg
  • 原文地址:https://www.cnblogs.com/webbest/p/5618672.html
Copyright © 2020-2023  润新知