关于学习DIV+CSS的一些精妙问答

作者:网络 来源:佚名 更新时间:2008-01-04 13:19:52 点击:

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

被点击访问过的超链接样式不在具有hover和active了,解决方法是改变css属性的排列顺序: l-v-h-a

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,但ie解释为20px,解决办法是加上display:inline

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

标准浏览器中固定高度值的容器是不会象ie6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉he ight设置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;。