HTML基础:DIV+CSS常见面试题

作者: 来源: 更新时间:2012-12-05 16:42:24 点击:

1.超链接访问过后hover样式就不出现的问题?

被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序: L-V-H-A(link-visited-hover-active)

2.IE6的双倍边距BUG

例如:

<style type="text/css">
body {margin:0}
div { float:left; margin-left:10px; width:200px; height:200px; border:1px solid red }
</style>

浮动后本来外边距10px,但IE6下解释为20px,解决办法是加上display:inline

有时IE6下单单使用 margin-left/right 也会出现双倍,加display:inline 是可以解决的。(当float和margin同时使用时)

3.为什么FF下文本无法撑开容器的高度?

标准浏览器中固定高度值的容器是不会像IE6里那样被撑开的,又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉height设置min-height:200px; 这里为了照顾不认识min-height的IE6 可以这样定义:

div { height:auto!important; height:200px; min-height:200px; }

4.为什么web标准中IE无法设置滚动条颜色了?

原来样式设置:

<style type="text/css">
body { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff; }
</style>

解决办法是将body换成html

5.为什么无法定义1px左右高度的容器?

IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px

6.怎么样才能让层显示在FLASH之上呢?

解决的办法是给FLASH设置透明:

<param name="wmode" value="transparent" />

7.怎样使一个层垂直居中于浏览器中?

<style type="text/css">
<!--
div {
position:absolute;
top:50%;
left:50%;
margin:-100px 0 0 -100px;
width:200px;
height:200px;
border:1px solid red;
}
-->
</style>

这里使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二

8、firefox嵌套div标签的居中问题的解决方法

假定有如下情况:

<div id="a">
<div id="b"> </div>
</div>

如果要实现b在a中居中放置,一般只需用CSS设置a的text-align属性为center。这样的方法在IE里看起来一切正常;但是在Firefox中b却会是居左的。

解决办法就是设置b的横向margin为auto。例如设置b的CSS样式为:margin: 0 auto;。

9、网页制作中有哪几种样式设置方法?各有何特点?

     网页制作中有:内联式样式设置、直接嵌入式样式设置和外部链接式样式设置三种方式。

  1) 内联式样式设置:

  设置方法:直接在要设置样式的各标记元素中修改style属性;

  优点:直观、方便;

  缺点:不易于维护和修改;

  适用于:网页中个别需要修改的元素的样式定义;

  2) 直接嵌入式样式设置:

  设置方法:在HTML文档的<head></head>之间添加<style></style>定义,<style></style> 部分是所有需要设置样式的元素的属性定义。

  优点:对当前页面内的所有元素的样式修改、维护比较方便;

  缺点:对于网站建设,要采用相同的样式设置则比较麻烦;

  适用于:单独网页的样式定义;

  3) 外部链接式样式设置:

  设置方法:把所有样式定义放在一个独立的文件中,凡是需要使用该文件中规定样式的网页,只要在其<head></head>之间添加一个对该样式文件的链接:<linktype="text/css"href="MyStyle1.css"rel="Stylesheet" />即可;

  适用于:需要统一显示样式的网站建设。

10. 用户自定义的类和ID在定义和使用时有什么区别?

  定义时,类以英文形式的句点“.”为起始标志,ID以“#”为起始标志;使用时,类可以在一个页面中被多个不同的元素引用,而ID在一个页面中只能被引用一次。

11、float元素的父元素不能指定clear属性

  MacIE下如果对float的元素的父元素使用clear属性,周围的float元素布局就会混乱。这是MacIE的著名的bug,倘若不知道就会走弯路。

12、是否重设了默认的样式?

  某些属性如margin、padding等,不同浏览器会有不同的解释。因此最好在开发前首先将全体的margin、padding设置为0、列表样式设置为none等。