书签 分享 收藏 举报 版权申诉 / 10

类型学习笔记七常见前端面试题之HTMLCSS部分二.docx

  • 文档编号:8143439
  • 上传时间:2023-01-29
  • 格式:DOCX
  • 页数:10
  • 大小:58.93KB

  正常的应该是:

  但在IE6中是这样的:

  加上display:

inline;后才正常。

  3、在ie6,ie7中元素高度超出自己设置高度。

原因是IE8以前的浏览器中会给元素设置默认的行高的高度导致的。

解决方案是加上overflow:

hidden或设置line-height为更小的高度。

测试代码:

.one{

height:

5px;

width:

100px;

background:

#F60;

}

  HTML没变,还是

,在IE6下显示为:

  这个一看就知道不止5px,CSS改为下面两种之一就可以了:

.one{

height:

5px;

width:

100px;

overflow:

hidden;

background:

#F60;

}

/*--或--*/

.one{

height:

5px;

width:

100px;

font-size:

2px;

line-height:

2px;

background:

#F60;

}

  注意这里加了line-height:

2px后还要加上font-size才行。

效果如图:

  4、min-height在IE6下不起作用。

解决方案是添加height:

auto!

important;height:

xxpx;其中xx就是min-height设置的值。

  5、透明性IE用filter:

Alpha(Opacity=60),而其他主流浏览器用opacity:

0.6;

  6、a(有href属性)标签嵌套下的img标签,在IE下会带有边框。

解决办法是加上aimg{border:

none;}样式。

  7、input边框问题。

去掉input边框一般用border:

none;就可以,但由于IE6在解析input样式时的BUG(优先级问题),在IE6下无效。

  ie6的默认CSS样式,涉及到border的有border-style:

inset;border-width:

2px;浏览器根据自己的内核解析规则,先解析自身的默认CSS,再解析开发者书写的CSS,达到渲染标签的目的。

IE6对INPUT的渲染存在bug,border:

none;不被解析,当有border-width或border-color设置的时候才会令IE6去解析border-style:

none;。

  解决方案是用:

border:

0或border:

0none;或border:

none:

border-color:

transparent;,推荐用第三种方案。

  8、父子标签间用margin的问题,表现在有时除IE(6/7)外的浏览器子标签margin转移到了父标签上,IE6&7下没有转移。

测试代码:

.box1{

height:

150px;

background:

#CCC;

}

.box1_1{

height:

50px;

margin-top:

50px;

background:

#AAA;

}

box1_1

  chrome&FireFox&IE8&IE9下的效果为:

  IE6&IE7下的效果:

  对于这两种显示效果,我倒认为IE6&IE7是正确的,不知道是否有朋友能给出解释。

  解决办法就是父子标签间的间隔建议用padding,兄弟标签间用margin。

  9、假设两块div,第一块浮动而第二块没有浮动,IE6下第二块就会跑到第一块边上,并且二者之间还留有间距,但标准浏览器中是第二块重合于第一块。

测试代码:

div{

width:

100px;

height:

100px;

border:

1pxsolid#CCC;

}

.one{

float:

left;

height:

50px;

}

One

Two

  正常应该是:

  IE6中是:

  解决办法是改变设计思路,如果真有两个div重合的需求,可以用下面的代码实现:

div{

width:

100px;

height:

100px;

border:

1pxsolid#CCC;

}

.parent{

position:

relative;

}

.one{

position:

absolute;

left:

0;

top:

0;

}

One

Two

  10、父子关系的标签,子标签浮动导致父标签不再包裹子标签。

测试代码:

.parent{

background:

#888;

border:

5pxsolid#888;

}

.one{

float:

left;

width:

100px;

height:

100px;

background:

#F60;

}

One

  在IE、Chrome、Firefox下都是下面的效果:

  可以看到父元素并没有包裹子元素,这是因为float造成的,解决方案是清除浮动就行了,用下面的代码可以解决:

.parent{

background:

#888;

border:

5pxsolid#888;

zoom:

1;/*--forIE--*/

}

.parent:

after{/*--forotherbroswer--*/

content:

".";

display:

block;

line-height:

0;

clear:

both;

visibility:

hidden;

}

.one{

float:

left;

width:

100px;

height:

100px;

background:

#F60;

}

One

  现在效果是:

  最后关于float力荐两篇文章:

CSSfloat浮动的深入研究、详解及拓展

(一)、CSSfloat浮动的深入研究、详解及拓展

(二)

如何居中一个浮动元素?

  父元素和子元素同时左浮动,然后父元素相对左移动50%,再然后子元素相对右移动50%,或者子元素相对左移动-50%也就可以了。

DOCTYPEhtml>

Demo

.p{

position:

relative;

left:

50%;

float:

left;

}

.c{

position:

relative;

float:

left;

right:

50%;

}

TestFloatElementCenter

你如何管理CSS文件、JS与图片?

  1、对各个项目中CSS,JS里的稳定的通用代码进行提取,形成公共文件,然后利用CDN等资源进行缓存,减轻服务器压力。

  2、去掉JS、CSS里的冗余代码,对代码进行精减。

  3、对JS、CSS进行压缩合并,减少请求次数。

  4、对页面上的小图标,背景等图片进行合并,减少请求次数。

  5、JS、CSS、图片均用版本控制工具进行管理,方便修改与恢复。

  我能想到的就这么多,请大家继续补充。

小结

  以上总结只是依据本人目前的水平给出的自己的看法,不确保严格正确,如果有误欢迎大家指出。

  以上题目主要是选自淘宝2011年HTML&CSS面试题的剩余几题。

如果大家有什么好的前端面试题,欢迎提供。

举报
举报
版权申诉
版权申诉
word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰! 立即下载
配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
学习 笔记 常见 前端 试题 HTMLCSS 部分
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:学习笔记七常见前端面试题之HTMLCSS部分二.docx
链接地址:https://www.bdocx.com/doc/8143439.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开