前端工程师经常遇到的经典css问题

网站建设

一、超链接点击过后hover样式就不出现的问题?

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

二、IE6的margin双倍边距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

三、为什么中火狐浏览器下文本无法撑开容器的高度?

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

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

IE6会自动给其延伸长度。

四、为什么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

五、如何定义1px左右高度的容器?

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

六、怎么样才能让层显示在FLASH之上呢?

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

<a ”http://www.eeice.com/”>:</a>

<pre lang=”html” line=”1″>

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

七、怎样使一个div层居中于浏览器中?

<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>

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

八、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;  值得注意的一点就是,要设置好b的宽度,否则会不起作用

http://www.xieguang133.com

 

继续阅读