网络编程
位置:首页>> 网络编程>> 网页设计>> 浅析阿里巴巴前端招聘考题

浅析阿里巴巴前端招聘考题

作者:zbm2001z 来源:蓝色理想 发布时间:2008-01-19 09:52:00 

标签:阿里巴巴,招聘,css,javascript,布局

1.用CSS实现布局

让我们一起来做一个页面,首先,我们需要一个布局。

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

考察应试者的基本布局知识——浮动或绝对定位(显然,后者在流体布局各区块自适应内容高度的情况下并不适用)。

这里给一个通常的布局方案:

<style type="text/css">
div{background:#ccc;}
h2{margin:0;}
#firstly{
    float:left;
    width:200px;
}
#secondly{
    clear:left;
    float:left;
    margin-top:10px;
    width:200px;
}
#thirdly{
    margin-left:210px;
}
</style>
<div id="firstly"></div>
<div id="secondly"></div>
<div id="thirdly"></div>


然而在IE6-中,当:

<style type="text/css">
div{background:#ccc;}
h2{margin:0;}
#firstly{
    float:left;
    width:200px;
}
#secondly{
    clear:left;
    float:left;
    margin-top:10px;
    width:200px;
}
#thirdly{
    margin-left:210px;
    width:400px; /* 然而在IE6-中,当width设定为除auto(默认值)以外的值时,触发Layout特性,会整体向右产生3像素偏移bug */
}
</style>
<div id="firstly"></div>
<div id="secondly"></div>
<div id="thirdly"></div>


或是:

<style type="text/css">
div{background:#ccc;}
h2{margin:0;}
#firstly{
    float:left;
    width:200px;
}
#secondly{
    clear:left;
    float:left;
    margin-top:10px;
    width:200px;
}
#thirdly{
    margin-left:210px;
    height:200px; /* 然而在IE6-中,当height设定为除auto(默认值)以外的值时,触发Layout特性,左边缘会向右产生3像素偏移bug */
}
</style>
<div id="firstly"></div>
<div id="secondly"></div>
<div id="thirdly"></div>


最终调整为一个比较健壮的流体布局方案:

<style type="text/css">
div{background:#ccc;}
h2{margin:0;}
#firstly{
    float:left;
    width:200px;
}
#secondly{
    clear:left;
    float:left;
    margin-top:10px;
    width:200px;
}
#thirdly{
    -zoom:1; /* 在IE6-中,初始化触发Layout */
    margin-left:210px;
    -margin-left:207px; /* 修正IE6-中触发Layout后3像素偏移bug */
}
</style>
<div id="firstly"></div>
<div id="secondly"></div>
<div id="thirdly"></div>


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com